/* Menu code, thanks Tino Zijdel - crisp@xs4all.nl */ 

function setOpacity (el, opacity)
{
	if (el)
	{
		if (el.filters)
		{
			el.style.filter = 'alpha(opacity=' + (opacity * 100) + ')';
		}
		else
		{
			el.style.opacity = opacity;
		}
	}
}

function initMenu (menuId)
{
	var menu = document.getElementById(menuId);
	var li = menu.getElementsByTagName('li'); 
	var i = li.length;
	var timer = null;
	
	while (i--) 
	{
		li[i].onmouseover = showMenu;
	}

	menu.onmouseout = function ()
	{
		timer = setTimeout ( function() { hideMenus ( menu, null ); }, 1000 );
	}
	
	menu.onmouseover = function ()
	{
		if ( timer )
		{
			clearTimeout ( timer );
			timer = null;
		}
	}
}

function showMenu()
{
	var ul = this.parentNode;
	
	while (ul)
	{
		if (ul.tagName.toLowerCase() == 'ul')
		{
			hideMenus(ul, this);
			break;
		}

		ul = ul.parentNode;
	}

	ul = this.firstChild;
	
	while (ul)
	{
		if (ul.nodeType == 1 && ul.tagName.toLowerCase() == 'ul')
		{
			ul.style.display = 'block';
			setOpacity(ul, 0.95);
			break;
		}

		ul = ul.nextSibling;
	}
}

function hideMenus (level, skipli)
{
	var stack = [level];
	var i = 0;
	var li, j, el, tag, opacity;
	
	do
	{
		li = stack[i].childNodes;
		j = li.length;
		
		while (j--)
		{
			el = li[j];
			
			if (el.nodeType == 1 && el != skipli)
			{
				tag = el.tagName.toLowerCase();
				
				if (tag == 'li')
				{
					stack[i++] = el;
				}
				else if (tag == 'ul' && el.style.display == 'block')
				{
					stack[i++] = el;
					el.style.display = 'none';
				}
			}
		}
	}
	while (i--);
}

/* End menu code */
