(function () {
    var stringIs = function (expected, compared) {
		return expected === compared;
	};
	
	var stringHas = function (needle, haystack) {
		return haystack.indexOf(needle) > -1;
	};
	
	var getElementsByClassName = function (className, parentElement, nodeName, exactMatch) {
		if (!className) return null;
		
		parentElement = parentElement || document.body;
		nodeName      = nodeName      || '*';
		
		compareCallback = ((!!exactMatch) ? stringIs : stringHas);
		
		var elements, element, out;
		
		elements = parentElement.getElementsByTagName(nodeName);
		out      = [];
		
		for (var i = 0; i < elements.length; i++) {
			element = elements[i];
			
			if (compareCallback(className, element.className)) {
				out.push(element);
			}
		}
		
		return out;
	}
	
	var correctEmail = function () {
		var a;
		a = document.createElement('a');
		a.setAttribute('title', 'Click here to email ');
		
		return function (element) {
			var emailAddress, anchor;
			
			emailAddress = element.innerHTML;
			emailAddress = emailAddress.replace(' AT ', '@');
			emailAddress = emailAddress.replace(' DOT ', '.');
			
			anchor = document.createElement('a');
			anchor.setAttribute('href', 'mailto:' + emailAddress);
			anchor.appendChild(document.createTextNode(emailAddress));
			
			element.innerHTML = '';
			element.appendChild(anchor);
		};
	}();
	
	window.onload = function () {
		correctEmail(getElementsByClassName('email')[0]);
	};
})();