// Copyright 2006-2007 http://javascript-array.com/scripts/simple_drop_down_menu/

var timeout	= 30;
var closetimer	= null;
var closetimer2	= null;
var ddmenuitem	= null;
var ddmenuitem2	= null;

// open hidden layer
function mopen(id)
{
	// cancel close timer
	mcancelclosetime();

	// If our ID is a sub-menu item, we don't cancel the timer and close the old one -- just yet
	if(!id.match(/-sub-/))
	{
		// close old layer
		//if(ddmenuitem && ddmenuitem != id) Effect.Fade(ddmenuitem, { duration: 0.4 });
		if(ddmenuitem && ddmenuitem != id) document.getElementById(ddmenuitem).style.visibility = 'hidden';

		// get new layer and show it
		ddmenuitem = id;
		ddmenuitem2 = null;
		//Effect.Appear(ddmenuitem, { duration: 0.4 });
		document.getElementById(ddmenuitem).style.visibility = 'visible';
	}
	else
	{
		// get new layer and show it
		ddmenuitem2 = id;
		//Effect.Appear(ddmenuitem2, { duration: 0.4 });
		document.getElementById(ddmenuitem2).style.visibility = 'visible';
	}
	//alert('(mopen)\n' + ddmenuitem + '\n' + ddmenuitem2);
}

// close shown layer
function mclose()
{
	//alert('(mclose)\n' + ddmenuitem);
	//if(ddmenuitem) Effect.Fade(ddmenuitem, { duration: 0.4 });
	if(ddmenuitem) document.getElementById(ddmenuitem).style.visibility = 'hidden';
}

// close secondary shown layer
function mclose2()
{
	//alert('(mclose2)\n' + ddmenuitem2);
	//if(ddmenuitem2) Effect.Fade(ddmenuitem2, { duration: 0.4 });
	if(ddmenuitem2) document.getElementById(ddmenuitem2).style.visibility = 'hidden';
}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
	closetimer2 = window.setTimeout(mclose2, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		//alert('(cancel-close)\n' + ddmenuitem);
		window.clearTimeout(closetimer);
		closetimer = null;
	}
	if(closetimer2)
	{
		//alert('(cancel-close)\n' + ddmenuitem2);
		window.clearTimeout(closetimer2);
		closetimer2 = null;
	}
}

function closesub(whichid)
{
	if(ddmenuitem2 && ddmenuitem2 != whichid)
	{
		//Effect.Fade(ddmenuitem2, { duration: 0.4 });
		document.getElementById(ddmenuitem2).style.visibility = 'hidden';
		ddmenuitem2 = null;
	}
}

// close layer when click-out
document.onclick = mclose;
document.onclick = mclose2;
