
	var _spacers = Array(), maxid = 0;
	
	function registerMenus()
	{
		menus = document.getElementsByTagName("div");
		for (i = 0; i < menus.length; i++)
		{
			menu = menus[i];
			if (menu.className == "menuitem")
			{
				menu.onmouseover = showMenu;
				menu.onmouseout  = triggerHiding;
				menu.id = maxid;
				maxid++;
			}		
		}
		
		spacers = document.getElementsByTagName("div");
		n = 0;
		for (i = 0; i < spacers.length; i++)
		{
			spacer = spacers[i];
			if (spacer.className == "spacer")
				_spacers[n++] = spacer;
		}			
	}
	
	var co = null;
	function showMenu()
	{
		if (co != null)
		{
			if (to != null)
			{
				window.clearTimeout(to);
				to = null;
			}
				
			hideMenu();
		}
		
		co = this;		
		if (co.id != 0)
			_spacers[co.id-1].style.height = Math.ceil((co.scrollHeight-1)/16)*16;
			
		if (co.id != maxid - 1)
			_spacers[co.id].style.height = Math.ceil((co.scrollHeight-1)/16)*16;
			
		co.style.overflow = "visible";
	}

	var to = null;
	function triggerHiding()
	{
		if (to != null)
		{
			window.clearTimeout(to);
			to = null;
		}
			
		to = window.setTimeout("hideMenu()", 400);				
	}
	
	function hideMenu()
	{
		if (co == null)
			return;
			
		if (co.id != 0)
			_spacers[co.id-1].style.height = 16;
	
		if (co.id != maxid - 1)
			_spacers[co.id].style.height = 16;
			
		co.style.overflow = "hidden";
		co = null;
	}
	
	window.setTimeout("registerMenus()", 100);