// JavaScript Document
// SDDM - Simple Drop Down Menu
// Copyright 2006-2007 javascript-array.com

var timeout	= 500;
var closetimer	= 0;
var ddmenuitem	= 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);
	//alert("menu item id: " + ddmenuitem);
	ddmenuitem.style.visibility = 'visible';
}

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

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

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

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

///////////////////////////////////////////////
//
//	Portal Dropdown menus
//
///////////////////////////////////////////////

var ptimeout	= 500;
var pclosetimer	= 0;
var pddmenuitem	= 0;
var ltimeout = 5000;
var sclosetimer	= 0;
var sddmenuitem	= 0;
var lclosetimer	= 0;


// open hidden layer
function popen(id)
{	
	// cancel close timer
	pcancelclosetime();
	// close old layer
	if(pddmenuitem) pddmenuitem.style.visibility = 'hidden';
	// get new layer and show it
	pddmenuitem = document.getElementById(id);
	// Set the left of the div according to the width of the parent container
	pddmenuitem.style.left = (pddmenuitem.parentNode.offsetLeft + 100) + "px";
	//alert("menu item id: " + ddmenuitem);
	pddmenuitem.style.visibility = 'visible';
}

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

// go close timer
function pclosetime()
{
	pclosetimer = window.setTimeout(pclose, ptimeout);
	
//	if (pddmenuitem.style) {
//		if (pddmenuitem.style.visibility == 'hidden')
//		{
//			pclosetimer = window.setTimeout(pclose, ptimeout);
//		}		
//	}

//	if (!sddmenuitem.style == null) {
//		if (sddmenuitem.style.visibility == 'hidden')
//		{
//			pclosetimer = window.setTimeout(pclose, ptimeout);
//		}		
//	}
}

// cancel close timer
function pcancelclosetime()
{
	if(pclosetimer)
	{
		window.clearTimeout(pclosetimer);
		pclosetimer = null;
	}
	if(lclosetimer)
	{
		window.clearTimeout(lclosetimer);
		lclosetimer = null;
	}
}

// open hidden layer
function smopen(id, e)
{	
	// cancel close timer
	smcancelclosetime();
	pcancelclosetime();
	// close old layer
	if(sddmenuitem) sddmenuitem.style.visibility = 'hidden';
	// get new layer and show it
	sddmenuitem = document.getElementById(id);
	//alert("menu item id: " + ddmenuitem);
	//alert("submenu item top: " + e.parentElement.offsetTop);
	// Set the top of the div according to the top of the object that called the method
	sddmenuitem.style.top = (pddmenuitem.offsetTop + e.offsetTop + 18) + "px";
	// and the left of the div according to the width of the parent div
	sddmenuitem.style.left = (pddmenuitem.offsetLeft + 100) + "px";
	sddmenuitem.style.visibility = 'visible';
}

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

// go close timer
function smclosetime()
{
	sclosetimer = window.setTimeout(smclose, timeout);
	lclosetimer = window.setTimeout(pclose, ltimeout);
}

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

// close layer when click-out
document.onclick = pclose
document.onclick = smclose
