var compNavArray = new Array();
var currentNavId = "engines_mech";

function Load_CompResultsEventHandler() {
	compNavArray = cssQuery("div#compNav img");
	for (i=0;i<compNavArray.length;i++){
		AttachEvent(compNavArray[i], "mouseover", compNavOnMouseOver);
		AttachEvent(compNavArray[i], "mouseout", compNavOnMouseOut);
		AttachEvent(compNavArray[i], "click", compNavOnClick);
	}
}

//http://www.biasecurities.com/blogs/jim/archive/2005/04/28/1794.aspx
function AttachEvent(elementObj, eventName, eventHandlerFunctionName){
	if (elementObj.addEventListener) { // Non-IE browsers
		elementObj.addEventListener(eventName, eventHandlerFunctionName, false);		
	
	}else if (elementObj.attachEvent) { // IE 6+
		elementObj.attachEvent('on' + eventName, eventHandlerFunctionName);
		
	} else { // Older browsers 
		var currentEventHandler = elementObj['on' + eventName];
		
		if (currentEventHandler == null) {
		  elementObj['on' + eventName] = eventHandlerFunctionName;
		} else {
		  elementObj['on' + eventName] = function(e) { currentEventHandler(e); eventHandlerFunctionName(e); }
		}
	}
}

function compNavOnMouseOver(eventArgs){
	var id = getObjID(eventArgs);
	toggleNavOn(id);
}

function compNavOnMouseOut(eventArgs){
	var id = getObjID(eventArgs);
	toggleOff(id);
}
function compNavOnClick(eventArgs){
	var navId = getObjID(eventArgs);
	var node = document.getElementById(navId);
	currentNavId = navId;
	toggleOffAllNavData();
	toggleNavOn(navId);
	toggleDataOn(navId);
}

function toggleOffAllNavData() {
	for(i=0; i<compNavArray.length; i++) {
		toggleOff(compNavArray[i].id);
	}
}

function toggleNavOn(id) {
	if(document.getElementById){
	  var imageName = document.getElementById(id).src;
 	  imageName = imageName.substring(0, imageName.lastIndexOf("_"))+"_on.jpg";
	  document.getElementById(id).src = imageName;
	}	
}

function toggleDataOn(id) {
	if(document.getElementById){
    	document.getElementById("data_"+id).style.display='block';
	}
}

function toggleOff(id) {
	if(document.getElementById){
		if( id != currentNavId){	
		  var imageName = document.getElementById(id).src;
		  imageName = imageName.substring(0, imageName.lastIndexOf("_"))+"_off.jpg";
		  document.getElementById(id).src = imageName;
		  document.getElementById("data_"+id).style.display='none';
		}
	}
}  

/* UTILITY FUNCTIONS */

function getObjID(eventArgs){
	var displayImageID = (eventArgs.target)? eventArgs.target.id: (eventArgs.srcElement)? eventArgs.srcElement.id: null;
	return displayImageID;
}
  
function replaceAll( str, from, to ) {
    var idx = str.indexOf( from );

    while ( idx > -1 ) {
        str = str.replace( from, to );
        idx = str.indexOf( from );
    }
    return str;
}

function getElemRefs(id) {
    var el = (document.getElementById)? document.getElementById(id): (document.all)? document.all[id]: (document.layers)? getLyrRef(id,document): null;
    if (el) el.css = (el.style)? el.style: el;
    return el;
}


AttachEvent(window, "load", Load_CompResultsEventHandler);