

//interval变量
var inl = []; 

var heightList = [];

var speedList = [];

var speed = 1;

//最小高度
var minHeight = 1;

//简化getElementById为$
/*var $ = function($) {
	return document.getElementById($);
} */

//初始化隐藏的菜单
function initHiddenMenu(hiddenMenuList){
	for(var i=0 ; i < hiddenMenuList.length ; i++ ){
		heightList[hiddenMenuList[i]] = getObjectHeight(hiddenMenuList[i]);
		document.getElementById(hiddenMenuList[i]).style.height = minHeight + "px";
		document.getElementById(hiddenMenuList[i]).style.display = "none";
	}
}

function menuHander(targetId){
	var gaMenu = document.getElementById(targetId);
	//判断interval是否执行
	if(inl[targetId] ){	
			return false;
	}
	if(!heightList[targetId]){
		heightList[targetId] = getObjectHeight(targetId);	
	} 
	gaMenu.style.overflow = "hidden";
	//利用方块的display来判定是否缩小或放大
	if(gaMenu.style.display != "none") {
		//display是正常的话设置interval缩小
		inl[targetId] = setInterval("Telescopic('-','" + targetId + "')", speed);
	}else {
		//display是none的话先把display改回去正常，再设置interval放大
		gaMenu.style.display= "block";
		inl[targetId] = setInterval("Telescopic('+','" + targetId + "')", speed);
	}
}

//获取对象高度
function getObjectHeight(targetId){
	return document.getElementById(targetId).offsetHeight;
}

function define(opt, objectHeigth,objectSpeed, minHeight ,objectInitHeigth) { 
	if(opt == "-") { 
		objectHeigth -= objectSpeed; 
		if(objectHeigth <= minHeight) { 
			objectHeigth = minHeight; 
		} 
	}else { 
		objectHeigth += objectSpeed; 
		if(objectHeigth >= objectInitHeigth) { 
			objectHeigth = objectInitHeigth; 
		} 
	} 
	return objectHeigth; 
	
} 

//缩小或放大
function Telescopic(opt,targetId) {
	
	var speedPx = heightList[targetId] * 0.08;
	
	var hw = define(opt, document.getElementById(targetId).offsetHeight, speedPx, minHeight ,heightList[targetId]);
	//设定高度
	document.getElementById(targetId).style.height = hw + "px";
	//假如小于最小高度
	if(document.getElementById(targetId).offsetHeight <= minHeight) {
		//关闭interval
		document.getElementById(targetId).style.display = "none";
		clearInterval(inl[targetId]);
		inl[targetId] = null;
	}else if(document.getElementById(targetId).offsetHeight >= heightList[targetId]) {
		//关闭interval
		document.getElementById(targetId).style.overflow = "";
		clearInterval(inl[targetId]);
		inl[targetId] = null;
	}
} 




