/**
* 功能:
*	顶层菜单管理
* 用法:
*	应用于一个二层的嵌套的div 结构
*	第一层的div id应为 mnpMenuTop
*	第二层的div 为菜单项，className 为 mnpMenuRow 
* 作者: 
*	KingApex
*最后更新日期:
*  2005-4-9
*/


var mnpMenuTop = null;
var tempMenu = null;
var depMenu = null;
var divs = null; //顶层div
var objTime = null;
var timeN =15;
var LiH =200;  //面板高度
var overCss ="overCss"; //鼠标移上颜色
var outCss = "mnpMenuRow"; //鼠标移出颜色
var downcss = "downCss"; //鼠标放下样式 
var upcss= "mnpMenuRow"; //鼠标抬起样式 

var deploycss = "plan"   //面板展开样式
var hiddencss = "plan1"  //面板隐藏样式


window.attachEvent("onload", mnpMenuInit);


function mnpMenuInit()
{
	mnpMenuTop = document.getElementById("mnpMenuTop");
	mnpMenuAttach(mnpMenuTop);
}

//初始化
function mnpMenuAttach(el){
		divs = el.getElementsByTagName("DIV");
		
		var count = divs.length;

		for (var i =0;i<count ;i++ )
		{	
			var div = divs.item(i);
			if (div.className == "mnpMenuRow"){
				div.attachEvent("onmouseenter", mnpMenuMouseover); 
				div.attachEvent("onmouseleave", mnpMenuMouseout);
				div.attachEvent("onmousedown", mnpMenuMousedown);
				div.attachEvent("onmouseup", mnpMenuMouseup);
			}	

			div.setAttribute("id", i); //标识每个div
		}


}



//移上
function mnpMenuMouseover(){
	var div = window.event.srcElement;
	div.className=overCss;
}



//移出
function mnpMenuMouseout(){
	var div = window.event.srcElement;
	div.className=outCss;

}


//放下
function mnpMenuMousedown(){
	var div = window.event.srcElement;
	div.className=downcss;
}


//抬起
function mnpMenuMouseup(){

	var div = window.event.srcElement;
	div.className=upcss;
	var Planid = parseInt(div.getAttribute("id"))+1; //菜单面板的ID
	var PlanDiv = divs.item(Planid);//面板对象
	deployMenu(PlanDiv);

}


//展开一个菜单
function deployMenu(objMenu){
	if(objMenu!=null){
		if(objMenu.className==deploycss){
			backMenu(tempMenu);
			objMenu.className=hiddencss;
			depMenu = objMenu;
			var h = getLiHeight(depMenu)
			
			if (h>100)
			{
				timeN = 8;
			}

			if (h>LiH)
			{	
				LiH = h+90;
			}

			depMenu.style.height = 0;
			extendMenu();
			tempMenu = objMenu;
		}
	}
}


//还原一个菜单
function backMenu(objMenu){
	if(objMenu!=null){
		objMenu.className=deploycss;
		HiddenLI(objMenu);
	}
}


//延时打开一个菜单效果
function extendMenu(){

	if(parseInt(depMenu.style.height)<LiH){
		depMenu.style.height=parseInt(depMenu.style.height)+15;
		 objTime=window.setTimeout('extendMenu()', timeN)
	}else{
		if (objTime!=null)
		{
			 window.clearTimeout(objTime);
		}
		deployLI(depMenu);
		liMenuAttach(depMenu);
	}

}


//显示li
function deployLI(objDiv){
	var lis = objDiv.getElementsByTagName("li");
	var count = lis.length;
	for(var i= 0;i<count;i++){
		lis.item(i).className="Deployli";
	}
}


//隐藏LI
function HiddenLI(objDiv){
	var lis = objDiv.getElementsByTagName("li");
	var count = lis.length;
	for(var i= 0;i<count;i++){
		lis.item(i).className="HiddenLI";
	}
}

//计算一个菜单下的子菜单的高度
function getLiHeight(objDiv){
	var height=0;
	var lis = objDiv.getElementsByTagName("li");
	var count = lis.length;
		height=count*20;
	return height;
}