//global variable as a reference for the opened pop-up window - init
var win = null; 

//Centred window without toolbars
function popWinCentred(theURL,winName,winW,winH){
//alert(theURL);
	// First, check if window is already open
	if (winAlreadyOpen()) {
	//alert("Window open so bring to front - focus");
		win.focus();
	}else{
		//open the window
		var winX=(screen.availWidth/2)-(winW/2);
		var winY=(screen.availHeight/2)-(winH/2);
		var n = ",width="+winW+",innerwidth="+winW;
		var e = ",height="+winH+",innerheight="+winH;
		var i = ",screenX="+winX+",left="+winX;
		var l = ",screenY="+winY+",top="+winY;
		var features='toolbar=no,location=no,status=no,menubar=no,resizable=no,scrollbars=yes';
		// store window object ref in variable for reference
		win = window.open(theURL,winName,features+n+e+i+l);
	}
};

function winAlreadyOpen() {
	// Checks to see if window is already open (so that it does not need to be reloaded if user clicks it's link again).
	// references global win var. Check all 3 props to make sure window onject exists and is still open.
	if (win && win.open && !win.closed) {
		return true;
	}
};

// EXTERNAL LINKS
var JSTarget = {
	init: function(att,val,warning) {
		if (document.getElementById && document.createElement && document.appendChild) {
			var strAtt = ((typeof att == 'undefined') || (att == null)) ? 'class' : att;
			var strVal = ((typeof val == 'undefined') || (val == null)) ? 'non-html' : val;
			var strWarning = ((typeof warning == 'undefined') || (warning == null)) ? ' (opens in a new window)' : warning;
			var oWarning;
			var arrLinks = document.getElementsByTagName('a');
			var oLink;
			var oRegExp = new RegExp("(^|\\s)" + strVal + "(\\s|$)");
			for (var i = 0; i < arrLinks.length; i++) {
				oLink = arrLinks[i];
				if ((strAtt == 'class') && (oRegExp.test(oLink.className)) || (oRegExp.test(oLink.getAttribute(strAtt)))) {
					oWarning = document.createElement("em");
					oWarning.appendChild(document.createTextNode(strWarning));
					oLink.appendChild(oWarning);
					oLink.onclick = JSTarget.openWin;
				}
			}
			oWarning = null;
		}
	},
	openWin: function(e) {
		var event = (!e) ? window.event : e;
		if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return true;
		else {
		    var oWin = window.open(this.getAttribute('href'), '_blank');
			if (oWin) {
				if (oWin.focus) oWin.focus();
				return false;
			}
			oWin = null;
			return true;
		}
	},
	/*
	addEvent function from http://www.quirksmode.org/blog/archives/2005/10/_and_the_winner_1.html
	*/
	addEvent: function(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]);
		}
	}
};
JSTarget.addEvent(window, 'load', //function(){JSTarget.init("rel","external"," (external website, opens in a new window)");});
function(){JSTarget.init("rel","external","");});
