//Magic Menu For Bitrix
//Dream-Market, http://www.dream-btl.ru

var menuLinkPrefix="XmLink";
var menuOwnerPrefix="XmOwner";
var intTimeShow = 500;

var leftRepos = -18;
var bottomRepos = 0;

var currentMenuShow = "";
var objTimer = "";
var alreadyPosite = new Array();

function XmPosite(menu_id)
{
	objLink = document.getElementById(menuLinkPrefix + menu_id);
	objOwner = document.getElementById(menuOwnerPrefix + menu_id);
	
	if (objLink && objOwner)
	{
		objOwner.style.position = "absolute";
		objOwner.style.left = objLink.offsetLeft + leftRepos + 'px';
		objOwner.style.top = objLink.offsetTop + bottomRepos + objLink.offsetHeight + 'px';
	}
	alreadyPosite[menu_id] = true;
	
}

function XmOn(menu_id)
{
	if (objTimer) {
		//if (menu_id == currentMenuShow) {
			clearTimeout(objTimer);
		//} //else {
			//XmHide(currentMenuShow);
		//}
	}
	XmShow(menu_id);
}

function XmOut(menu_id)
{
	objTimer = setTimeout("XmHide(" + menu_id + ")", intTimeShow);
}
 

function XmShow(menu_id)
{
	objOwner = document.getElementById(menuOwnerPrefix + menu_id)
	
		//Hide old
	//	alert(currentMenuShow);
		if (currentMenuShow && menu_id != currentMenuShow) {
			XmDoHide(currentMenuShow);
		}
	
	if (objOwner) {
	
		if (objTimer) {
			clearTimeout(objTimer);
		}
		


		//Posite
		//if (alreadyPosite[menu_id] != true) {
			XmPosite(menu_id);
		//}
		
		//Show
		objOwner.style.display = "block";
		currentMenuShow = menu_id;
	}
}

function XmHide(menu_id)
{
	XmDoHide(menu_id);
	objTimer = "";
	currentMenuShow = "";
}


function XmDoHide(menu_id)
{
	objOwner = document.getElementById(menuOwnerPrefix + menu_id)
	if (objOwner) {
		objOwner.style.display = "none";
	}
}
/*
function XmGetPos(el)
{
	if (!el || !el.offsetParent)return false;
	var res=Array()
	res["left"] = el.offsetLeft;
	res["top"] = el.offsetTop;
	var objParent = el.offsetParent;
	while (objParent.tagName.toUpperCase()!="BODY")
	{
	if(objParent.className !='component-border')
		{
	res["left"] += objParent.offsetLeft;
	res["top"] += objParent.offsetTop;
		}
	objParent = objParent.offsetParent;

	}
	res["right"]=res["left"]+el.offsetWidth;
	res["bottom"]=res["top"]+el.offsetHeight;
return res;
}
*/
