// ID суперродительского блока в котором содержиться все меню
var menuBlockName = "menu";
var menuBlockName2 = "menu2";
var subMenuBlockName = "topSubMenu";
// префикс блоков сабменю
var subName = "sub";
// атрибут в котором пишуться номера страниц
var attrName = "pid";

// иницифция меню
function init(page)
{
	// проверка существует ли меню
	if(!getObj(menuBlockName) || !getObj(menuBlockName2))
		return;

	setOnOver();
	setActiveLink(page);
	setSubActiveLink(page);
}

// установка действий при клике
function setOnOver()
{
	var menuBlock = getObj(menuBlockName);
	var menuBlockLinks = menuBlock.getElementsByTagName("A");
	for(var i = 0; i < menuBlockLinks.length; i++)
		menuBlockLinks[i].onmouseover = menuOver;

	var menuBlock2 = getObj(menuBlockName2);
	var menuBlockLinks2 = menuBlock2.getElementsByTagName("A");
	for(var i = 0; i < menuBlockLinks2.length; i++)
		menuBlockLinks2[i].onmouseover = menuOver;

}

// действие при нажатии на пункт меню
function menuOver()
{
	// прячем все пункты
	hideAll();

	if(!getObj(subName + this.getAttribute(attrName))) 
		return;

	var subObj = getObj(subName + this.getAttribute(attrName));

	// открываем нужную ветвь меню
	setActiveLink(this.getAttribute(attrName))
	return false;
}

// функция открытия ветви меню до нужного пункта
function setActiveLink(id)
{
	var menuBlock = getObj(menuBlockName);
	var menuBlockLinks = menuBlock.getElementsByTagName("A");

	for(var i = 0; i < menuBlockLinks.length; i++)
	{
		if(menuBlockLinks[i].getAttribute(attrName) == id)
		{
			// открываем подменю нажатого пункта
			var menuLinkParent = menuBlockLinks[i].parentNode;
			if(getObj(subName + id))
				getObj(subName + id).style.display = "block";

			// открываем все родительские блоки нажатого пункта меню (блоки должны быть DIV)
			menuLinkParent.style.display = "block";
			break;
		}
	}	
}
// функция открытия ветви меню до нужного пункта
function setSubActiveLink(id)
{
	var subMenuBlock = getObj(subMenuBlockName);
	var subMenuBlockLinks = subMenuBlock.getElementsByTagName("A");

	for(var i = 0; i < subMenuBlockLinks.length; i++)
	{
		if(subMenuBlockLinks[i].getAttribute(attrName) == id)
		{
			// открываем подменю нажатого пункта
			var subMenuLinkParent = subMenuBlockLinks[i].parentNode;
			if(getObj(subName + id))
				getObj(subName + id).style.display = "block";

			// открываем все родительские блоки нажатого пункта меню (блоки должны быть DIV)
			subMenuLinkParent.style.display = "block";
			break;
		}
	}	
}

// прячем все сабменю
function hideAll()
{
	var menuBlock = getObj(menuBlockName);
	var menuBlockLinks = menuBlock.getElementsByTagName("A");

	for(var i = 0; i < menuBlockLinks.length; i++)
	{
		if(getObj(subName + menuBlockLinks[i].getAttribute(attrName))) 
			getObj(subName + menuBlockLinks[i].getAttribute(attrName)).style.display = "none";
	}
}

// определение объекта по ID
function getObj(obj)
{
	return document.getElementById(obj)? document.getElementById(obj) : false;
}