var eLib=new Object();
eLib.getTarget=function(e){ return e&&e.target?e.target:(window.event)?event.srcElement:null;};
eLib.stopPropagation=function(e){ e.stopPropagation?e.stopPropagation():this.cancelBubble=true;};
eLib.preventDefault=function(e){ e.preventDefault?e.preventDefault():this.returnValue=false;};
eLib.addListener=function(el,evt,fn,capture){
	if(el.addEventListener){
		el.addEventListener(evt,fn,capture);
		return true;
	}
	else if(el.attachEvent){
		return el.attachEvent('on'+evt,fn);
	}
	return true;
};
eLib.removeListener=function(el,evt,fn,capture){
	if(el.removeEventListener) {
		el.removeEventListener(evt,fn,capture);
	}
	else if(el.detachEvent) {
		el.detachEvent('on'+evt,fn);
	}
	return true;
}

var TokenizedExps={};
function getTokenizedExp(token,flags){
	var x=TokenizedExps[token];
	if(!x)x=TokenizedExps[token]=new RegExp('(^|\\s)'+token+'($|\\s)',flags);
	return x;
};
function hasToken(str,token){
	return getTokenizedExp(token,'').test(str);
};

var trimExp=/^\s+|\s+$/g;
String.prototype.trim=function(){return this.replace(trimExp,'');};
var spacesExp=/\s\s+/g;
String.prototype.normalize=function(){return this.trim().replace(spacesExp,' ');};
function removeClass(el,cls){
	el.className = el.className.replace(getTokenizedExp(cls,'g'),' ').normalize();
}

convertEaddy = function() {
	var els = document.getElementsByTagName("span");
	var re = getTokenizedExp("eaddy");
	for(var i=0,j=els.length; i<j; i++) {
		try {		
			if( re.test(els[i].className) ) {
				addy = els[i].innerHTML;
				if( addy.trim() != "" ) {
					addy = addy.replace( /<[/]?([^> ]+)[^>]*>/g , "" );
					els[i].innerHTML = '<a href="mailto:' + addy + '">' + addy + '</a>';
				}
			}
		}
		catch( err ){
			// ignore
		}
	}
}
eLib.addListener( window, 'load', convertEaddy, false);
