function funGetLeftPos(el)
{
	if(document.getBoxObjectFor)
	{
		if(el.tagName!='INPUT'&&el.tagName!='SELECT'&&el.tagName!='TEXTAREA')
		return document.getBoxObjectFor(el).x
	}
	
	var returnValue=el.offsetLeft;
	while((el=el.offsetParent)!=null)
	{
		if(el.tagName!='HTML')
		{
			returnValue += el.offsetLeft;
			if(document.all) returnValue+=el.clientLeft;
		}
	}
	
	return returnValue;
}

function funGetTopPos(el)
{
	if(document.getBoxObjectFor)
	{
		if(el.tagName!='INPUT'&&el.tagName!='SELECT'&&el.tagName!='TEXTAREA')
		return document.getBoxObjectFor(el).y
	}

	var returnValue=el.offsetTop;
	while((el=el.offsetParent)!=null)
	{
		if(el.tagName!='HTML')
		{
			returnValue += (el.offsetTop-el.scrollTop);
			if(document.all)
				returnValue+=el.clientTop;
		}
	}
	
	return returnValue;
}

var txtShowMenu = null;
var MenuBodyClick = function(){};

function funShowMenu(parentId, id)
{
	var refParent = document.getElementById(parentId);
	var refMenu = document.getElementById(id);
	var arrMenu = refMenu.getElementsByTagName('div');
	var refMenuInner = arrMenu[0];
	
	if (txtShowMenu != null)
	{
		funHideMenu();
		/*
		refMenu = document.getElementById(txtShowMenu);
		arrMenu = refMenu.getElementsByTagName('div');
		refMenuInner = arrMenu[0];
	
		if (id == txtShowMenu)
			funSlideUp(txtShowMenu,(refMenuInner.clientHeight-(refMenuInner.clientHeight*2)),0,2,10)
		else
			funSlideUp(txtShowMenu,(refMenuInner.clientHeight-(refMenuInner.clientHeight*2)),0,2,10,'funShowMenu(\''+parentId+'\', \''+id+'\');')
		txtShowMenu = null;
		
		return false;*/
	}
		
	var leftPos = funGetLeftPos(refParent);
	var topPos = funGetTopPos(refParent);
	
	refMenu.style.position = 'absolute';
	refMenu.style.top = (topPos+refParent.clientHeight)+'px';
	refMenu.style.left = leftPos+'px';
	refMenu.style.width = refParent.clientWidth + 'px';
	
	refMenu.style.display = '';
	refMenu.style.overflow = '';
	refMenu.style.margin = '0px';
	
	refMenuInner.style.top = '0px';
	refMenuInner.style.width = '100%';
	
	refMenu.style.height = refMenuInner.clientHeight + 'px';
	
	refMenu.style.overflow = 'hidden';
	refMenuInner.style.position = 'relative';
	refMenuInner.style.top = '-'+refMenuInner.clientHeight+'px';
	
	txtShowMenu = id;
	
	funSlideDown(id,0,(refMenuInner.clientHeight-(refMenuInner.clientHeight*2)),1,10);
	
	refMenuInner.onmouseover = function()
						{
							document.body.onmousemove = function(e)
							{
								if(document.all)e=event;
								var refMenu = document.getElementById(txtShowMenu);
								var leftPos = funGetLeftPos(refMenu);
								var topPos = funGetTopPos(refMenu);
								//alert(e.clientX + '::' + e.clientY + '::' + leftPos + '::' + topPos);
								if (e.clientX > leftPos+refMenu.clientWidth || e.clientX < leftPos || e.clientY < topPos || e.clientY > topPos+refMenu.clientHeight)
									funHideMenu();
							};
						};
	
	return false;
}

function funHideMenu()
{
	if (txtShowMenu != null)
	{
		document.getElementById(txtShowMenu).style.display = 'none';
		document.body.onmousemove = null;
	}
}

function funSlideDown(id,endTop,startTop,slideStep,slideSpeed,callOnFinish)
{
	var i = 0;
	var a = 0;
	var multiplier = (document.all ? 2 : 1);
	
	var refMenu = document.getElementById(id);
	var arrMenu = refMenu.getElementsByTagName('div');
	var refMenuInner = arrMenu[0];
	
	callOnFinish = unescape(callOnFinish);
	
	refMenuInner.style.top = startTop + 'px';
	
	startTop += (slideStep * multiplier);
	
	if (startTop >= endTop)
	{
		refMenuInner.style.top = endTop + 'px';
		if (callOnFinish)
			eval(callOnFinish);
	}
	else
	{
		setTimeout('funSlideDown(\'' + id + '\',' + endTop + ','+ startTop +','+slideStep+','+slideSpeed+',\''+escape(callOnFinish)+'\')',(slideSpeed / multiplier));
	}
}

function funSlideUp(id,endTop,startTop,slideStep,slideSpeed,callOnFinish)
{
	var i = 0;
	var a = 0;
	var multiplier = (document.all ? 2 : 1);
	
	var refMenu = document.getElementById(id);
	var arrMenu = refMenu.getElementsByTagName('div');
	var refMenuInner = arrMenu[0];
	
	callOnFinish = unescape(callOnFinish);
	
	refMenuInner.style.top = startTop + 'px';
	
	startTop -= (slideStep * multiplier);
	
	if (startTop <= endTop)
	{
		refMenuInner.style.top = endTop + 'px';
		if (callOnFinish)
			eval(callOnFinish);
	}
	else
	{
		setTimeout('funSlideUp(\'' + id + '\',' + endTop + ','+ startTop +','+slideStep+','+slideSpeed+',\''+escape(callOnFinish)+'\')',(slideSpeed / multiplier));
	}
}