﻿// JavaScript Document
/*
	功  能：两级滚动菜单
	关  键：setInterval(),clearInterval();
	版  本：Ver 1.2
	时  间：2007-06-17
	开发者：刘志鹏
*/

//=====================================================================================
//以下参数应根据实际情况修改
var item_layer1_height=28;				//一级菜单项的高度
var item_layer2_height=25;				//二级菜单项的高度（不包括两个二级菜单间的上下间隔）
var item_layer2_width=145;				//二级菜单项的宽度
var stepHeight = 100;					//滚动时每步的步进
var loopDelayTime=30;					//滚动时间间隔
var bgPicSrcLayer1 = "";			//第一级菜单的背景色
var bgPicSrcLayer2 = "";			//第一级菜单的背景色
var bgColorLayer1 = "transparent";			//第一级菜单的背景色
var bgColorLayer2 = "transparent";		//第二级菜单的背景色（建议不要更改）
var minSpaceHeight = 15;				//同一菜单项下的各二级子菜单项之间的间距


//=====================================================================================

//=====================================================================================
//以下参数不可篡改！！
var firstClassMenuAmount =0;			//一级菜单项的数量
var maxTabIndex=0;						//一级菜单项的最大切换索引
var currentLoopID="";					//当前被点击将要进入滚动的菜单项ID（DIV的ID）
var precedentLoopID="";					//当前正在展示的菜单项的ID
var intervalID;							//系统生成的setInterval的标识
var preUnChangeMenuArr = new Array();	//在当前要滚动的菜单项之前的不会变动的菜单项
var sithUnChangeMenuArr = new Array();	//在当前要滚动的菜单项之后的不会变动的菜单项	
var willChangeMenuArr = new Array();	//将要随当前要滚动的菜单项变化的菜单项
//=====================================================================================


var menuItemColloction = new Array();
function addItem(tempItem)
{
	//alert(menuItem.length+tempItem.img);
	menuItemColloction[menuItemColloction.length]=tempItem;
	//alert("--"+menuItem[menuItem.length-1].img);
}

function createItem(hrefUrl,displayImg,mouseImg,id,name){
this.hrefUrl=hrefUrl;
this.displayImg=displayImg;
this.mouseImg=mouseImg;
this.id=id;
this.name = name;
addItem(this);
};

new createItem("","images/leftmenu/menu01.jpg","images/leftmenu/menu02.jpg","0001","");
new createItem('introduce.html','images/leftmenu/introduce1.jpg','images/leftmenu/introduce2.jpg','0101','本系简介');
new createItem('organization.html','images/leftmenu/organization1.jpg','images/leftmenu/organization2.jpg','0102','机构设置');
new createItem('teacher/teacherall.html','images/leftmenu/teacher1.jpg','images/leftmenu/teacher2.jpg','0103','师资队伍');
new createItem('history.html','images/leftmenu/history1.jpg','images/leftmenu/history2.jpg','0104','光辉历程');
new createItem('contact_us.html','images/leftmenu/contact1.jpg','images/leftmenu/contact2.jpg','0105','联系方法');

new createItem("","images/leftmenu/menu11.jpg","images/leftmenu/menu12.jpg","0002","");
new createItem('institute.html','images/leftmenu/institute1.jpg','images/leftmenu/institute2.jpg','0201','研究所');
new createItem('research/research_article.html','images/leftmenu/research_result1.jpg','images/leftmenu/research_result2.jpg','0202','科研成果');

new createItem("","images/leftmenu/menu21.jpg","images/leftmenu/menu22.jpg","0003","");
new createItem('arrange_courses.html','images/leftmenu/arrange1.jpg','images/leftmenu/arrange2.jpg','0301','课程安排');
new createItem('change_courses.html','images/leftmenu/change1.jpg','images/leftmenu/change2.jpg','0302','调课通知');
new createItem('exam_note.html','images/leftmenu/exam1.jpg','images/leftmenu/exam2.jpg','0303','考试通知');

