﻿// JavaScript Document
function PullDownMenu(n,MenuTitle,MenuBox,step,moveTime)
{	
	var flag = new Array();
	var timer_show = new Array();
	var timer_hidden = new Array()
	var oMenuTitle = new Array();
	var oMenuBox = new Array();
	
	var addEvent=function(el,action,fn){
	    if(document.all){
	        el.attachEvent("on"+action,fn);
	    }else{
	        el.addEventListener(action,fn,true);
	    }
	};
	
	for(i=1;i<=n;i++)
	{
		flag[i]=0;
		oMenuTitle[i] = document.getElementById(MenuTitle+i);
		oMenuBox[i] = document.getElementById(MenuBox+i);
		
		addEvent(oMenuTitle[i],"mouseover",(function(i){return function(){Move(i)}})(i));
		addEvent(oMenuTitle[i],"mouseout",(function(i){return function(){Move(-i)}})(i));
		addEvent(oMenuBox[i],"mouseover",(function(i){return function(){Move(i)}})(i));
		addEvent(oMenuBox[i],"mouseout",(function(i){return function(){Move(-i)}})(i));
		
	}
	function Move(j)
	{
		if(j>0)
		{
			k = Math.abs(j)
			oMenuBox[k].style.display="block";
			if(flag[k]==0)
			{
				flag[k]=1;
				oMenuBox[k].style.pixelTop = -oMenuBox[k].offsetHeight;
			}
			showMenu(j);
		}
		if(j<0)
		{
			hiddenMenu(-j);
		}
	}
	function showMenu(n)
	{
		clearTimeout(timer_hidden[n]);
		moveStep =step;
		
		var judger = oMenuBox[n].style.pixelTop + moveStep;
		
		if(judger <= 0)
		{
			oMenuBox[n].style.pixelTop = judger
			timer_show[n] = setTimeout(function(){showMenu(n)},moveTime)
		}
		else
		{
			oMenuBox[n].style.pixelTop = 0;
			clearTimeout(timer_show[n]);
		} 
		
	}
	function hiddenMenu(n)
	{
		clearTimeout(timer_show[n]);
		moveStep = -1*step
		var judger = oMenuBox[n].style.pixelTop + moveStep;
		if(judger >= -oMenuBox[n].offsetHeight)
		{
			oMenuBox[n].style.pixelTop = judger
			timer_hidden[n] = setTimeout(function(){hiddenMenu(n)},moveTime)
		}
		else
		{
			oMenuBox[n].style.pixelTop = -oMenuBox[n].offsetHeight;
			oMenuBox[n].style.display="none";
			clearTimeout(timer_hidden[n]);
		}
	}
}

