function initialize()
{
    externalLinks();
}

addEvent(window, "load", initialize, false);

function addEvent(elm, evType, fn, useCapture)
{
	if (elm.addEventListener)
	{
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}
	else if (elm.attachEvent)
	{
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}
	else
	{
		elm['on' + evType] = fn;
	}
}

function addLoadListener(fn)
{
    if (typeof window.addEventListener != "undefined")
    {
        window.addEventListener("load", fn, false);
    }
    else if (typeof document.addEventListener != "undefined")
    {
        document.addEventListener("load", fn, false);
    }
    else if (typeof window.attachEvent != "undefined")
    {
        window.attachEvent("onload", fn);
    }
    else
    {
        var oldfn = window.onload;
        
        if (typeof window.onload != "function")
        {
            window.onload = fn;
        }
        else
        {
            window.onload = function()
            {
                oldfn();
                fn();
            };
        }
    }
}

// ANY <a href> ELEMENT THAT HAS rel="external" SHOULD OPEN IN A NEW WINDOW.
// THIS GETS RID OF THE NEED TO RELY ON THE DEPRACATED target="_blank"
function externalLinks()
{
	// CHECK TO MAKE SURE 'getElementsByTagName' WORKS
	if (!document.getElementsByTagName) return;
	
	// GRAB ALL <a> ELEMENTS IN THE DOCUMENT
	var anchors = document.getElementsByTagName("a");
	
	for ( var i=0; i < anchors.length; i++ )
	{
		var anchor = anchors[i];
		
		// FIRST WE CHECK TO MAKE SURE THERE *IS* AN href ATTRIBUTE (THERE MUST BE FOR LINKS THAT CHANGE THE PAGE),
		// THEN WE CHECK TO MAKE SURE THE rel ATTRIBUTE IS SET TO "external"
		if ( anchor.getAttribute("href") && anchor.getAttribute("rel") == "external" )
		{
			anchor.target = "_blank";
		}
	}
}
