// Переменная, устанавливающая задержку пребывания развернутого меню
var tm;

//Функция, дающая запрет закрытию подменю
function cancelClose(){
    if(tm) {
        clearTimeout(tm);
    };
};

//Функция, открывающая меню
function showMenu(obj) {
	
	//Если не существует доселе открытого подменю, то...
	if(typeof object == "undefined")
		{
			cancelClose();
			//Находим элементы. которые должны быть показаны
			parentObj = obj.parentNode;
			workObj = parentObj.childNodes;
			for (i=0;i<workObj.length;i++)
				{
					if(typeof workObj[i].className != 'undefined')
						if(workObj[i].className.indexOf("submenu") == 0)
							{
								selObj = obj;
								if(selObj.className.indexOf("act") == -1)
									selObj.className = 'hover';
								else
									selObj.className = 'act hover';
								//Обозначаем то, что пожменю уже открыто
								object = workObj[i];
								//Открываем само подменю
								object.style.display = 'block';
							};
				};
		};
};

//Функция устанавливающая задержку закрытия, при отведения мыши в поле, где не находтся другого элемента основного меню
function closeMenu() {
    tm = setTimeout("hideMenu()",1000);
};

//Закрывает открытое меню до этого меню
function hideMenu() {
	if (typeof object != "undefined")
		{
			object.style.display = "none";
			object = undefined;
			if(selObj.className.indexOf("act") == -1)
				selObj.className = '';
			else
				selObj.className = 'act';
		};
};

//Функция расставляем события для элементов меню и подменю
//имеет в своем составе переменную, задающую id основного меню
function srMenu(menuId) {
	if(typeof menuId != 'undefined')
		{
			menuElem = document.getElementById(menuId);
			elementA = menuElem.getElementsByTagName('A');
			elementDl = menuElem.getElementsByTagName('DL');
			
			/* Задаем стандартные реакции на наведение мыши на элемент меню */
			for (i=0;i<elementA.length;i++)
				{
						if(elementA[i].parentNode.tagName.indexOf('DIV') == 0)
							 {
								  elementA[i].onmouseover = function() { hideMenu();showMenu(this); }
								  elementA[i].onmouseout = function() { closeMenu() }
							};
				  };
			/* Задаем размеры выпадающего меню и ракции на его наведение */
			 for (i=0;i<elementDl.length;i++)
				{
						if(elementDl[i].parentNode.tagName.indexOf('DIV') == 0)
							 {
								  elementDl[i].onmouseover = function() { cancelClose(); }
								  elementDl[i].onmouseout = function() { closeMenu() }
							 };
				  };
		};
};
//other functions
function Expand(id)
{
document.getElementById('splitter'+id).style.display = 'block';
}
function Hide(id)
{
document.getElementById('splitter'+id).style.display = 'none';
}