//var visibleMenu = '';
var selectedButton = null;
var showedMenu = new Array(10);
var overMenuId = "";
var iTimerID = -1;

function ShowMenu(source, topMenu)
{
	//if (!topMenu) window.alert(source.id);
	var menuId = ((source.id.substring(0,3)=="btn") ? "mn" + source.id.substring(3) : source.id);
	var menu = document.getElementById(menuId);
	
	var header1 = document.getElementById("HeaderInner");
	var leftConst = 0;
	var topConst = 0;
	if (header1 != null){
		leftConst = -1 *  header1.offsetLeft;
		topConst = -1 *  header1.offsetTop;
		//alert(leftConst);
		//alert(topConst);
	}
	
	var level = menuId.split('_').length - 1;
	level += source.id.substring(0,3)=="btn" ? 0 : 1;
	
	//AddMessage('ShowMenu : ' + source.id + '   Level : ' + level);
	AddMessage('Hide - source ' + source.tagName + '   Level : ' + level);
	if (source.tagName != 'DIV') HideMenu2(level);
	if (menu == null) return;
	var obj = source;
	
	
	// zobrazene menu jiz nezobrazovat
	
	overMenuId = menuId;
	if (overMenuId == source.id)
		return;

	var combos = document.getElementsByTagName("select");
	for (i=0; i<combos.length; i++)
		if (getTop(combos[i]) < 250)  // velikost skryti dalsich kontrolu
			combos[i].style.visibility = "hidden";

	//AddMessage('ShowMenu : ' + source.id + '   Level : ' + level);
	//AddMessage(menu.id);
			
	// skryti menu zobrazenych menu
	var tmpObj;
	var tmpArray = new Array();
	
	if (obj != null)
	{
		var left = 0;
		var top = 0;
		var flagHorizontal = false;
		while (obj != null)
		{
			left += obj.offsetLeft;
			top += obj.offsetTop;
			obj = obj.offsetParent;
		}
		
		//alert("left: " + left)
		
		//alert('left: ' + (left + source.offsetWidth))
		
		//alert("source.offsetWidth: " + source.offsetWidth)
		//alert("menu.offsetWidth: " + menu.offsetWidth)
		
		if (left + source.offsetWidth + menu.offsetWidth > document.body.offsetWidth) {
			left = left - menu.offsetWidth + source.offsetWidth + 1;
		}
		else {
			left = left + ((topMenu)?0:source.offsetWidth+0) + 1
		}
		
		mnWidth = menu.offsetWidth;
		menu.style.left = left + leftConst;
		menu.style.top = top + topConst;

		//alert("menu.style.left: " + menu.style.left)
		
		if (source.attributes['hv'] != null)
			if (source.attributes['hv'].nodeValue == 'h')
				flagHorizontal = true;
		if (flagHorizontal)
			menu.style.left = left + source.offsetWidth + 0;
		else
			menu.style.top = top + ((topMenu)?source.offsetHeight+3:0);
		menu.style.visibility = '';
		menu.style.width = mnWidth;
	}
	//window.alert(showedMenu.length);
	showedMenu[level] = menu;
}
//*********************************************************************************************
//*********************************************************************************************
function HideMenu(source, hide)
{
	var menuId = ((source.id.substring(0,3) == "btn") ? "mn" + source.id.substring(3) : source.id);
	var menu = document.getElementById(menuId);
	var level = menuId.split('_').length;
	
	if (menu==null)	return;

	var tmpArray = new Array();
	
	AddMessage('SetTimeOut ' + source.tagName + ' - ' + source.id);
	window.clearTimeout(iTimerID);
	iTimerID = window.setTimeout("HideMenu2(0);", 600);
	//window.alert(iTimerID);
}
//***************************************************************************
function HideMenu2(toLevel)
{
	var tmpObj;
	var am = new Array(10);
	if (iTimerID != -1) 
	{
		window.clearTimeout(iTimerID);
		AddMessage('TimeOut nynulovan.' + iTimerID);
	}
	AddMessage('Hide ' + toLevel);
	for(i=showedMenu.length-1; i>=0; i--)
	{
		tmpObj = showedMenu[i];
		if (tmpObj != null)
		{
			if (i >= toLevel)
			{
				tmpObj.style.visibility = 'hidden';
				tmpObj.className = "";
			}
			else
			{
				am[i] = tmpObj;
			//window.alert(tmpObj.id);
			}
		}
	}
	var combos;
	if (toLevel <= 0)
	{
		combos = document.getElementsByTagName("select");
		for (i=0; i<combos.length; i++)
			combos[i].style.visibility = "";
	}
	showedMenu = am;
}
//***************************************************************************
function AddMessage(s)
{
	return;
	var o = document.getElementById('xxx');
	o.value = s + '\n\r' + o.value;
}
//***************************************************************************
function SetRowSelected(row, selected)
{
//	row.className = ((selected)?'selected':'');
	for (i=0; i<row.cells.length; i++)
	{
		row.cells[i].className = ((selected)?'selected':'');
	}
}
//***************************************************************************
function getTop(el)
{
	if(el == null)
		return 0;
	if (el.tagName.toLowerCase() == 'body' ) {return 0;}	
	return el.offsetTop + getTop(el.offsetParent) - 2;
}