new createItem("","images/leftmenu/menu31.jpg","images/leftmenu/menu32.jpg","0004","");
new createItem('undergraduate.html','images/leftmenu/undergraduate1.jpg','images/leftmenu/undergraduate2.jpg',"0401","本科生招生");
new createItem('graduate.html','images/leftmenu/graduate1.jpg','images/leftmenu/graduate2.jpg',"0402","研究社招生");
new createItem('employment.html','images/leftmenu/employment1.jpg','images/leftmenu/employment2.jpg',"0403","就业信息");

new createItem("","images/leftmenu/menu41.jpg","images/leftmenu/menu42.jpg","0005","");
new createItem('student/teaching.html','images/leftmenu/teaching1.jpg','images/leftmenu/teaching2.jpg',"0501","教学活动");
new createItem('student/students.html','images/leftmenu/working1.jpg','images/leftmenu/working2.jpg',"0502","学生活动");
new createItem('student/research.html','images/leftmenu/research1.jpg','images/leftmenu/research2.jpg',"0503","调查研究");
new createItem('student/youth_league.html','images/leftmenu/youth_league1.jpg','images/leftmenu/youth_league2.jpg',"0504","学生会团总支");
new createItem('student/party_branch.html','images/leftmenu/party_branch1.jpg','images/leftmenu/party_branch2.jpg',"0505","学生党支部");
/*
	函数：	创建菜单
	参数：	parent：将要加载菜单的容器，为OBJECT，而不是ID属性（DIV）
			isfirst：是否是首次加载（判断是因页面加载调用还是因窗体缩放调用）；0：非首次加载；1：首次加载
*/
function createitem(parent,isfirst)
{	
	//如果是首次加载则计算第一级菜单项数目
	if(isfirst==1)
	{
		var firstClassMenuCount =0;				//第一级菜单项数目
		for(i=0;i<menuItemColloction.length;i++)
		{
			if(menuItemColloction[i].id.substr(0,2)=="00")
			{
				firstClassMenuCount++;
			}
		}
		//将计算出的第一级菜单项数目赋给全局变量firstClassMenuAmount
		firstClassMenuAmount = firstClassMenuCount;
	}
	
	//生成表示菜单HTML的字符串
	var menuItems ="";		//表示菜单HTML的字符串
	var firstMenuID = 0;	//第一个一级菜单项的ID，由itemCodeArr而来，不是标识documentElement的ID
	var flag =true;		//是否第一个一级菜单项
	var index=0;
	for(i=0;i<menuItemColloction.length;i++)
	{
		//如果是一级菜单则进入生成
		if(menuItemColloction[i].id.substr(0,2)=="00")
		{
			currrenTop = item_layer1_height*index;	//当前菜单项距容器顶端的距离
			maxTabIndex = index;					//设置一级菜单项的最大切换索引
			//生成一级菜单及下属二级菜单的
			/*
				详细设置待更新
			*/
			var menuItem = "<div id='item" + menuItemColloction[i].id + "' tabIndex='" + index + "' style='background-color:" + bgColorLayer1 + ";overflow:hidden;left:0px;top:" + currrenTop + "px;height:" + item_layer1_height + "px'>" + 
								"<table width='100%' border='0' cellpadding='0' cellspacing='0' align='center'>" + 
									"<tr>" + 
										"<td align='center' background ='" + menuItemColloction[i].displayImg + "'" +
												" id = 'menuitemcontent" + menuItemColloction[i].id + "'" +
												" height='" + item_layer1_height + "' valign='middle'" + 
												" onclick='menuLoop(\"" + menuItemColloction[i].id + "\");'" + 
												" onmouseover='changeImgIn(\"menuitemcontent" + menuItemColloction[i].id + "\")'" + 
												" onmouseout='changeImgOut(\"menuitemcontent" + menuItemColloction[i].id + "\")'>" + 
											"<font size='2'><strong>" + menuItemColloction[i].name + "</strong></font>" + 
										"</td>" + 
									"</tr>" + 
									"<tr>" + 
										"<td valign='top' id='children" + menuItemColloction[i].id + "'>";	
										
			var childItem = createChild(menuItemColloction[i].id);
			menuItem = menuItem + childItem + "</td></tr></table></div>";
			menuItems += menuItem;
			
			//索引数+1
			index++;
			
			//如果是第一个一级菜单项，则将其itemCode赋给firstMenuID
			if(flag)
			{
				firstMenuID = menuItemColloction[i].id;
				flag=false;
			}			
		}
	}
	//将生成的表示菜单HTML的字符串纳入容器
	parent.innerHTML = menuItems;
	
	//如果是首次加载则显示第一个一级菜单项及其子项
	if(isfirst==1)
	{
		//设置currentLoopID和precedentLoopID为第一个一级菜单项ID
		currentLoopID = "item"+firstMenuID;
		precedentLoopID = "item"+firstMenuID;		

		var firstMenu = document.getElementById("item"+firstMenuID);
		//设置第一个一级菜单项的高度，以占满整个容器
		var firstMenuChild = document.getElementById("children"+firstMenuID);
		//firstMenu.style.height = document.documentElement.clientHeight - item_layer1_height*firstClassMenuAmount + "px";
		firstMenu.style.height = getMenuHeight(precedentLoopID);
		
		var tolalHeight = document.documentElement.clientHeight;		//页面可见区域的高度
		var childenAmount = 0;											//当前展示中的菜单项的子项数目
		var downSpaceArr = new Array();								//菜单项的子项之间的间隔元素集合
		var childArr = new Array();									//菜单项的子项集合
		var upSpace = document.getElementById("upspace" + firstMenuID);	//菜单项的第一个子项与父项的间隔元素
		var spaceHeight = minSpaceHeight;								//菜单项的子项之间的间隔高度
		//获取当前展示中的菜单项的子项集合和子项之间的间隔元素集合
		for(j=0;j<menuItemColloction.length;j++)
		{		
			if(menuItemColloction[j].id.substr(0,2) == firstMenuID.substr(2,2))
			{						
				downSpaceArr[childenAmount] = document.getElementById("downspace" + menuItemColloction[j].id);
				childArr[childenAmount] = document.getElementById("child" + menuItemColloction[j].id);			
				childenAmount++;			
			}
		}
		//获取菜单项的子项之间的间隔高度，如果此高度小于10则设置为10
		spaceHeight = parseInt(((parseInt(tolalHeight) - item_layer1_height*firstClassMenuAmount) - childenAmount*item_layer2_height)/(childenAmount+1));
		if(spaceHeight<minSpaceHeight)
			spaceHeight=minSpaceHeight;
		//设置菜单项的第一个子项与父项的间隔为spaceHeight
		upSpace.height = spaceHeight;
		//设置菜单项的子项之间的间隔为spaceHeight
		for(j=0;j<childArr.length;j++)
		{					
			downSpaceArr[j].height = spaceHeight;
		}
		
		//调整各一级菜单项位置（距容器顶端的距离）		
		for(i=0;i<menuItemColloction.length;i++)
		{
			if(menuItemColloction[i].id.substr(0,2)=="00" && menuItemColloction[i].id!=firstMenuID)
			{
				var tempMenu = document.getElementById("item"+menuItemColloction[i].id);
				tempMenu.style.top = parseInt(firstMenu.style.height) + item_layer1_height*(tempMenu.tabIndex-1);
			}
		}	
	}	
}

