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);};

String.prototype.trim=function(){
	return this.replace(/^\s+|\s+$/g,'');
};
String.prototype.normalize=function(){
	return this.trim().replace(/\s\s+/g,' ');
};
function removeClass(el,cls){
	el.className=el.className.replace(getTokenizedExp(cls,'g'),' ').normalize();
}
function addClass(el,cls){
	removeClass( el, cls );//prevent duplicates
	if( el.className != '' ) {
		el.className = el.className + ' ';
	}
	el.className = cls
}

initLinkBlur=function(){var links=document.getElementsByTagName('a');for(var i=0;links[i];i++){eLib.addListener(links[i],'focus',this.linkBlurListener,true);}};
linkBlurListener=function(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;};

//----- Start Tabs

/*
var CURRENT_BTN = null;
var CURRENT_PNL = null;
var BTN_CONTAINER = 'TabPanelList';
var PNL_CONTAINER = 'TabPanels';
var BTN_ACTIVE = 'current';
var PNL = 'panel';// used to apply the tab panel style and positioning properties
var PNL_ACTIVE = 'panelShow';// used to display the current tab panel

function tabListener(e) {
	clearCurrentTabPanel();
	clearCurrentTabButton();

	var targ = eLib.getTarget(e);
	setCurrentTabPanel( targ.hash.substring(1) );
	setCurrentTabButton( targ );

	eLib.preventDefault(e);
	return false;
}

function getTabPanels() {
	var container = document.getElementById(PNL_CONTAINER);
	if( container != null ) {
		return container.getElementsByTagName('div');
	}
	return null;
}

function setCurrentTabPanel( id ) {
	var panel = document.getElementById( id );
	if( panel != null ) {
		removeClass( panel, PNL );
		panel.className = panel.className + PNL_ACTIVE;
		CURRENT_PNL = panel;
	}
}

function clearCurrentTabPanel() {
	if( CURRENT_PNL != null ) {
		removeClass( CURRENT_PNL, PNL_ACTIVE );
		CURRENT_PNL.className = CURRENT_PNL.className + PNL;
		CURRENT_PNL = null;
	}
}

function getTabButtons() {
	var container = document.getElementById(BTN_CONTAINER);
	if( container != null ) {
		return container.getElementsByTagName('a');
	}
}

function setCurrentTabButton( el ) {
	if( el != null ) {
		el.parentNode.className = el.parentNode.className  + BTN_ACTIVE;
		CURRENT_BTN = el;
	}
}

function clearCurrentTabButton() {
	if( CURRENT_BTN != null ) {
		removeClass( CURRENT_BTN.parentNode, BTN_ACTIVE );
		CURRENT_BTN = null;
	}
}

function getTargetIdFromURL() {
	return location.hash.substring(1);
}

function isTabPanel( el ){
	return (el.parentNode.id == PNL_CONTAINER);
}

function getPanelButton( id ) {
	var buttons = getTabButtons();
	for( i = 0; i < buttons.length; i++ ) {
		if( buttons[i].href.indexOf('#' + id ) > -1 ) {
			return buttons[i];
		}
	}
	return null;
}

function initTabs() {
	var panels = getTabPanels();
	var buttons = getTabButtons();
	if( panels != null && buttons != null ) {
		for( i = 0; i < panels.length; i++ ) {
			if( isTabPanel( panels[i] ) ) {
				addClass( panels[i], PNL );
			}
		}
		for( i = 0; i < buttons.length; i++ ) {
			eLib.addListener(buttons[i],'click',tabListener,true);
		}
		var id = getTargetIdFromURL();
		if( id != '' ) {
			setCurrentTabPanel( id );
			setCurrentTabButton( getPanelButton( id ) );
		}
		else {
			id = panels[0].id
			setCurrentTabPanel( id );
			setCurrentTabButton( getPanelButton( id ) );
		}
	}
}

eLib.addListener( window, 'load', initTabs, false);
*/

//----- End Tabs

function externalLinks() {
	var els = document.getElementById('Content').getElementsByTagName("a");
	if( els != null) {
		for (var i = 0; i < els.length; i++) {
			if ( els[i].getAttribute("rel") == "external" ) {
				els[i].target = "_blank";
			}
		}
	}
}

eLib.addListener( window, 'load', initLinkBlur, false);
//eLib.addListener( window, 'load', externalLinks, false);

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);

