addEvent( window, 'load', setLinkBehaviours );
addEvent( window, 'load', relNoFollow );

/* thanks to PPK www.quirksmode.org */
function addEvent( obj, type, fn ) 
{
	if (obj.addEventListener)
	{
		obj.addEventListener( type, fn, false );
	}
	else if ( obj.attachEvent ) 
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() 
		{ 
			obj["e"+type+fn]( window.event ); 
		}
		obj.attachEvent( "on"+type, obj[type+fn] );
	} 
}

function removeEvent( obj, type, fn ) 
{
	if ( obj.detachEvent ) 
	{
		obj.detachEvent( "on"+type, obj[type+fn] );
		obj[type+fn] = null;
	} 
	else if (obj.removeEventListener)
	{
		obj.removeEventListener( type, fn, false );
	}
}

var XMLHttpFactories = [ 
	function() { return new XMLHttpRequest() }
	, function() { return new ActiveXObject( 'Msxml2.XMLHTTP' ) }
	, function() { return new ActiveXObject( 'Msxml3.XMLHTTP' ) }
	, function() { return new ActiveXObject( 'Microsoft.XMLHTTP' ) }
];

function GetXmlHttpObject() {
	var xmlHttp = false;
	
	for( var i = 0; i < XMLHttpFactories.length; i++ ) {
		try {
			xmlHttp = XMLHttpFactories[i]();
		} catch(e) {
			continue;
		}
		break;
	}
	return xmlHttp;
}



function setLinkBehaviours() {
	var Links = document.getElementsByTagName( 'A' );
	
	for( var i = 0; i < Links.length; i++ ) {
		if (Links[i].className.indexOf('external') !== -1) {
			Links[i].onclick = function() {
				var FakeLinkWindow = window.open( this.href, 'target', '' );
				return false;
			}
		}
		
	}
}



function relNoFollow()
{
	var FakeLinks = document.getElementsByTagName('span');
	
	if( FakeLinks.length > 0 )
	{
		for( var i = 0; i < FakeLinks.length; i++ )
		{
			if( FakeLinks[i].title.indexOf( 'http://' ) != -1 
				|| FakeLinks[i].title.indexOf( 'https://' ) != -1 )
			{
				FakeLinks[i].className		= 'fl';
				FakeLinks[i].onmouseout 	= fakelinkMouseOut;
				FakeLinks[i].onmouseover 	= fakelinkMouseOver;
				FakeLinks[i].onclick 		= fakelinkClick;
			}
		}
	}
}

function fakelinkMouseOver()
{
	this.className = 'fl-hover';
}

function fakelinkMouseOut()
{
	this.className = 'fl';
}

function fakelinkClick()
{
	window.location = this.title;
	doUrchin( this.title, 'span' );
}