/*
	函数：创建二级菜单
	参数：二级菜单所属的一级菜单的itemCode
*/
function createChild(parentID)
{	
	var childCount =0;		//所属的一级菜单的子项数量
	
	var tolalHeight = document.documentElement.clientHeight;						//页面可见区域的高度
	var childHeight = tolalHeight - item_layer1_height*firstClassMenuAmount;		//子项可用高度

	//获取所属的一级菜单的子项数量
	for(j=0;j<menuItemColloction.length;j++)
	{			
		if(menuItemColloction[j].id.substr(0,2)==parentID.substr(2,2))
		{
			childCount++;
		}
	}
		
	var spaceHight = parseInt((childHeight - childCount*item_layer2_height)/(childCount+1));		//子项之间的间距（高度）
	
	//生成子项HTML
	childrenHTML="<table bgcolor='" + bgColorLayer2 + "' width='100%' border='0' align='center' cellpadding='0' cellspacing='0'>" + 
					"<tr>" + 
						"<td id='upspace" + parentID + "' colspan='3' height='" + spaceHight + "'></td>" + 
					"</tr>";
	for(j=0;j<menuItemColloction.length;j++)
	{			
		if(menuItemColloction[j].id.substr(0,2)==parentID.substr(2,2))
		{
			var el = "<tr>" + 
						"<td></td>" + 
						"<td valign='middle' id='child"+  menuItemColloction[j].id +"' background='" + menuItemColloction[j].displayImg + "' height='" + item_layer2_height + "' width='" + item_layer2_width + "' valign='middle'"+ 
								" onmouseover='changeImgIn(\"child" + menuItemColloction[j].id + "\")'" + 
								" onmouseout='changeImgOut(\"child" + menuItemColloction[j].id + "\")'" +  
								" onclick='javascript:document.content.location.href =\"" + menuItemColloction[j].hrefUrl + "\";'>" +
//								" onclick='javascript:parent.frames[\"mainFrame\"].location.href=\"" + menuItemColloction[j].hrefUrl + "\";'>" +
						"</td>" +
						"<td></td>" + 
					"</tr>" + 
					"<tr>" + 
						"<td id='downspace" + menuItemColloction[j].id + "' colspan='3' height='" + spaceHight + "'></td>" + 
					"</tr>";
			childrenHTML +=el;
		}		
	}
	childrenHTML = childrenHTML + "</table>";
	return childrenHTML;
}


