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.removeEventListener)
	obj.removeEventListener( type, fn, false );
	else if (obj.detachEvent)
	{
		obj.detachEvent( "on"+type, obj[type+fn] );
		obj[type+fn] = null;
		obj["e"+type+fn] = null;
	}
}

function openInNewWindow(e) {
	var event;
	if(!e) event = window.event;
	else event = e;
	if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) {
		return true;
	}
	else {
		var newWindow = window.open(this.getAttribute('href'), '_blank');
		if (newWindow) {
			if (newWindow.focus) {
				newWindow.focus();
			}
			return false;
		}
		return true;
	}
}

function getNewWindowLinks() {
	if (document.getElementById && document.createElement && document.appendChild) {
		var strNewWindowAlert = "";
		var links = document.getElementsByTagName('a');
		var objWarningText;
		var link;
		for (var i = 0; i < links.length; i++) {
			link = links[i];
			if(/\bexternal\b/.test(link.className)) {
				objWarningText = document.createElement("em");
				objWarningText.appendChild(document.createTextNode(strNewWindowAlert));
				link.appendChild(objWarningText);
				link.onclick = openInNewWindow;
			}
		}
		objWarningText = null;
	}
}
addEvent(window, 'load', getNewWindowLinks);


