var timeout	= 250;
var closetimer	= 0;
var ddmenuitem	= 0;

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

	// close old layer
	if(ddmenuitem)  Element.hide(ddmenuitem);

	// get new layer and show it
	ddmenuitem = $(id);

daddy=$(daddy).up();
//	ddmenuitem.style.left = $(daddy).offsetLeft-21;
//	ddmenuitem.style.top = $(daddy).offsetTop+155;
ddmenuitem.clonePosition($(daddy), {offsetTop:20, offsetLeft:-11, setWidth:false, setHeight:false} );
	if(w){
	var change=parseInt(ddmenuitem.style.left);
	ddmenuitem.style.left = (change-w)+"px";
	}
	
	Element.show(ddmenuitem);
	//ddmenuitem.style.display = "table";

}

// close showed layer
function mclose()
{
	if(ddmenuitem) Element.hide(ddmenuitem);
}

// 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; 

function out(e,tohide){
if (!e) var e = window.event;
var tg = (window.event) ? e.srcElement : e.target;
//if (tg.id != tohide.id){
//return;
//}
var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement;
while (reltg != tg && reltg.tagName != 'BODY' && reltg.id != 'warp'){
reltg = $(reltg).up();
if (reltg == tg){
return;
}
}
mclosetime()
return false;
}