/*
	函数：菜单滚动（初始化）
	参数：1、将要进入滚动的菜单项编号（由itemCodeArr而来）
*/
function menuLoop(loopMenuID)
{
	//如果intervalID不为空，即setInterval未停止，则停止循环
	if(intervalID!=null)
		clearInterval(intervalID);
		
	//设置currentLoopID
	currentLoopID = "item"+loopMenuID;
	
	//===============================================================
	/*
		以下范围内的方法是为了获得受影响的菜单项
	*/		
	var curLoopMenu = document.getElementById("item" + loopMenuID);		//当前要滚动的菜单项
	var curLoopMenuTabIndex = curLoopMenu.tabIndex;						//当前要滚动的菜单项的tabIndex
	var preLoopMenu = document.getElementById(precedentLoopID);			//当前正在展示的菜单项
	var preLoopMenuTabIndex = preLoopMenu.tabIndex;						//当前正在展示的菜单项的tabIndex

	preUnChangeMenuArr = new Array();		//在当前要滚动的菜单项之前的不会变动的菜单项
	sithUnChangeMenuArr = new Array();		//在当前要滚动的菜单项之后的不会变动的菜单项
	willChangeMenuArr = new Array();		//将要随当前要滚动的菜单项变化的菜单项

	var preUnIndex = 0;		//当前要滚动的菜单项之前的不会变动的菜单项的索引
	var sithUnIndex = 0;	//当前要滚动的菜单项之后的不会变动的菜单项的索引
	var willIndex = 0;		//将要随当前要滚动的菜单项变化的菜单项的索引
	
	for(i=0;i<menuItemColloction.length;i++)
	{
		if(menuItemColloction[i].id.substr(0,2)=="00")
		{
			var tempMenu = document.getElementById("item"+menuItemColloction[i].id);
			var tempMenuTabIndex = tempMenu.tabIndex;
			
			if(curLoopMenuTabIndex>preLoopMenuTabIndex)
			{
				//获取在当前要滚动的菜单项之前的不会变动的菜单项
				if(tempMenuTabIndex<preLoopMenuTabIndex)
				{
					preUnChangeMenuArr[preUnIndex] = tempMenu;
					preUnIndex++;
				}
				//获取在当前要滚动的菜单项之后的不会变动的菜单项
				if(tempMenuTabIndex>curLoopMenuTabIndex)
				{
					sithUnChangeMenuArr[sithUnIndex] = tempMenu;
					sithUnIndex++;
				}
				//获取将要随当前要滚动的菜单项变化的菜单项
				if(tempMenuTabIndex>preLoopMenuTabIndex && tempMenuTabIndex<curLoopMenuTabIndex)
				{
					willChangeMenuArr[willIndex] = tempMenu;
					willIndex++;
				}
			}			
			else if(curLoopMenuTabIndex<preLoopMenuTabIndex)
			{
				//获取在当前要滚动的菜单项之前的不会变动的菜单项
				if(tempMenuTabIndex<curLoopMenuTabIndex)
				{
					preUnChangeMenuArr[preUnIndex] = tempMenu;
					preUnIndex++;
				}
				//获取在当前要滚动的菜单项之后的不会变动的菜单项
				if(tempMenuTabIndex>preLoopMenuTabIndex)
				{
					sithUnChangeMenuArr[sithUnIndex] = tempMenu;
					sithUnIndex++;
				}
				//获取将要随当前要滚动的菜单项变化的菜单项
				if(tempMenuTabIndex>curLoopMenuTabIndex && tempMenuTabIndex<preLoopMenuTabIndex)
				{
					willChangeMenuArr[willIndex] = tempMenu;
					willIndex++;
				}
			}
		}
	}
	//===============================================================	
	
	
	//开始循环
	//如果点击的是展示中的菜单项则不处理，否则才进行滚动
	if(currentLoopID==precedentLoopID)
	{
		return;
	}
	else
	{
		var tolalHeight = document.documentElement.clientHeight;							//页面可见区域的高度
		var childenAmount = 0;																//当前展示中的菜单项的子项数目
		var downSpaceArr = new Array();													//菜单项的子项之间的间隔元素集合
		var childArr = new Array();														//菜单项的子项集合
		var upSpace = document.getElementById("upspace" + (curLoopMenu.id).substr(4,4));	//菜单项的第一个子项与父项的间隔元素
		var spaceHeight = minSpaceHeight;													//菜单项的子项之间的间隔高度
		
		//获取当前展示中的菜单项的子项集合和子项之间的间隔元素集合
		for(j=0;j<menuItemColloction.length;j++)
		{		
			if(menuItemColloction[j].id.substr(0,2) == (curLoopMenu.id).substr(6,2))
			{						
				downSpaceArr[childenAmount] = document.getElementById("downspace" + menuItemColloction[j].id);
				childArr[childenAmount] = document.getElementById("child" + menuItemColloction[j].id);			
				childenAmount++;			
			}
		}
		//获取菜单项的子项之间的间隔高度，如果此高度小于10则设置为10
		spaceHeight = parseInt(((parseInt(tolalHeight) - item_layer1_height*firstClassMenuAmount) - childenAmount*item_layer2_height)/(childenAmount+1));
		if(spaceHeight<minSpaceHeight)
			spaceHeight=minSpaceHeight;
		//设置菜单项的第一个子项与父项的间隔为spaceHeight
		upSpace.height = spaceHeight;
		//设置菜单项的子项之间的间隔为spaceHeight
		for(j=0;j<childArr.length;j++)
		{					
			downSpaceArr[j].height = spaceHeight;
		}
		//菜单最小限制总高度
		var minTotalHeight = item_layer1_height*firstClassMenuAmount + minSpaceHeight*(childenAmount+1) + 	childenAmount*item_layer2_height
		var tempTotalHeight =0;
		
		if(tolalHeight<minTotalHeight)
			tempTotalHeight = minTotalHeight;
		else
			tempTotalHeight = tolalHeight;
		
		//设置当前要滚动的菜单项之前的不会变动的菜单项的高度和顶距
		for(i=0;i<preUnChangeMenuArr.length;i++)
		{
			var tempMenu = preUnChangeMenuArr[i];
			tempMenu.style.height = item_layer1_height +"px";		
			tempMenu.style.top = item_layer1_height * tempMenu.tabIndex +"px";
		}
		//设置当前要滚动的菜单项之后的不会变动的菜单项的高度和顶距
		for(i=0;i<sithUnChangeMenuArr.length;i++)
		{
			var tempMenu = sithUnChangeMenuArr[i];
			tempMenu.style.height = item_layer1_height +"px";		
			tempMenu.style.top = tempTotalHeight-item_layer1_height * (firstClassMenuAmount-tempMenu.tabIndex) +"px";
		}
		//开始滚动
		intervalID = setInterval("show('" + loopMenuID + "','" + tempTotalHeight + "')",loopDelayTime);	
	}
}

