
// ----------- Open PDF File links in new windows -----------------

/*
JSTarget function based on JSTarget by Roger Johansson, www.456bereastreet.com
*/
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)) ? 'nonHtml' : val;
			var strWarning = ((typeof warning == 'undefined') || (warning == null)) ? ' (document, opens in a new window)' : warning;
			var oWarning;
			var oWarning2;
			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("span");
					oWarning2 = document.createElement("em");
					oWarning2.appendChild(document.createTextNode(strWarning));
					oWarning.appendChild(oWarning2);
					oLink.appendChild(oWarning);
					oLink.setAttribute('title', 'Document link, opens in a new window');
					oLink.onclick = JSTarget.openWin;
				}*/
				if (oLink.getAttribute('href')) {
            		var linkval = oLink.getAttribute('href');
					var fileExtension = linkval.toLowerCase().substring((linkval.length-4), linkval.length);
					//if (linkval.toLowerCase().substring((linkval.length-4), linkval.length).indexOf('.pdf') == 0) {
					if (fileExtension.indexOf('.pdf') == 0 || fileExtension.indexOf('.doc') == 0) {
						oWarning = document.createElement("span");
						oWarning2 = document.createElement("em");
						oWarning2.appendChild(document.createTextNode(strWarning));
						oWarning.appendChild(oWarning2);
						oLink.appendChild(oWarning);
						oLink.setAttribute('title', 'Document link, opens in a new window');
						oLink.setAttribute('class', 'nonHtml');
						oLink.setAttribute('className', 'nonHtml');
						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();});


// ----------- Fix IE Background Cache flicker -----------------
try {
  document.execCommand("BackgroundImageCache", false, true);
} catch(err) {}


/* ----- External Links - Set title attribute ---- */

var JSExternal = {
	init: function(att,val,warning) {
		if (document.getElementById && document.createElement && document.appendChild) {
			var strAtt = 'class';
			var strVal = 'externalLink';
			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)))) {
					oLink.setAttribute('title', 'External link');
				}
			}
		}
	},
	openWin: function(e) {
		alert ('in openWin');
		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]);
		}
	}
};

JSExternal.addEvent(window, 'load', function(){JSExternal.init();});


