function getElementsByClassName(className, tag, elm){

  //http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/

	var testClass = new RegExp("(^|\\\\s)" + className + "(\\\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;

}

window.onload = function() {

  var a = getElementsByClassName('mail', 'span');

  for(var i = 0; i < a.length; i ++) {

    var addr = a[i].innerHTML;

    var parts = addr.split(' -AT- ');

    var name = parts[0];

    var parts = parts[1].split(' -D0T- ');

    var domain = parts[0] + '.' + parts[1];

    var el = document.createElement("a");
    el.setAttribute('href', 'mailto:' + name + '@' + domain);
    el.innerHTML = name + '@' + domain;;

    a[i].parentNode.insertBefore(el, a[i]);
    a[i].parentNode.removeChild(a[i]);

  }

}