/*
	函数：菜单滚动（开始）
	参数：1、将要进入滚动的菜单项编号（由itemCodeArr而来）
*/
function show(loopMenuID,menuTotalHeight)
{		
	var tolalHeight = document.documentElement.clientHeight;			//页面可见区域的高度
	var curLoopMenu = document.getElementById("item" + loopMenuID);		//当前要滚动的菜单项
	var preLoopMenu = document.getElementById(precedentLoopID);			//当前正在展示的菜单项
	
	//当前要滚动的菜单项的高度按步进增加
	curLoopMenu.style.height = parseInt(curLoopMenu.style.height) + stepHeight + "px";
	//正在展示的菜单项的高度按步进减少
	if(parseInt(preLoopMenu.style.height)>stepHeight)
		preLoopMenu.style.height = parseInt(preLoopMenu.style.height) - stepHeight + "px";
	else if(parseInt(preLoopMenu.style.height)<item_layer1_height)
		preLoopMenu.style.height = item_layer1_height + "px";
		
	//当前要滚动的菜单项在正在展示的菜单项的下方时的滚动方式
	if(curLoopMenu.tabIndex>preLoopMenu.tabIndex)
	{	
		//将要随当前要滚动的菜单项变化的菜单项的顶距按步进减少
		for(i=0;i<willChangeMenuArr.length;i++)
		{
			var tempMenu = willChangeMenuArr[i];
			tempMenu.style.height = item_layer1_height +"px";
			if(parseInt(tempMenu.style.top)>item_layer1_height*tempMenu.tabIndex)
				tempMenu.style.top = parseInt(tempMenu.style.top) - stepHeight +"px";
			else
				tempMenu.style.top = item_layer1_height*tempMenu.tabIndex +"px";
		}
		//当前要滚动的菜单项的顶距按步进减少
		curLoopMenu.style.top = parseInt(curLoopMenu.style.top) - stepHeight +"px";
		//如果当前要滚动的菜单项的顶距达到临界点则停止滚动并校正各项位置
		if(parseInt(curLoopMenu.style.top)<=item_layer1_height * curLoopMenu.tabIndex )
		{
			//矫正将要随当前要滚动的菜单项变化的菜单项的位置
			for(i=0;i<willChangeMenuArr.length;i++)
			{
				var tempMenu = willChangeMenuArr[i];
				tempMenu.style.height = item_layer1_height +"px";
				tempMenu.style.top = item_layer1_height*tempMenu.tabIndex +"px";
			}
			//校正当前要滚动的菜单项的位置和高度
			curLoopMenu.style.top = item_layer1_height * curLoopMenu.tabIndex +"px";
			//curLoopMenu.style.height = tolalHeight-item_layer1_height*(firstClassMenuAmount-1)+"px";
			curLoopMenu.style.height = getMenuHeight("item" + loopMenuID);
			
			
			
			//校正正在展示的菜单项的位置和高度
			preLoopMenu.style.height = item_layer1_height + "px";			
			preLoopMenu.style.top = item_layer1_height*preLoopMenu.tabIndex + "px";
			//停止滚动
			clearInterval(intervalID);
			intervalID=null;
			//设置正在展示的菜单项的ID为当前滚动的菜单项ID
			precedentLoopID = curLoopMenu.id;
		}
	}
	//当前要滚动的菜单项在正在展示的菜单项的上方时的滚动方式
	else
	{
		//将要随当前要滚动的菜单项变化的菜单项的顶距按步进增加
		for(i=0;i<willChangeMenuArr.lenght;i++)
		{
			var tempMenu = willChangeMenuArr[i];
			tempMenu.style.height = item_layer1_height +"px";
			if(parseInt(tempMenu.style.top)<menuTotalHeight-item_layer1_height * (firstClassMenuAmount-tempMenu.tabIndex))
				tempMenu.style.top = parseInt(tempMenu.style.top) + stepHeight +"px";
			else
				tempMenu.style.top = menuTotalHeight-item_layer1_height * (firstClassMenuAmount-tempMenu.tabIndex) +"px";
		}
		//正在展示的菜单项的顶距按步进增加
		preLoopMenu.style.top = parseInt(preLoopMenu.style.top) + stepHeight +"px";
		//如果正在展示的菜单项的顶距达到临界点则停止滚动并校正各项位置
		if(parseInt(preLoopMenu.style.top)>=menuTotalHeight-item_layer1_height * (firstClassMenuAmount-preLoopMenu.tabIndex) )
		{
			//矫正将要随当前要滚动的菜单项变化的菜单项的位置
			for(i=0;i<willChangeMenuArr.length;i++)
			{
				var tempMenu = willChangeMenuArr[i];
				tempMenu.style.height = item_layer1_height +"px";
				tempMenu.style.top = menuTotalHeight-item_layer1_height * (firstClassMenuAmount-tempMenu.tabIndex) +"px";
			}
			//校正正在展示的菜单项的位置和高度
			preLoopMenu.style.top = menuTotalHeight-item_layer1_height * (firstClassMenuAmount-preLoopMenu.tabIndex) + "px";
			preLoopMenu.style.height = item_layer1_height + "px";
			//校正当前要滚动的菜单项的位置和高度
			//curLoopMenu.style.height = tolalHeight-item_layer1_height*(firstClassMenuAmount-1) + "px";
			curLoopMenu.style.height = getMenuHeight("item" + loopMenuID);
			curLoopMenu.style.top = item_layer1_height*curLoopMenu.tabIndex + "px";
			//停止滚动
			clearInterval(intervalID);
			intervalID=null;
			//设置正在展示的菜单项的ID为当前滚动的菜单项ID
			precedentLoopID = curLoopMenu.id;
		}
	}	
}

