//Javascript
var active_submenu1 = null;
var active_submenu2 = null;
var active_submenu3 = null;

var active_topelem = null;
var active_menuelem = null;
var active_subelem = null;

var yoffset_lvl1 =16;
var yoffset_lvl2 = 9;
var yoffset_lvl3 = 0;

var xoffset_lvl1 = 18;
var xoffset_lvl2 = -12;
var xoffset_lvl3 = 0;

var menu_close_timeout = 0;
var delay = 500;
var menugroup, swapstate, topval;
var isMac = (navigator.appVersion.indexOf("Mac") != -1) ? 1 : 0;
function changecolor(objId,clsname) {
	stoptimer();
	document.getElementById(objId).className = clsname;
}
function setLayerVis(objId,type,xval,yval){
	if (type == "visible"){
		document.getElementById(objId).style.left = xval;
		document.getElementById(objId).style.top = yval;
	}
	document.getElementById(objId).style.visibility = type;
}
function closeallmenus() { 	
	(active_submenu1 != null) ? setLayerVis(active_submenu1,'hidden',null,null,null,null) : null; 
	(active_submenu2 != null) ? setLayerVis(active_submenu2,'hidden',null,null,null,null) : null;
	(active_submenu3 != null) ? setLayerVis(active_submenu3,'hidden',null,null,null,null) : null;
	//(active_topelem != null) ? changecolor(active_topelem,'menuitems') : null;
	(active_menuelem != null) ? changecolor(active_menuelem,'menuitem') : null;
	(active_subelem != null) ? changecolor(active_subelem,'menuitem') : null;	
}
function closeall() { menu_close_timeout = setTimeout('closeallmenus()',delay); }
function stoptimer(){ clearTimeout(menu_close_timeout); }
function controlsubmenu(submenu1, topelem, submenu2, menuelem, submenu3, subelem){
	stoptimer();
	closeallmenus();
	if (submenu1 != null){
		xval = document.getElementById(topelem).offsetLeft+xoffset_lvl1;
		yval = document.getElementById(topelem).offsetTop+yoffset_lvl1;
		setLayerVis(submenu1,'visible',xval,yval);
		active_submenu1 = submenu1;
	}
	(topelem != null) ? active_topelem = topelem : null;
	if (submenu2 != null) {
		//top level element + menu width + any offset by user
		xvalsub = document.getElementById(topelem).offsetLeft; 
		xvalsub = xvalsub + Number((document.getElementById(submenu1).style.width).substr(0,(document.getElementById(submenu1).style.width.length-2)));
		xvalsub = xvalsub + xoffset_lvl1 + xoffset_lvl2;
		s = String(menuelem);
		ynum = Number(s.substr((s.lastIndexOf("_") + 1), s.length));
		yvalsub = document.getElementById(topelem).offsetTop + (20*ynum-20) + yoffset_lvl1 + yoffset_lvl2;
		setLayerVis(submenu2,'visible',xvalsub,yvalsub);
		active_submenu2 = submenu2;
	}
	if (menuelem != null){
		changecolor(menuelem,'menuitemover');
		active_menuelem = menuelem;
	}
	if (submenu3 != null) {
		xvalsubsub = document.getElementById(topelem).offsetLeft; 
		xvalsubsub = xvalsubsub + Number((document.getElementById(submenu1).style.width).substr(0,(document.getElementById(submenu1).style.width.length-2)));
		xvalsubsub = xvalsubsub + Number((document.getElementById(submenu2).style.width).substr(0,(document.getElementById(submenu2).style.width.length-2)));
		xvalsubsub = xvalsubsub + xoffset_lvl1 + xoffset_lvl2 + xoffset_lvl3;
		smenuelem = String(menuelem);
		ynum1 = Number(smenuelem.substr((smenuelem.lastIndexOf("_") + 1), smenuelem.length));
		ssubelem = String(subelem);
		ynum2 = Number(ssubelem.substr((ssubelem.lastIndexOf("_") + 1), ssubelem.length));
		yvalsubsub = document.getElementById(topelem).offsetTop + (20*ynum1-20) + (20*ynum2-20) + yoffset_lvl1 + yoffset_lvl2 + yoffset_lvl3;
		setLayerVis(submenu3,'visible',xvalsubsub,yvalsubsub);
		active_submenu3 = submenu3;
	}
	if (subelem != null){
		changecolor(subelem,'menuitemover');
		active_menuelem = subelem;
	}
}

function controlsubmenu_2(submenu1, topelem, submenu2, menuelem, submenu3, subelem){
	stoptimer();
	closeallmenus();
	if (submenu1 != null){
		xval = document.getElementById(topelem).offsetLeft+xoffset_lvl1;
		yval = document.getElementById(topelem).offsetTop+yoffset_lvl1;
		setLayerVis(submenu1,'visible',xval,yval);
		active_submenu1 = submenu1;
	}
	(topelem != null) ? active_topelem = topelem : null;
	if (submenu2 != null) {
		//top level element + menu width + any offset by user
		xvalsub = document.getElementById(topelem).offsetLeft; 
		xvalsub = xvalsub + Number((document.getElementById(submenu1).style.width).substr(0,(document.getElementById(submenu1).style.width.length-2)));
		xvalsub = xvalsub + xoffset_lvl1 + xoffset_lvl2;
		s = String(menuelem);
		ynum = Number(s.substr((s.lastIndexOf("_") + 1), s.length));
		yvalsub = document.getElementById(topelem).offsetTop + (20*ynum-20) + yoffset_lvl1 + yoffset_lvl2;
		setLayerVis(submenu2,'visible',xvalsub,yvalsub);
		active_submenu2 = submenu2;
	}
	if (menuelem != null){
		changecolor(menuelem,'menuitemover_2');
		active_menuelem = menuelem;
	}
	if (submenu3 != null) {
		xvalsubsub = document.getElementById(topelem).offsetLeft; 
		xvalsubsub = xvalsubsub + Number((document.getElementById(submenu1).style.width).substr(0,(document.getElementById(submenu1).style.width.length-2)));
		xvalsubsub = xvalsubsub + Number((document.getElementById(submenu2).style.width).substr(0,(document.getElementById(submenu2).style.width.length-2)));
		xvalsubsub = xvalsubsub + xoffset_lvl1 + xoffset_lvl2 + xoffset_lvl3;
		smenuelem = String(menuelem);
		ynum1 = Number(smenuelem.substr((smenuelem.lastIndexOf("_") + 1), smenuelem.length));
		ssubelem = String(subelem);
		ynum2 = Number(ssubelem.substr((ssubelem.lastIndexOf("_") + 1), ssubelem.length));
		yvalsubsub = document.getElementById(topelem).offsetTop + (20*ynum1-20) + (20*ynum2-20) + yoffset_lvl1 + yoffset_lvl2 + yoffset_lvl3;
		setLayerVis(submenu3,'visible',xvalsubsub,yvalsubsub);
		active_submenu3 = submenu3;
	}
	if (subelem != null){
		changecolor(subelem,'menuitemover');
		active_menuelem = subelem;
	}
}