var name = "valcaes";
var domain = "telus.net";
var label = "Contact the Webmaster";
var subject = "CAES website";

/* -------------------- DO NOT EDIT BELOW THIS LINE -------------------- */

function BuildWebmasterEmail() {
	if (!document.getElementById && !document.createElement && !document.createTextNode) return;

    var WebmasterNode = document.getElementById("WebmasterEmail");

	var address = name + "@" + domain;

	AddLinkNode(WebmasterNode, BuildLinkNode(address + "?subject=" + subject, label));
}

function ConvertAddress(address) {
	var at = / at /;
	var dot = / dot /g;
	address = address.replace(at, "@");
	address = address.replace(dot, ".");

	return address;
}

function BuildEmail() {
	if (!document.getElementsByTagName && !document.createElement && !document.createTextNode) return;
	
	var SpanNodes = document.getElementsByTagName("span");
	var CurrNode;
	
	for (var i = SpanNodes.length - 1; i >= 0; i--) {
		CurrNode = SpanNodes[i];
		
		if (CurrNode.className == "email") {
			
			//Get text directly within the SPAN
			var address;
			var text;
			
			var TextNode = CurrNode.getElementsByTagName("span")[0];
			
			if (TextNode) {
				// if the text node is first child of current node, address is second child, else address is first child
				if (TextNode == CurrNode.firstChild) {
					address = ConvertAddress(CurrNode.firstChild.nextSibling.nodeValue);
				} else {
					address = ConvertAddress(CurrNode.firstChild.nodeValue);
				}
				text = address;
				if (TextNode.firstChild) {
					text = TextNode.firstChild.nodeValue;
				}
			} else { // no text node, so contents are the address
				address = ConvertAddress(CurrNode.firstChild.nodeValue);
				text = address;
				
				if (CurrNode.firstChild.nextChild) {
					text = CurrNode.firstChild.nextChild.nodeValue;
				}
			}
			
			AddLinkNode(CurrNode, BuildLinkNode(address, text));
		}
	}
}


function BuildLinkNode(Address, Text) {
	var LinkNode = document.createElement("a");

	LinkNode.setAttribute("href", "mailto:" + Address);
	LinkNode.appendChild(document.createTextNode(Text));

	return LinkNode;
}

function AddLinkNode(NodeToReplace, LinkNode) {
	var ParentNode = NodeToReplace.parentNode;
	
	for (var j = 0; j < ParentNode.childNodes.length; j++) {
		if (ParentNode.childNodes[j] == NodeToReplace) {
			if (!ParentNode.replaceChild) return;
			ParentNode.replaceChild(LinkNode, ParentNode.childNodes[j]);
			break;
		}
	}
}

function addEvent(obj, evType, fn, useCapture){
	if (obj.addEventListener){
		obj.addEventListener(evType, fn, useCapture);
		return true;
	} else if (obj.attachEvent){
		var r = obj.attachEvent("on" + evType, fn);
		return r;
	} else {
		alert("Handler could not be attached");
	}
}

function removeEvent(obj, evType, fn, useCapture){
	if (obj.removeEventListener){
		obj.removeEventListener(evType, fn, useCapture);
		return true;
	} else if (obj.detachEvent){
		var r = obj.detachEvent("on"+evType, fn);
		return r;
	} else {
		alert("Handler could not be removed");
	}
}

addEvent(window, "load", BuildEmail);
addEvent(window, "load", BuildWebmasterEmail);