var timeout	= 300;

var closetimer	= 0;
var subclosetimer	= 0;

var ddmenuitem	= 0;
var subddmenuitem	= 0;

var subflag = 0;

// open hidden layer
function mopen(id)
{	
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';

}
// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime()
{	
	if (subflag == 0) {
		closetimer = window.setTimeout(mclose, timeout);
	}
}

// go close timer
function msubclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// open hidden layer
function msubopen(id)
{	
	subflag = 1;
	// cancel close timer
	msubcancelclosetime();

	// close old layer
	if(subddmenuitem) subddmenuitem.style.visibility = 'hidden';

	// get new layer and show it
	subddmenuitem = document.getElementById(id);
	subddmenuitem.style.visibility = 'visible';

}
// close showed layer
function msubclose()
{
	if(subddmenuitem) {
	subddmenuitem.style.visibility = 'hidden';
	}
}

// go close timer
function msubclosetime()
{
	
	subclosetimer = window.setTimeout(msubclose, timeout);
	
}

// go close timer
function msubclosetime()
{	
	subflag = 0;
	subclosetimer = window.setTimeout(msubclose, timeout);
}

// cancel close timer
function msubcancelclosetime()
{
	if(subclosetimer)
	{
		window.clearTimeout(subclosetimer);
		subclosetimer = null;
	}
}


// close layer when click-out
document.onclick = mclose;
document.onclick = msubclose;


