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);
	}
	else {
		el['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();
}


function initLinkBlur(){
	var links=document.getElementsByTagName('a');
	for(var i=0;links[i];i++){
		eLib.addListener(links[i],'focus',linkBlurListener,true);
	}
}

function linkBlurListener(e){
	var el=eLib.getTarget(e);
	if(el.tagName=='A'){
		el.blur();
	}
	else if(el.tagName=='IMG'&&el.parentNode.tagName=='A'){
		el.parentNode.blur();
	}
	return true;
}

convertEaddy = function() {
	var els = document.getElementsByTagName("span");
	var re = getTokenizedExp("eaddy");
	for(var i=0,j=els.length; i<j; i++) {
		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>';
			}
		}
	}
}

function init() {
	initLinkBlur();
	convertEaddy();
}

eLib.addListener(window,'load',init,true);
