//Javascript
var yoffset_lvl1 = -39;
var yoffset_lvl2 = 0;

var xoffset_lvl1 = 0;
var xoffset_lvl2 = 0;

var height = 20;
var width = 110;

var padding = (5+1);

var isWin = (navigator.appVersion.indexOf("Win") != -1) ? true : false;
var isMac = (navigator.appVersion.indexOf("Mac") != -1) ? true : false;
var isIE = (navigator.appName.indexOf("Microsoft") != -1) ? true : false;
var isNN = (navigator.appName.indexOf("Netscape") != -1) ? true : false;
var isSF = (navigator.appVersion.indexOf("Safari") != -1) ? true : false;

//menus
var active_submenu1 = null;// smt -> sub menu (table/layer)
var active_submenu2 = null;// ssm -> sub sub menu

//menu items
var active_topelem = null; //mmi -> top menu item
var active_menuelem = null;//smi -> sub menu item
var active_subelem = null; //ssi -> sub sub menu item

//timer
var menu_close_timeout = 0;
var delay = 600;

function closeall() {
	menu_close_timeout = setTimeout('closeallmenus()',delay); 
}

function stoptimer(){ 
	clearTimeout(menu_close_timeout); 
}

function closeallmenus() { 	
	(active_submenu1 != null) ? setLayerVis(active_submenu1,'hidden') : null ;
	(active_submenu2 != null) ? setLayerVis(active_submenu2,'hidden') : null;
	(active_topelem != null) ? changecolor(active_topelem,'mmi') : null;
	(active_menuelem != null) ? changecolor(active_menuelem,'smi') : null;
	(active_subelem != null) ? changecolor(active_subelem,'smi') : null;
	active_submenu1 = null;
	active_submenu2 = null;
	active_topelem = null;
	active_menuelem = null;
	active_subelem = null;
}

function loadMenu(obj){
	stoptimer();
	closeallmenus();
	tmp = obj.substr(3);
	tmp = tmp.split("_");
	
	switch (obj.substr(0,3)) {
		case "mmi":
			active_topelem = obj;
			setcolor(1);
			findmnuexist("smt");
			break;
		case "smi":
			setmenuelem()
			active_menuelem = obj;
			setcolor(2);
			setmenu(active_submenu1,1);
			findmnuexist("ssm");
			break;
		case "ssi":
			setmenuelem();
			active_submenu2 = "ssm" + tmp[0] + "_" + tmp[1]; 
			active_menuelem = "smi" + tmp[0] + "_" + tmp[1]; 			
			active_subelem = obj;
			setcolor(3);
			setmenu(active_submenu1,1);
			setmenu(active_submenu2,2);
			break;
	}
	
	function findmnuexist(str){
		mnu = str + obj.substr(3)
		if (document.getElementById(mnu) != null) {
			if (str == "ssm") {
				active_submenu2 = mnu
				setmenu(active_submenu2,2);
			} else {
				active_submenu1 = mnu; 
				setmenu(active_submenu1,1);
			}
		}
	}
	
	function setmenuelem(){
		active_submenu1 = "smt" + tmp[0];
		active_topelem = "mmi" + tmp[0];
	}
}

function setmenu(obj,lvl) {
	tmpy = 0;
	len = Number((document.getElementById(obj).style.height).length);
	(len == 4) ? tmpy = Number((document.getElementById(obj).style.height).substr(0,2)) : tmpy = Number((document.getElementById(obj).style.height).substr(0,3));
	
	tmpy = (tmpy-2) + yoffset_lvl1;
	//alert(tmpy);
	xval = document.getElementById(active_topelem).offsetLeft + xoffset_lvl1;
	//yval = document.getElementById(active_topelem).offsetTop + yoffset_lvl1;
	yval = document.getElementById(active_topelem).offsetTop - (tmpy);
	//alert(tmpy + " and " +document.getElementById(active_topelem).offsetTop + " equals " + yval);
	
	/*((isMac) && (isSF)) ? xval += 10 : null;
	((isMac) && (isSF)) ? yval += 8 : null;
	
	((isMac) && (isIE)) ? xval += 10 : null;
	((isMac) && (isIE)) ? yval += 18 : null;
	
	if (lvl == 2) {
		xval += xoffset_lvl2;
		yval += yoffset_lvl2 + (height*tmp[1]);
		(isIE == false) ? yval += (padding*tmp[1]) : null;
		//alert(document.getElementById(active_submenu1).style.height);
	}*/
	setLayerVis(obj,"visible",xval,yval);
}

function setcolor(lvl) {
	changecolor(active_topelem,'mmio');
	(lvl >= 2) ? changecolor(active_menuelem,'smio') : null;
	(lvl > 2) ? changecolor(active_subelem,'smio') : null;
}

function setLayerVis(obj,type,xval,yval){
	if (type == "visible"){
		document.getElementById(obj).style.left = xval;
		document.getElementById(obj).style.top = yval;
	}
	document.getElementById(obj).style.visibility = type;
}

function changecolor(objId,clsname) {
	document.getElementById(objId).className = clsname;
}
///////////////////////////////////////////////////////
function newmenu(id){
	this.id = id;
	this.i = 0;
	this.items = new Array();
	this.writeitems = writeitems;
	this.createmenu = createmenu;	
	this.additem = additem;
}
function createmenu(){
	var tmp = new String(this.id);
	var tmp1 = "";
	tmp1 += '<div id=';
	tmp1 += (tmp.indexOf("_")  == -1) ? ('"smt' + this.id + '" style="z-index:1;') : ('"ssm' + this.id + '" style="z-index:3;'); 
	tmp1 += ' visibility:hidden; height:' + (this.i*height) + 'px; width:' + width + 'px; top:px; left:px; position:absolute;" class="smt">';
	tmp1 += this.writeitems() ; 
	tmp1 += '</div>';
	document.write(tmp1);
}

function additem(text,action,newwin){
	var tmp = new String(this.id);
	if (text != null) {
		this.items[this.i] = '<div ';
		this.items[this.i] += (tmp.indexOf("_")  == -1) ? ('id="smi') : ('id="ssi');
		this.items[this.i] += this.id + '_' + this.i + '" class="smi" onMouseOver="loadMenu(this.id);" onMouseOut="closeall();" ';
		this.items[this.i] += (tmp.indexOf("_")  == -1) ? ('style="z-index:1; ') : ('style="z-index:3; ');
		this.items[this.i] += 'height:' + height + 'px; ';
		this.items[this.i] += 'width:' + width + 'px; ';
		this.items[this.i] += '"';
		(action != null) ? this.items[this.i] += ' onClick=javascript:exit=false;onclk("' + action + '","' + newwin + '");' : null;
		this.items[this.i] += '>' + text + '</div>';
		this.i += 1;
	}
}

function writeitems(){
	var tmp = "";
	for (j=0; j < (this.items.length); j++){
		tmp += this.items[j];
	}
	return(tmp);
}

function onclk(url,newwin){
	(newwin.toLowerCase() == "true") ? window.open(url,"iteamPRO","") : document.location.href=url;
}

closeall();