/**
 * kleines Skript zum Verlinken von unkenntlichen E-Mail Adressen
 * 
 * @version $Id: antispam.js 426 2009-07-05 18:00:27Z andy $
 */

/**
 * verwendet die Domain der aktuellen Seite und kombiniert
 * sie mit einem Namen zu einer E-Mail Adresse, die
 * dann als Linkziel und -text gesetzt wird
 *
 * @param string linkid
 * @param string contact
 * @param string subject
 */
function maillink_domain( linkid, contact, subject ) {
  address = contact + '@' + window.location.hostname;
  
  link = document.getElementById( linkid );
  link.href = 'mailto:' + address + '?subject=' + encodeURI( subject );
  link.innerHTML = address;
}

/**
 * Verlinkt eine (ein wenig) unkenntlich gemachte E-Mail-Adresse,
 * wie zum Beispiel info at example dot com.
 * Es dürfen Leerzeichen verwendet werden, aber die Begriffe für @
 * und . können auch in eigene Elemente eingefasst sein.
 * @param linkid Id des a-Elements
 * @param subject für die E-Mail, die dann geschickt wird
 */
function maillink( linkid, subject ) {
  link = document.getElementById( linkid );
  address = link.innerHTML;
  
  // Weitere HTML-Elemente durch Leerzeichen ersetzen
  address = address.replace(/<[^>]*>/g, ' ' );
  
  // Text, unterbrochen von zwei in Leerzeichen eingeschlossenen Begriffen suchen
  // und entsprechend weider zusammenbauen
  address = address.replace(/([^ ]+)[ ]+[^ ]+[ ]+([^ ]+)[ ]+[^ ]+[ ](.+)/, '$1@$2.$3');
  
  // noch überflüssige Leerzeichen entfernen
  address = address.replace(/[ ]/g, '');
  link.href = 'mailto:' + address + '?subject=' + encodeURI( subject );
  link.innerHTML = address;
}