
var g = {
	addEvent: function(elm, evType, fn, useCapture){
		if (elm.addEventListener){
			elm.addEventListener(evType, fn, useCapture);
			return true;
		} else if (elm.attachEvent) {
			var r = elm.attachEvent('on' + evType, fn);
			return r;
		} else {
			elm['on' + evType] = fn;
		}
	},
	
	stopDefault:function(e){
		if(window.event){
			window.event.returnValue = false;
		} 
		if (e && e.preventDefault){
			e.preventDefault();
		}
	}		
}

// start event delegation
eventDelegation = {

	bodyTest:function() {
		if(!document.getElementById || !document.createElement){return;}
		var docBody = document.getElementById("wrapper");
		g.addEvent(docBody, 'click', eventDelegation.popupClickHandler, false);
	},
	
	/* ------------------ POPUPS ------------------------------------*/
	
		popupClickHandler:function(e) {
			var e = e || window.event;	
			var trigger = e.target || e.srcElement;
			var triggerParent = trigger.parentNode;
					
			// Get target href or target parent href.  This will be used to determine what page is opened
			if (trigger.nodeName.toLowerCase() === "a") {
				var thisLink = trigger.href;
			} else if (triggerParent.nodeName.toLowerCase() === "a") {
				var thisLink = triggerParent.href;
			} else {
				return;
			}
			//Standard Popups
			if ((trigger.className && (" "+trigger.className+" ").indexOf(" popup ")!=-1 ) || (triggerParent.className && (" "+triggerParent.className+" ").indexOf(" popup ")!=-1 )) {			
				window.open(thisLink); 
				g.stopDefault(e);
				return false;
			}
		},
	
}
// end event delegation
	
	

/*
----------------- 1. Load events on page load -----------------------------*/
       
	g.addEvent(window, 'load', eventDelegation.bodyTest, false);

