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

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

	setOnClick();
	setActiveLink(page);
}

// установка действий при клике
function setOnClick()
{
	var menuBlock = getObj(menuBlockName);
	var menuBlockLinks = menuBlock.getElementsByTagName("A");
	for(var i = 0; i < menuBlockLinks.length; i++)
		menuBlockLinks[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)
		{
			// открываем подменю нажатого пункта
			if(getObj(subName + menuBlockLinks[i].getAttribute(attrName))) 
				getObj(subName + menuBlockLinks[i].getAttribute(attrName)).style.display = "block";
			break;
		}
	}
	
	var menuBlock = getObj(menuBlockName2);
	var menuBlockLinks = menuBlock.getElementsByTagName("A");

	for(var i = 0; i < menuBlockLinks.length; i++)
	{
		if(menuBlockLinks[i].getAttribute(attrName) == id)
		{
			// открываем подменю нажатого пункта
			if(menuBlockLinks[i].parentNode != menuBlockName2) 
				menuBlockLinks[i].parentNode.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;
}
