var forcetimer;
var hilitetimer;
var floattimer = new Array();
var hidedelay=2000;
var maxhovers=15;

function forcetriggerover() {
	clearTimeout(forcetimer);
	hilitetimer=hidelayer('hilitemenu',0);	
	closehoverboxesexcept(0);
	showlayer('forcemenu');
}

function forcetriggerout() {
	forcetimer=hidelayer('forcemenu',hidedelay);	
}

function hilitetriggerover() {
	clearTimeout(hilitetimer);
	forcetimer=hidelayer('forcemenu',0);	
	closehoverboxesexcept(0);
	showlayer('hilitemenu');
}

function hilitetriggerout() {
	hilitetimer=hidelayer('hilitemenu',hidedelay);	
}

function forcemenuover() {
//	alert('fmi');
	clearTimeout(forcetimer);
}

function forcemenuout() {
//	alert('fmo');
	forcetimer=hidelayer('forcemenu',hidedelay);	
}

function hilitemenuover() {
	clearTimeout(hilitetimer);
}

function hilitemenuout() {
	hilitetimer=hidelayer('hilitemenu',hidedelay);	
}

function sidemenuover(menunum) {
	clearTimeout(floattimer[menunum]);
	closehoverboxesexcept(menunum);
	hilitetimer=hidelayer('hilitemenu',0);	
	forcetimer=hidelayer('forcemenu',0);	
	showlayer('hoverbox' + menunum);
}

function sidemenuout(menunum) {
	floattimer[menunum]=hidelayer('hoverbox' + menunum,hidedelay);	
}

function hoverboxover(boxnum) {
	clearTimeout(floattimer[boxnum]);
}

function hoverboxout(boxnum) {
	floattimer[boxnum]=hidelayer('hoverbox'+boxnum,hidedelay);	
}

function closehoverboxesexcept(excluded) {
	var i;
	i=1;
	if(!document.getElementById) return;
	
	while ((i<=maxhovers)) {
	//|| document.getElementById('hoverbox'+i)) {
		if(i!=excluded) {
			hidelayer('hoverbox' + i,0); 
		}	
		i++;
	}	
}

var menutimeout;
function showlayer (layer) {
	var layobj;
	if(!document.getElementById) return;
	if(layobj=document.getElementById(layer)) {
		layobj.style.visibility="visible";
		layobj.style.display="block";
	}else if(layobj=document.getElementById(layer + '_t')) {
		layobj.style.visibility="visible";
		layobj.style.display="block";
	}	
}

function showhoverbox(abox) {
	var i;
/*	var acount= ...php print($laycount+0)... */
/*  this variable was set server side, but this value covers it */
	var acount= 15;
		
	for (i=1; i<= acount; i++) {
		if(i == abox) {
			showlayer('hoverbox'+ i);
		} else {	
			hidelayer('hoverbox' + i,0); 
		}
		hidelayer('forcemenu',0); 
		hidelayer('hilitemenu',0); 
	}
}

function hidelayer (layer,timeout) {
	var layobj;
	var mytimer;
	if(timeout) {
		mytimer=setTimeout("hidelayer('"+layer+"',0)",timeout);
	} else {
		if(!document.getElementById) return;
		if(layobj=document.getElementById(layer)) {
			layobj.style.visibility="hidden";
			layobj.style.display="none";
		} else if(layobj=document.getElementById(layer + '_t')) {
			layobj.style.visibility="hidden";
			layobj.style.display="none";
		}
	}
	return mytimer;
	
}
