var lastSubMenuDivId = null;
var menuContainer = null;
var subMenuContainer = null;
var slideTotalHeight = 0;
var slideCurrentHeight = 14;
var slideStep = 20;
var slideDelay = 10;
var slideOutTimer = null;
var slideInTimer = null;
var slideState = true;

function showMore(subMenuDivId,slideHeight){
	if(lastSubMenuDivId != subMenuDivId){
		slideReset(lastSubMenuDivId);
	}
	lastSubMenuDivId = subMenuDivId;
	slideTimerClear(slideInTimer);
	subMenuContainer = document.getElementById(subMenuDivId);
	
	slideTotalHeight = getValue(slideHeight);//getValue(subMenuContainer.getAttribute("maxHeight"));
	slideOut();
}
function slideOut(){
	
	slideCurrentHeight =  getValue(slideCurrentHeight);
	slideTotalHeight = getValue(slideTotalHeight);
	
	var diff = slideTotalHeight - slideCurrentHeight;
	diff = diff > slideStep ? slideStep : diff;
	
	if(diff>0){
		
		slideCurrentHeight = slideCurrentHeight + diff;		
		try{
			subMenuContainer.style.height = slideCurrentHeight + 'px';
		}catch(ex){}
		//subMenuContainer.style.display = 'block';
		slideOutTimer = setTimeout("slideOut()",slideDelay);
	}else{
		clearTimeout(slideOutTimer);
	}
	
}
function hideMore(subMenuDivId){
	if(lastSubMenuDivId != subMenuDivId){
		slideReset(lastSubMenuDivId);
	}
	lastSubMenuDivId = subMenuDivId;
	slideTimerClear(slideOutTimer);
	subMenuContainer = document.getElementById(subMenuDivId);
	
	slideIn();
}
function slideIn(){
	slideCurrentHeight =  getValue(slideCurrentHeight);
	var diff = slideCurrentHeight - 14;
	diff = diff > slideStep ? slideStep : diff;
	if(slideCurrentHeight > 0){
		
		slideCurrentHeight = getValue(slideCurrentHeight) - diff;
		try{
			subMenuContainer.style.height = slideCurrentHeight + 'px';
		}catch(ex){}
		slideInTimer = setTimeout("slideIn()",slideDelay);
	}else{
		slideTimerClear(slideInTimer);
	}
	
}
function slideFocus(obj){
	if(subMenuContainer != obj){
		return;
	}
	slideTimerClear(slideInTimer);
	slideOut();
	
}
function slideBlur(obj){
	if(subMenuContainer != obj){
		return;
	}
	slideTimerClear(slideOutTimer);
	slideIn();
}
function slideTimerClear(timer){
	try{
		clearTimeout(timer);
	}catch(e){};
}
function slideReset(divId){
	if(divId == null){
		return;
	}
	
	slideTimerClear(slideInTimer);
	slideTimerClear(slideOutTimer);
	var subMenu = document.getElementById(divId);
	subMenu.style.height = '14px';
	slideOutTimer = null;
	slideInTimer = null;
	slideTotalHeight = 0;
	slideCurrentHeight = 14;
	//subMenu.style.display = 'none';
}
function getValue(str){
	try{
		return parseInt(str);
	}catch(e){
		;
	}
	var ret = '';
	for(var i=0;i<str.length;i+=1){
		var ch = str.charAt(i);
		if(ch <= 9 && ch >= 0){
			ret += ch;
		}
		else {
			break;
		}
	}
	return ret;
}
