var timerlen = 10;



var slideAniLen = 150;







var timerID = new Array();



var startTime = new Array();



var obj = new Array();



var endHeight = new Array();



var moving = new Array();



var dir = new Array();







function slidedown(objname){



	if(moving[objname]){



		return;



	}







	if(document.getElementById(objname).style.display != "none"){



		return; // cannot slide down something that is already visible



	}







	moving[objname] = true;



	dir[objname] = "down";



	startslide(objname);



}







function slideup(objname){



	if(moving[objname]){



		return;



	}







	if(document.getElementById(objname).style.display == "none"){



		return; // cannot slide up something that is already hidden



	}







	moving[objname] = true;



	dir[objname] = "up";



	startslide(objname);



}







function startslide(objname){



	obj[objname] = document.getElementById(objname);

	endHeight[objname] = parseInt(obj[objname].style.height);



	startTime[objname] = (new Date()).getTime();







	if(dir[objname] == "down"){



		obj[objname].style.height = "1px";



	}







	obj[objname].style.display = "block";







	timerID[objname] = setInterval('slidetick(\'' + objname + '\');',timerlen);



}







function slidetick(objname){



	var elapsed = (new Date()).getTime() - startTime[objname];







	if (elapsed > slideAniLen){



		endSlide(objname)



	}



	else {



		var d =Math.round(elapsed / slideAniLen * endHeight[objname]);



		if(dir[objname] == "up"){



			d = endHeight[objname] - d;



		}







		obj[objname].style.height = d + "px";



	}







	return;



}







function endSlide(objname){



	clearInterval(timerID[objname]);







	if(dir[objname] == "up"){



		obj[objname].style.display = "none";



	}







	obj[objname].style.height = endHeight[objname] + "px";







	delete(moving[objname]);



	delete(timerID[objname]);



	delete(startTime[objname]);



	delete(endHeight[objname]);



	delete(obj[objname]);



	delete(dir[objname]);







	return;



}







function toggleSlide(objname){



	if(document.getElementById(objname).style.display == "none"){



		// div is hidden, so let's slide down



		slidedown(objname);



	}



	else{



		// div is not hidden, so slide up



		slideup(objname);



	}



}
















