// Initializes listeners
function initListeners(e) {
	
	if (!document.getElementById || !document.getElementsByTagName || !document.createElement) {
   		return;
 	}
	
	var buttonImage = document.getElementById('tommie-button-right');
	if(buttonImage != undefined){
		addEvent(buttonImage, 'mouseover', swapImage, false);
		addEvent(buttonImage, 'mouseout', swapImage, false);
	}
	var arrowLeftImage = document.getElementById("arrow-left");
	if(arrowLeftImage != undefined){
		addEvent(arrowLeftImage, 'mouseover', swapImage, false);
		addEvent(arrowLeftImage, 'mouseout', swapImage, false);
	}
	var arrowRightImage = document.getElementById("arrow-right");
	if(arrowRightImage != undefined){
		addEvent(arrowRightImage, 'mouseover', swapImage, false);
		addEvent(arrowRightImage, 'mouseout', swapImage, false);
	}
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors.length; i++){
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external"){
			anchor.title += " (opens in a new window)";
			addEvent(anchors[i], 'click', openWindow, false);
		}
	}
}

// Portable Add event
/***************************************************************************/
function addEvent(obj, evType, fn, useCapture){		
	if (obj.addEventListener){
		obj.addEventListener(evType, fn, useCapture);
		return true;	
	} else if (obj.attachEvent){
		var r = obj.attachEvent("on" + evType, fn);
		return r;	
	} else {
		obj["on" + evType] = fn;
		return true;
	}	
	//alert("Handler could not be attached");
	return false;
}
// Returns the target of an event
/***************************************************************************/
function _getTargetName(e) {
	var target;		
	if(window.event){
		target = window.event.srcElement;
	}	
	if(e){
	    target = e.target ? e.target : e.srcElement;
	}	
	if(!target) return false;	
	return target;
}

// Returns event that was fired
/***************************************************************************/
function getEvtType(e){	
	var evtType;	
	if(window.event){		
		evtType = window.event.type;		
	}else if(e){		
		evtType = e.type;
	}	
	return evtType;
}
// Stops event bubbling up the DOM tree
/***************************************************************************/
function stopPropagation(e) {
	if (e.preventDefault) {
		e.preventDefault();
		e.stopPropagation();
	}else{
		e.returnValue = false;
		e.cancelBubble = true;
	}
}

// Returns reference to target element parent
/***************************************************************************/
function getParent(target, look4This){	
	var look4This = look4This.toLowerCase();	
	while(target.nodeName.toLowerCase() != 'body' && target.nodeName.toLowerCase() != look4This){		
		target = target.parentNode;
	}	
	if(target.nodeName.toLowerCase() != look4This) {
		return false;
	}	
	return target;
}
// Initializes our page
/***************************************************************************/
function initPage(e){
	initListeners(e);
}

function openWindow(e){
	var target = _getTargetName(e);
	if(target.tagName=="IMG"){
		target = target.parentNode;
	}
	
	var link_url = target.href;
	window.open(link_url);
	stopPropagation(e);
}

function swapImage(e){
	var state;
	var target = _getTargetName(e);
	var src = target.src;
	var stateInt = src.indexOf("-off.gif");
	if(stateInt < 0){
		stateInt = src.indexOf("-on.gif");
		state = "ON";
	}else{
		state = "OFF";
	}
	var name = src.slice(0, stateInt);
	if(state == "ON"){
		new_src = name + "-off.gif"
	}else{
		new_src = name + "-on.gif"
	}
	target.src = new_src;
}

addEvent(window, 'load', initPage, false);
