var setExternalLinks = function(localDomains){
    if (typeof localDomains == 'undefined')
        localDomains = [];

	var localDomain = (location.href.split('/')[2]);
	var localExtensionsInNewWindow = Array('doc','xls','pdf','jpg');
	var regexp = new RegExp('newtab');
	var list = document.getElementsByTagName('A');
	var listlength = list.length;
	for (var i = 0; i < listlength; i++){
		var aEl = list[i];
		var aElHref = aEl.href;
		// check for extensions
		var extension = (aElHref.substring(aElHref.length - 4,aElHref.length)).toLowerCase();
		var foundExtension = false;
		var localExtensionsInNewWindowlength = localExtensionsInNewWindow.length;
		for (var j = 0; j < localExtensionsInNewWindowlength; j++){
			if (extension == '.' + localExtensionsInNewWindow[j]){
				foundExtension = true;
				break;
			}
		}

		// check for local domains
		var foundInLocalDomains = false;
		var localDomainslength = localDomains.length;
		for (var j = 0; j < localDomainslength; j++){
			if (aElHref.split('/')[2] == localDomains[j]){
				foundInLocalDomains = true;
				break;
			}
		}
		if (aEl.className == 'open') {
			break;
		}

		// open in new window if conditions are right
		if ((aElHref.split('/')[2] != localDomain &&  (!foundInLocalDomains) && aElHref.indexOf('mailto:') == -1 && aElHref.indexOf('javascript:') == -1) || foundExtension){
			if (!aEl.className.match(regexp)) aEl.className += ' newtab';
			aEl.onclick = function(){
				window.open(this.href);
				return false;
			}
		}// else if ((0 == aElHref.indexOf('mailto:')) && !aEl.className.match(regexp)) aEl.className += ' newtab';
	}
};

if (typeof document.addEvent != 'undefined')
    document.addEvent('domready', setExternalLinks);
else if (typeof addEvent != 'undefined')
	addEvent(window, "DOMContentLoaded", setExternalLinks);
else if (window.addEventListener)
	window.addEventListener("load", setExternalLinks, false);
else if (window.attachEvent)
	window.attachEvent("onload", setExternalLinks);
else if (joinFunctions)
	window.onload = joinFunctions(window.onload, setExternalLinks);