/*  ***************************************
email.js

Spamsichere E-Mail-Adressen in klickbare
mailto-Adressen umwandeln

Beispiel:
<span class="emailad">info[at]home.com</span>
wird zu
<span class="emailad"><a href="mailto:info@home.com">info@home.com</a></span>

Datum: November 2008
Autor: Michael Raith
Mail:  info@raith.it
Web:   http://www.raith.it 

*************************************** */

// css Klasse des die E-Mail-Adressen umgebenden tags zB <span>
var email_class = 'emailad';

// Trennzeichen statt '@'
var email_at = '[at]';

// Beim laden der Seite...
window.onload = function () {
	
	// ...checken, ob DOM scripting unterstützt wird
	if (!document.getElementById || !document.createTextNode) {return;}

	// ...checken, ob Elemente mit spamsicheren E-Mail-Adressen auf der Seite sind	
	var elems = helpers.getElementsByClass(email_class);
	
	// wenn Ja: Umwandeln in klickbare mailto-Adressen
	if (elems) {
			eMail.convertAddresses(elems);			
	}
	else {return;}
}

eMail = {		
	
	// für jedes Element die E-Mail-Adresse in mailto-Links umwandeln
	convertAddresses:function(elems){		
		for(var i = 0; i < elems.length; i++) {
			var email = elems[i];
			var address= email.firstChild.data;
			var address = address.replace(email_at,'@');
			email.innerHTML = '<a href="mailto:'+address+'">'+address+'</a>';
		}
		return;
	}

}

helpers = {
	
	// Alle Elemente mit einer bestimmten CSS-Klasse in einem Array speichern und zurück geben
	getElementsByClass:function(name) {
		
		var elements = new Array();
		var allElems = document.getElementsByTagName('*');
		for (var i = 0; i < allElems.length; i++) {
			var thisElem = allElems[i];
			if (thisElem.className && thisElem.className == name) {
				elements.push(thisElem);
			}
		}
		if(elements.length > 0) {
			return elements;
		}
		else return false;
	}	
	
}


