/*
requires events.js loaded
*/

function changeAdresse(span) {
	var spans = span.getElementsByTagName('span');
	if (spans.count < 6) {
		return;
	}
	var beforeAt = spans[1].firstChild.nodeValue;
	var afterAt = '';
	for (var i = 5; i < spans.length-1; i++) {
		afterAt += spans[i].firstChild.nodeValue;
	}
	if (spans[3].childNodes.length > 0) {
		spans[3].firstChild.nodeValue = '@';
	}
	if (!document.createElement || !span.childNodes || !span.removeChild) {
		return;
	}
	for (var i = spans.length-1; i >= 0; i--) {
		span.removeChild(spans[i]);
	}
	var link = document.createElement('a');
	link.setAttribute('href', 'mailto:'+beforeAt+'@'+afterAt);
	link.setAttribute('title', beforeAt+'@'+afterAt);
	if (span.childNodes.length > 0) {
		var text = span.childNodes[0];
		span.removeChild(text);
		link.appendChild(text);
	} else {
		link.appendChild(document.createTextNode(beforeAt+'@'+afterAt));
	}
	span.appendChild(link);
	var parent = span.parentNode;
	if (parent.tagName.toLowerCase() == 'a' && parent.hasAttribute('href') && parent.childNodes.length == 1) {
		// remove parent link
		parent.removeChild(span);
		parent.parentNode.insertBefore(span, parent);
		parent.parentNode.removeChild(parent);
	}
}

function changeAdressen() {
	if (document.getElementsByTagName) {
		var spans = document.getElementsByTagName('span');
		for (var i = 0; i < spans.length; i++) {
			if (spans[i].className == 'mail') {
				changeAdresse(spans[i]);
			}
		}
	}
}

addListener(window, 'load', changeAdressen, false);

