	var over;
	var overtop;

	var opened = new Array();
	var openedw;

	var openedtop = new Array();
	var openedwtop;

	function showMenuTop(id, level)
	{
		overtop = true;
		clearTimeout();
		setTimeout('showMenuNowTop('+id+', '+level+')', 200);
	}
	function showMenuNowTop(id, level)
	{
		clearTimeout();
		if(level == 1) openedwtop = lref('lefttop'+id).offsetTop;
		if(openedtop[level])
		{
			hideChildrenNowTop(level); // Закрываем, если открыто что-то на этом уровне и выше
		}
		openedtop[level] = id;

		var delta = 0;
		for(i = 2; i < openedtop.length; i++)
		{
			if(openedtop[i] != '')
			{
				if(lref('ordertop'+openedtop[i]))
					delta = delta + (parseInt(lref('ordertop'+openedtop[i]).value) - 1);
			}
		}

		if(lref('divtop'+id))
		{
//			  var postop = openedtop + (parseInt(lref('order'+id).value)-1) * 25 * (level-1);
			var postop = openedwtop + (delta) * 27 + level * 4 + 14;
			var posleft = lref('tt'+id).offsetLeft + 220;
			if(level >= 2)
				posleft = lref('divtop'+openedtop[level-1]).offsetWidth + lref('divtop'+openedtop[level-1]).offsetLeft -7;


//			alert(lref('td'+id).offsetLeft + ' ' + lref('td'+id).offsetWidth);


			lref('divtop'+id).style.left = posleft;
			lref('divtop'+id).style.top = postop;
			//lref('div'+id).style.top = lref('left'+id).offsetTop - 5 + 10*level;
			lref('divtop'+id).style.visibility = 'visible';
		}
	}


	function showMenu(id, level)
	{
		over = true;
		clearTimeout();
		setTimeout('showMenuNow('+id+', '+level+')', 200);
	}
	function showMenuNow(id, level)
	{
		clearTimeout();
		if(level == 1) openedw = lref('left'+id).offsetTop;
		if(opened[level])
		{
			hideChildrenNow(level); // Закрываем, если открыто что-то на этом уровне и выше
		}
		opened[level] = id;

		var delta = 0;
		for(i = 2; i < opened.length; i++)
		{
			if(opened[i] != '')
			{
				if(lref('order'+opened[i]))
					delta = delta + (parseInt(lref('order'+opened[i]).value) - 1);
			}
		}

		if(lref('div'+id))
		{
//			  var postop = openedtop + (parseInt(lref('order'+id).value)-1) * 25 * (level-1);
//alert(lref('left'+id).offsetTop);
//			var postop = openedw + (delta) * 28 + level * 15;
            var deltaplus = 0;
            if(lref('left'+id))
                deltaplus = lref('left'+id).offsetTop;
            if(level > 1)
                deltaplus += openedw;
			var postop = level * 3 + deltaplus + 10;
			var posleft = lref('td'+id).offsetWidth + lref('td'+id).offsetLeft -7 + 25;
			if(level >= 2)
				posleft = lref('div'+opened[level-1]).offsetWidth + lref('div'+opened[level-1]).offsetLeft -7;


			//alert(event.clientY);


			lref('div'+id).style.left = posleft;
			lref('div'+id).style.top = postop;
			//lref('div'+id).style.top = lref('left'+id).offsetTop - 5 + 10*level;
			lref('div'+id).style.visibility = 'visible';
		}
	}
	function lref(id)
	{
		return(document.getElementById(id));
	}
	function hideChildren(level)
	{
		over = true;
		clearTimeout();
		setTimeout('hideChildrenNow('+level+')', 200);
	}
	function hideChildrenTop(level)
	{
		overtop = true;
		clearTimeout();
		setTimeout('hideChildrenNowTop('+level+')', 200);
	}
	function hideChildrenNow(level)
	{
		for(i=level;i<opened.length;i++)
		{
			if(opened[i] != '')
			{
				if(lref('div'+opened[i]))
					lref('div'+opened[i]).style.visibility='hidden';opened[i]="";
			}
		}
		for(i=level;i<openedtop.length;i++)
		{
			if(openedtop[i] != '')
			{
				if(lref('divtop'+openedtop[i]))
					lref('divtop'+openedtop[i]).style.visibility='hidden';openedtop[i]="";
			}
		}
	}
	function hideChildrenNowTop(level)
	{
		for(i=level;i<openedtop.length;i++)
		{
			if(openedtop[i] != '')
			{
				if(lref('divtop'+openedtop[i]))
					lref('divtop'+openedtop[i]).style.visibility='hidden';openedtop[i]="";
			}
		}
		for(i=level;i<opened.length;i++)
		{
			if(opened[i] != '')
			{
				if(lref('div'+opened[i]))
					lref('div'+opened[i]).style.visibility='hidden';opened[i]="";
			}
		}
	}
	function closeAll()
	{
		for(i = 0; i < opened.length; i++)
		{
			if(opened[i] != '')
			{
				if(lref('div'+opened[i]))
					lref('div'+opened[i]).style.visibility='hidden';opened[i]="";
			}
		}
	}
	function closeAllTop()
	{
		for(i = 0; i < openedtop.length; i++)
		{
			if(openedtop[i] != '')
			{
				if(lref('divtop'+openedtop[i]))
					lref('divtop'+openedtop[i]).style.visibility='hidden';openedtop[i]="";
			}
		}
	}
	function checkForClose()
	{
		over = false;
		clearTimeout();
		setTimeout('lastCheckForClose()', 1000);
	}
	function lastCheckForClose()
	{
		if(!over)
		{
			closeAll();
		}
		if(!overtop)
		{
			closeAllTop();
		}
    }
	function lastCheckForCloseTop()
	{
		if(!over)
		{
			closeAll();
		}
		if(!overtop)
		{
			closeAllTop();
		}
	}

 	function checkForCloseTop()
	{
		overtop = false;
		clearTimeout();
		setTimeout('lastCheckForCloseTop()', 1000);
	}

