
	function getOffsetLeft (el) 
	{
		var ol = el.offsetLeft;
		while ((el = el.offsetParent) != null)
			ol += el.offsetLeft;
		return ol;
	}

	function getOffsetTop (el) 
	{
		var ot = el.offsetTop;
		while((el = el.offsetParent) != null)
		ot += el.offsetTop;
		return ot;
	}

	function hideAllMenus(except)
	{
		var divs = document.getElementsByTagName('DIV');

		for(i=0;i<divs.length;i++)
		{
			element = divs[i];
			if(element.id.indexOf("sub_")!=-1)
			{
				if(element.id!=except)
				{
					element.style.display = 'none';
				}
			}
		}
	}



	function showMenu(elementId,menu)
	{
		hideAllMenus(elementId);

		clearTimeout(timeout);
		var element = document.getElementById(elementId);
	
		if(element.style.display=='none')
		{
			element.style.display = '';
			element.style.position = 'absolute';
		}
		element.style.left = (parseInt(getOffsetLeft(menu))+160)+'px';
		element.style.top = (parseInt(getOffsetTop(menu)))+'px';
	}

	function repositionMenu(elementId,menu)
	{
		var element = document.getElementById(elementId);

		element.style.left = (parseInt(getOffsetLeft(menu))+160)+'px';
		element.style.top = (parseInt(getOffsetTop(menu)))+'px';
	}

	var timeout = null;

	function hideMenu(elementId)
	{
		var element = document.getElementById(elementId);

		if(element.style.display!='none')
			timeout = setTimeout("document.getElementById('"+elementId+"').style.display = 'none';",500);
	}
	
	function resizeMenus()
	{
		var divs = document.getElementsByTagName('DIV');

		for(i=0;i<divs.length;i++)
		{
			element = divs[i];
			if(element.id.indexOf("sub_")!=-1)
			{
				repositionMenu(element.id,document.getElementById(element.id.replace(/sub_/,'')));
			}
		}
		
	}

