//stores reference to last menu used in dropdowns
var prevMenu;

function changeImages() {
	document.getElementById(this.o).src = this.oImg;
}

function cancelHide() {
	if (this.tid) {
		clearTimeout(this.tid);
	}
}

function show() {
	this.cancelHide();
	
	if (prevMenu && prevMenu!=this.oID) {
		eval(prevMenu+"Obj.hideCallback();");
		eval(prevMenu+"Obj.cancelHide();");
	}
	
	prevMenu = this.oID;
	var temp_ref = document.getElementById(this.oID);
	temp_ref.style.display = "block";
}

function hide() {
	//if (this.oID!=prevMenu) {
		this.tid = eval("setTimeout('"+this.oID+"Obj.hideCallback()', 800);");
	//}
}

function hideCallback() {
	if (this.oID) {
		document.getElementById(this.oID).style.display = 'none';
	}
	//this.oImg = this.oOut;
	//this.changeImages();
}

//first object attempt
function navmaker(id, dd) {
	//properties
	if (dd) {
		this.oID = id+'_dd'; //dropdown id
	} else {
		this.oID = '';
	}
	
	this.o = id; //rollover id
	this.oImg;
	this.tid;
	
	//create path for original and rollover images
	//this.oOut = document.getElementById(id).src;
	//this.oOver = this.oOut.substr(0, this.oOut.lastIndexOf("."))+"_o"+this.oOut.substr(this.oOut.lastIndexOf("."));
	
	//methods
	this.show = show;
	this.hide = hide;
	this.hideCallback = hideCallback;
	this.cancelHide = cancelHide;
	//this.changeImages = changeImages;
	
	//init event handlers for dropdowns and rollovers
	//if (dd) {
		//document.getElementById(this.oID).onmouseover = function() { alert('a'); eval(this.id+"Obj.cancelHide();"); }
		//document.getElementById(this.oID).onmouseout = function() { eval(this.id+"Obj.hide();"); }
	//}
	var dd_obj = document.getElementById(this.oID);
	var tn;
	for (var i=0;i<dd_obj.childNodes.length;i++) {
		if (dd_obj.childNodes[i].nodeName.toLowerCase()=="li") {
			dd_obj.childNodes[i].firstChild.pID = this.oID;
			dd_obj.style.display = "block";
			if (dd_obj.childNodes[i].firstChild.offsetWidth > tn || tn == undefined) {
				tn = dd_obj.childNodes[i].firstChild.offsetWidth;
				dd_obj.style.width = tn+"px";
				//alert(tn);
				
			}
			dd_obj.style.display = "none";
			//return;
			dd_obj.childNodes[i].firstChild.onmouseover = function() { eval(this.pID+"Obj.cancelHide();"); }
		}
	}
	/*dd_obj.style.display = "block";
	dd_obj.style.height = dd_obj.scrollHeight+"px";
	dd_obj.style.width = dd_obj.scrollWidth+"px";
	dd_obj.style.display = "none";*/
	
	document.getElementById(this.o).onmouseover = function() { eval(this.id+"_ddObj.show();"); }
	if (dd) {
		document.getElementById(this.o).onmouseout = function() { eval(this.id+"_ddObj.hide();"); }
	} else {
		document.getElementById(this.o).onmouseout = function() { eval(this.id+"_ddObj.hideCallback();"); }
	}
}

function preloadImages() {
	var d=document;
	
	if(d.images) {
		if (!d.pre) {
			d.pre=new Array();
		}
		
		var i,j=d.pre.length,a=preloadImages.arguments;
		for(i=0; i<a.length; i++) {
			if (a[i].indexOf("#")!=0) {
				d.pre[j]=new Image; d.pre[j++].src=a[i];
			}
    	}
    }
}

function initDropDowns() {	
	var lis = document.getElementsByTagName('li');
	
	for (var i=0;i<lis.length;i++) {
		if (lis[i].className=='nav') {
			//alert(lis[i].id);
			if (document.getElementById(lis[i].id+'_dd')) { //init navigation with dropdown
				eval(lis[i].id+"_ddObj = new navmaker('"+lis[i].id+"',true);");
			} else { //init navigation without dropdown
				eval(lis[i].id+"_ddObj = new navmaker('"+lis[i].id+"',false);");
			}
		}
	}
	
	//preload rollover images
	//preloadImages(siteURL+'/images/nav_au_o.gif',siteURL+'/images/nav_os_o.gif',siteURL+'/images/nav_eo_o.gif',siteURL+'/images/nav_n_o.gif',siteURL+'/images/nav_ce_o.gif',siteURL+'/images/nav_cu_o.gif');
}

addLoadEvent(initDropDowns);