function reloadMenu(parentID)
{
	var parent = document.getElementById(parentID);
	var tolalHeight = document.documentElement.clientHeight;						//获取页面可见区域的高度

	var childHeight = tolalHeight - item_layer1_height*firstClassMenuAmount;		//设置菜单项全部子项所占的高度	
	var childenAmount = 0;															//当前展示中的菜单项的子项数目
	var downSpaceArr = new Array();												//菜单项的子项之间的间隔元素集合
	var childArr = new Array();													//菜单项的子项集合
	var upSpace = document.getElementById("upspace" + precedentLoopID.substr(4,4));//菜单项的第一个子项与父项的间隔元素
	var spaceHeight = minSpaceHeight;												//菜单项的子项之间的间隔高度
	
	var precedentMenu = document.getElementById(precedentLoopID);					//当前展示中的菜单项	
	//获取当前展示中的菜单项的子项集合和子项之间的间隔元素集合
	for(j=0;j<menuItemColloction.length;j++)
	{		
		if(menuItemColloction[j].id.substr(0,2) == precedentLoopID.substr(6,2))
		{						
			downSpaceArr[childenAmount] = document.getElementById("downspace" + menuItemColloction[j].id);
			childArr[childenAmount] = document.getElementById("child" + menuItemColloction[j].id);			
			childenAmount++;			
		}
	}
	//获取菜单项的子项之间的间隔高度，如果此高度小于10则设置为10
	spaceHeight = parseInt(((tolalHeight - item_layer1_height*firstClassMenuAmount) - childenAmount*item_layer2_height)/(childenAmount+1));
	if(spaceHeight<minSpaceHeight)
		spaceHeight=minSpaceHeight;
	//设置菜单项的第一个子项与父项的间隔为spaceHeight
	upSpace.height = spaceHeight;
	//设置菜单项的子项之间的间隔为spaceHeight
	for(j=0;j<childArr.length;j++)
	{					
		downSpaceArr[j].height = spaceHeight;
	}
	//设置当前展示中的菜单项的顶距
	precedentMenu.style.top = item_layer1_height*precedentMenu.tabIndex;			
	//设置当前展示中的菜单项连同其子项的高度
	var tempMenuHeight = tolalHeight - item_layer1_height*(firstClassMenuAmount-1);
	//当前展示中的菜单项的最小限制高度
	var minMenuHeight = childenAmount*item_layer2_height+minSpaceHeight*(childenAmount+1)+item_layer1_height;
	//菜单总高度的最小限制高度
	var minTotalHeight = minMenuHeight + item_layer1_height*(firstClassMenuAmount-1);	
	//如果按照当前页面可见区域高度计算出的当前展示中的菜单项的高度小于当前展示中的菜单项的最小限制高度，
	//则将菜单项的高度设置为当前展示中的菜单项的最小限制高度；
	//否则将菜单项的高度设置为按照当前页面可见区域高度计算出的高度
	if(tempMenuHeight<minMenuHeight)
		precedentMenu.style.height = minMenuHeight;	
	else
		precedentMenu.style.height = tempMenuHeight;
	//设置各菜单项（一级）的高度和顶距
	for(i=0;i<menuItemColloction.length;i++)
	{
		if(menuItemColloction[i].id.substr(0,2)=="00")
		{
			var tempMenu = document.getElementById("item" + menuItemColloction[i].id);
			
			if(tempMenu.id != precedentLoopID)
			{
				tempMenu.style.height = item_layer1_height;
				if(tempMenu.tabIndex < precedentMenu.tabIndex)
				{					
					tempMenu.style.top = item_layer1_height*tempMenu.tabIndex;
				}
				else
				{
					tempMenu.style.top = parseInt(precedentMenu.style.top) + parseInt(precedentMenu.style.height) + item_layer1_height * (tempMenu.tabIndex-precedentMenu.tabIndex-1);	
				}
			}			
		}
	}
}


