/*@cc_on @*/

function getTextFromNode(node) {
	if (!node.nodeType) {
		return "";
	} else if (node.nodeType == 3 && node.data) {
		return node.data;
	} else if (node.nodeType == 1 && node.childNodes && (!node.tagName || (node.tagName.toLowerCase() != "script" && node.tagName.toLowerCase() != "style" && node.tagName.toLowerCase() != "textarea"))) {
		var result = "", child;

		for (child = 0; child < node.childNodes.length; child++)
			result += getTextFromNode(node.childNodes[child]);

		return result;
	} else {
		return "";
	}
}

function getInnerText(e) {
	if (e.innerText)
		return e.innerText;
	else if (e.childNodes)
		return getTextFromNode(e);
	else
		return "";
}

function getAntiSMailto(text) {
	var text;

	text = text.replace(/<?(.*)>$/g, "$1");
	text = text.replace(/DOT/g, ".");
	text = text.replace(/AT/g, String.fromCharCode(8 * 8));
	text = text.replace(/ +/g, "");

	return text;
}

function setURL(url) {
	if (url != "")
		window.location = "mailto:" + url;
}

function elementAntiSMailto(e) {
	setURL(getAntiSMailto(getInnerText(e)));
}

function antisOnKeyPress(event) {
	if (!event)
		var event = window.event;

	if (event.keyCode == 13 || event.keyCode == 10) {
		antisOnClick(event);
		return false;
	}

	return true;
}

function antisOnClick(event) {
	var tg;

	if (!event)
		var event = window.event;

	tg = (event.target) ? event.target : event.srcElement;

	elementAntiSMailto(tg);
}

function addEvent(obj, type, listener) {
	if (obj.addEventListener) {
		obj.addEventListener(type, listener, false);
		return true;
	} else if (obj.attachEvent) {
		obj.attachEvent("on" + type, listener);
		return true;
	}

	return false;
}

function onWindowLoad(event) {
	var elements, element, i;

	elements = document.getElementsByTagName("span");
	for (i = 0; i < elements.length; i++) {
		element = elements[i];

		if (element.className != "exmail")
			continue;


		if (element.style) {
			/*@if (@_jscript_version < 5.6)
			element.style.cursor = "hand";
			@else @*/
			element.style.cursor = "pointer";
			/*@end @*/
		}


		if (!addEvent(element, "click", antisOnClick))
			element.onclick = antisOnClick;

		if (!addEvent(element, "keypress", antisOnKeyPress))
			element.onkeypress = antisOnKeyPress;

		element.tabIndex = 0;
	}
}


function ie_getElementById(str) {
        return document.all[str];
}

function ie_getElementsByTagName(str) {
        return document.all.tags(str);
}

if (document.all && !(document.getElementById || document.getElementsByTagName)) {
        document.getElementById = ie_getElementById;
        document.getElementsByTagName = ie_getElementsByTagName;
}

if (document.getElementsByTagName)
	if (!addEvent(window, "load", onWindowLoad))
		window.onload = onWindowLoad;

