/*
 * Based on email obfuscation samples at http://www.thany.org/article/73/E-mail_hiding
 */
var email_obfuscation = {
	rot13 : function(input) {
		var coding = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMabcdefghijklmnopqrstuvwxyzabcdefghijklm";
		for (var text = '', i = 0; i < input.length; i++) {
			var ch = input.charAt(i), pos = coding.indexOf(ch);
			if (pos > -1)
				ch = coding.charAt(pos + 13);
			text += ch;
		}
		return text;
	},

	//We include our own copy of Prototype's getElementByClassName in case Prototype isn't available
	getElementsByClassName : function(className, parentElement) {
		var children = (parentElement || document.body).getElementsByTagName('*');
		var elements = [], child, pattern = new RegExp("(^|\\s)" + className + "(\\s|$)");
		for (var i = 0, length = children.length; i < length; i++) {
			child = children[i];
			var elementClassName = child.className;
			if (elementClassName.length == 0) continue;
			if (elementClassName == className || elementClassName.match(pattern))
			  elements.push(child);
		}
		return elements;
	},

	do : function(link) {
		if (link.href.indexOf("mailto:") != 0) {
			//remove nospam text nodes
			var nospams = email_obfuscation.getElementsByClassName('email_obfuscation_nospam', link);
			for(i=0; i<nospams.length; i++) { 
				var n = nospams[i]; 
				n.parentNode.removeChild(n); 
			}
			
			//reverse backwards strings
			if (link.className == 'email_obfuscation_rtl') {
				link.innerHTML = link.innerHTML.split("").reverse().join("");
				link.className = 'email_obfuscation_ltr';
			}

			//decode mailto
			link.href = email_obfuscation.rot13(link.href);
		}
	}
};