function getMenuHeight(loopMenuID)
{
	var tolalHeight = document.documentElement.clientHeight;						//获取页面可见区域的高度
	//alert(tolalHeight);

	var childHeight = tolalHeight - item_layer1_height*firstClassMenuAmount;		//设置菜单项全部子项所占的高度	
	var childenAmount = 0;															//当前展示中的菜单项的子项数目
	var spaceHeight = minSpaceHeight;												//菜单项的子项之间的间隔高度
	
	var precedentMenu = document.getElementById(loopMenuID);						//当前展示中的菜单项	
	//获取当前展示中的菜单项的子项数目
	for(j=0;j<menuItemColloction.length;j++)
	{		
		if(menuItemColloction[j].id.substr(0,2) == loopMenuID.substr(6,2))
		{						
			childenAmount++;			
		}
	}
	//获取菜单项的子项之间的间隔高度，如果此高度小于10则设置为10
	spaceHeight = parseInt(((tolalHeight - item_layer1_height*firstClassMenuAmount) - childenAmount*item_layer2_height)/(childenAmount+1));
	if(spaceHeight<minSpaceHeight)
		spaceHeight=minSpaceHeight;
	//设置当前展示中的菜单项连同其子项的高度
	var tempMenuHeight = tolalHeight - item_layer1_height*(firstClassMenuAmount-1);
	//当前展示中的菜单项的最小限制高度
	var minMenuHeight = childenAmount*item_layer2_height+minSpaceHeight*(childenAmount+1)+item_layer1_height;
	
	if(tempMenuHeight<minMenuHeight)
		return minMenuHeight;
	else
		return tempMenuHeight;
}

function changeImgIn(tempID)
{
	var tempObj = document.getElementById(tempID);
	var tempSrc = tempObj.background;
	var lastIndex = tempSrc.lastIndexOf(".");
	tempSrc = tempSrc.substr(0,lastIndex-1) + "2" + tempSrc.substr(lastIndex);
	tempObj.background = tempSrc;
}

function changeImgOut(tempID)
{
	var tempObj = document.getElementById(tempID);
	var tempSrc = tempObj.background;
	var lastIndex = tempSrc.lastIndexOf(".");
	tempSrc = tempSrc.substr(0,lastIndex-1) + "1" + tempSrc.substr(lastIndex);
	tempObj.background = tempSrc;
	//alert(lastIndex + "--" + tempSrc.substr(0,lastIndex) + "--" + tempSrc.substr(lastIndex));
	//alert(tempObj.background);
}