﻿// JavaScript Document
// Event Listener Class
// Used to attach event listener to elements according to browser
var EventUtil = new Object;
EventUtil.addEventHandler = function (oTarget, sEventType, fnHandler) {
	if (oTarget.addEventListener) {
		oTarget.addEventListener(sEventType, fnHandler, false);
	} else if (oTarget.attachEvent) {
		oTarget.attachEvent("on" + sEventType, fnHandler);
	} else {
		oTarget["on" + sEventType] = fnHandler;
	}
};
// Set the Class for the externalLinks
var externalLinksClass = 'external';

// Event Listener Handler Function
var externalLinkClick = function(){
	var elementClicked = (window.event) ? window.event.srcElement : arguments[0].currentTarget;
	var linkTo = elementClicked.getAttribute('href');
	var externalWindow = window.open(linkTo);
	if (this.focus){
		externalWindow.focus();
	}
	elementClicked.href = '';
	return false;
}
// Function to call when the window loads
var chkInitializer = function(){
	var externalLinks = new Array;
	var pageLinks = document.getElementsByTagName('a');
	// Add Checkboxes to Array
	for (i=0; i<pageLinks.length; i++){
		if (pageLinks[i].className == externalLinksClass){
			externalLinks.push(pageLinks[i]);
		}
	}
	// Attach Event Listener to Links
	for (i = 0; i < externalLinks.length; i++){
		var curExternalLink = externalLinks[i];
		curExternalLink.setAttribute('title','Opens in a new window');
		EventUtil.addEventHandler(curExternalLink, "click", externalLinkClick);
	}
}

window.onload = function(){
	chkInitializer();
}