var ELEMENT_NODE = document.ELEMENT_NODE?document.ELEMENT_NODE:"1";
var MENU_LOOP_DELAY = 1; // 50ms
var RESIZE_CONSTANT = 10; // 10px
var MENU_LIST = [1,2,3,4];
var MENU_PREFIX = "m_";
var ABTN_PREFIX = "t_";

function init_menu(){
  	hideAll();
	addListeners();
}
function hideAll(){
	for(var i=0; i<MENU_LIST.length; i++){
		var e = document.getElementById(MENU_PREFIX+MENU_LIST[i]);
		e.style.top = "-"+(e.offsetHeight)+"px";
		e.parentNode.style.height = "0px";
		e.parentNode.style.overflow = "hidden";
		e.parentNode.style.position = "relative";
	}
}
function hide(num){
	var e = document.getElementById(MENU_PREFIX+num);
	var height = parseInt(e.parentNode.style.height);
	var resize = 0;
	if(height < RESIZE_CONSTANT) resize = height;
	else resize = RESIZE_CONSTANT;
	e.parentNode.style.height = parseInt(e.parentNode.style.height)-resize+"px";
	e.style.top = parseInt(e.style.top)-resize+"px";
	if(parseInt(e.parentNode.style.height) > 0) var t = setTimeout("hide("+num+")",MENU_LOOP_DELAY);
	else return;
}
function show(num){
	var e = document.getElementById(MENU_PREFIX+num);
	var height = parseInt(e.style.top);
	var resize = 0;
	if(Math.abs(height) < RESIZE_CONSTANT) resize = Math.abs(height);
	else resize = RESIZE_CONSTANT;
	e.parentNode.style.height = parseInt(e.parentNode.style.height)+resize+"px";
	e.style.top = height+resize+"px";
	if(parseInt(e.style.top) < 0) var t = setTimeout("show("+num+")",MENU_LOOP_DELAY);
	else return;
}
function result(event){
	if(!event) var event = window.event;
	if(event.target) targ = event.target;
	else targ = event.srcElement;
	var num = targ.id.substr(2);
	var ul = document.getElementById(MENU_PREFIX+num);
	var div = ul.parentNode;
	if(parseInt(div.style.height) == ul.offsetHeight || parseInt(div.style.height) == 0) {
		if(parseInt(div.style.height)<=0) show(num);
		else hide(num);
	}
}
function addListeners(){
	for(var i=0; i<MENU_LIST.length; i++){
		var e = document.getElementById(ABTN_PREFIX+MENU_LIST[i]);
    	if(window.attachEvent) e.attachEvent("onclick",result); 
    	else e.addEventListener("click",result,true);
	}
}
