//declare
var submenu = new Array();
var tmr = new Array();
var adj = new Array();
var last_zIndex = 10000;


// EXAMPLE CONFIG
var menuWidth = 110;

//Equipment
submenu['menu1'] = new Array();
submenu['menu1'][0] = menuItem('搅拌机',		'products.asp?catx=5&ordx=1');
submenu['menu1'][1] = menuItem('离心机',		'products.asp?catx=15&ordx=1');
submenu['menu1'][2] = menuItem('锅炉',		'products.asp?catx=17&ordx=1');
submenu['menu1'][3] = menuItem('杂项',		'products.asp?catx=19&ordx=1' );
submenu['menu1'][4] = menuItem('冷凝器',		'products.asp?catx=6&ordx=1');
submenu['menu1'][5] = menuItem('输送机',		'products.asp?catx=16&ordx=1');
submenu['menu1'][6] = menuItem('干燥器',		'products.asp?catx=8&ordx=1');
submenu['menu1'][7] = menuItem('过滤器',		'products.asp?catx=11&ordx=1' );
submenu['menu1'][8] = menuItem('锅炉',		'products.asp?catx=7&ordx=1');
submenu['menu1'][9] = menuItem('碾碎机',		'products.asp?catx=9&ordx=1' );
submenu['menu1'][10] = menuItem('杂项',		'products.asp?catx=10&ordx=1' );
submenu['menu1'][11] = menuItem('搅拌机',	'products.asp?catx=3&ordx=1' );
submenu['menu1'][12] = menuItem('搅拌容器',	'products.asp?catx=13&ordx=1' );
submenu['menu1'][13] = menuItem('压力容器',	'products.asp?catx=14&ordx=1' );
submenu['menu1'][14] = menuItem('泵',		'products.asp?catx=1&ordx=1' );
submenu['menu1'][15] = menuItem('反应装置',	'products.asp?catx=4&ordx=1' );
submenu['menu1'][16] = menuItem('过滤筛/筛子','products.asp?catx=12&ordx=1' );
submenu['menu1'][17] = menuItem('储罐',		'products.asp?catx=2&ordx=1' );
submenu['menu1'][18] = menuItem('涡轮机',	'products.asp?catx=20&ordx=1' );
submenu['menu1'][19] = menuItem('阀门',		'products.asp?catx=21&ordx=1' );
submenu['menu1'][19] = menuItem('锅炉',		'products.asp?catx=22&ordx=1' );
submenu['menu1'][20] = menuItem('所有产品',	'products.asp' );

//Company
submenu['menu2'] = new Array();
submenu['menu2'][0] = menuItem('关于我们','aboutus.htm');
submenu['menu2'][1] = menuItem('服务','services.htm');
submenu['menu2'][2] = menuItem('链接','links.htm');
//Sort
submenu['menu3'] = new Array();
submenu['menu3'][0] = menuItem('By Size (down)','products.asp?catx=2&ordx=1');
submenu['menu3'][1] = menuItem('By Size (up)','products.asp?catx=2&ordx=2');
submenu['menu3'][2] = menuItem('By StockID','products.asp?catx=2&ordx=0');

// END OF EXAMPLE CONFIG


//build or unhide submenu div...
function buildSubmenu(obj){
	//get common part of div id
	menuPath = obj.id.split('_');
	
	//unset mousout of parent menus and make sure they are visible...
	x = "div";
	for(i=0;i<menuPath.length;i++){
		x+= '_' + menuPath[i];
		if(document.getElementById(x)){
			if(tmr[x])
				window.clearTimeout(tmr[x]);
			document.getElementById(x).style.visibility = 'visible';
		}
	}
	
	//check if we have a submenu of the obj...
	if(submenu[obj.id]){
		//check if allready build...
		c = document.getElementById('div_' + obj.id);
		if(c){
			//unhide...
			c.style.visibility = 'visible';
			c.style.zIndex = last_zIndex++; 
		}else{
			//calc position of mouseover
			d = obj;
			if(d){
				L_pos = d.offsetLeft + d.offsetWidth;
				T_pos = d.offsetTop - 0;
				while(d.offsetParent){
					d = d.offsetParent;
					L_pos+= d.offsetLeft;
					T_pos+= d.offsetTop;
				}
			}

			//patch first submenu to go right below the main buttons...
			if(obj.className.indexOf('menuItem') < 0){
				L_pos-= obj.offsetWidth;
				T_pos+= obj.offsetHeight;
			}
			
			//build new div
			subObj = document.createElement('div');
			subObj.id = 'div_' + obj.id;
			subObj.className = 'submenu';
			subObj.style.position = 'absolute';
			subObj.style.zIndex = last_zIndex++;
			subObj.style.width = menuWidth;
			subObj.style.top = T_pos + 'px';
			subObj.style.left = L_pos + 'px';
	
			//write div to the body...
			document.getElementsByTagName('body')[0].appendChild(subObj);	
			
			//build html for submenu
			content = "";
			m = submenu[obj.id];
			for(i=0;i<m.length;i++){
				//determin target
				if(!m[i][2]){
					tar = 'self';
				}else{
					//get javascript target (not tested yet)
					tar = "window.frames['"+tar+"']";
				}
				
				//make item
				content+= "<div onmouseout=\"hideSubmenu(this)\" onmouseover=\"buildSubmenu(this)\" "+ (m[i][1] ? "onclick=\""+tar+".location.href='" + m[i][1] + "'\" " : "") +"class=menuItem" + (i==0 ? 'First' : '') + " id=\"" + obj.id + "_" + i +"\">" + m[i][0] + "</div>";
				adj[i] = obj.id + "_" + i;
			}
			
			//insert new menu
			subObj.innerHTML = content;
			
			//make all just made div's the same width...
			for(i=0;i<adj.length;i++)
				document.getElementById(adj[i]).style.width = subObj.style.width;
		}
	}
}

//hide a submebu div
function hideSubmenu(obj){
	//get common part of div id
	closePath = obj.id.split('_');

	//hide path
	x = "div";
	for(i=0;i<closePath.length;i++){
		x+= '_' + closePath[i];
		if(document.getElementById(x))
			tmr[x] = window.setTimeout("document.getElementById('"+x+"').style.visibility = 'hidden';",050);
		//The timeout above is needed for MSIE browsers... Or else the menu's will disapear on EVERY mousout!!!
		//Please get a normal browser like Firefox, Mozilla or Opera!!
	}
}

//add an menu item to the config array (called in the config lines)
function menuItem(txt,url,tar){
	return new Array(txt,url,tar);
}

//*** Now a patch for MSIE lag of CSS2 compliance!!
if(navigator.userAgent.indexOf('MSIE')>=0 && navigator.userAgent.indexOf('Opera')==-1){
	document.onmouseover = function(){
		obj = event.srcElement;
		if(obj.className == 'menuItem' || obj.className == 'menuItemFirst')
			obj.className+='Over';
	}
	document.onmouseout = function(){
		obj = event.srcElement;
		if(obj.className == 'menuItemOver' || obj.className == 'menuItemFirstOver')
			obj.className = obj.className.substring(0,(obj.className.length - 4));
	}
}