// скрыть div-ы выпадающего меню выше текущего уровня
function hideAbove(level) {
	for(i=level;i<maxin;i++) {
		eval('document.getElementById("l'+i+'").style.visibility = "hidden"');
		if (lighted[i]!=null) lighted[i].className = highlights[i];
	}
}

// скрыть ненужное, но оставить нужное
function notHide(level) {
	clearTimeout(hidetmr);
	hideAbove(level);
}

// функция для заполнения выпадающего меню уровня level+1 подразделами раздела id0 при наведении на ссылку calls уровня level
function fillMenu(calls,level,id0,evt) {
	// высота одной строки меню для выравнивания дропдаунов в Gecko
	var strheight = 25;
	hideAbove(level);
	lighted[level] = calls;
	highlights[level] = calls.className;
	if (calls.className!='mitemb') calls.className = "mitema";
	idsarr = eval("ids"+id0);
	subarr = eval("subs"+id0);
	linkarr = eval("link"+id0);
	hassub = eval("branched"+id0);
	if (subarr!=null && linkarr!=null) {
		clearTimeout(hidetmr);
		divToFill = eval('document.getElementById("l'+level+'")');
		divToFill.innerHTML = '';
		for (i=0;i<subarr.length;i++) {
			behav = (hassub[i]) ? ' onmouseover="fillMenu(this, '+(level+1)+', '+idsarr[i]+', event)" onmouseout="hide(this,'+(level+1)+')"' : ' onmouseover="notHide('+(level+1)+')" onmouseout="hide(this,'+(level+1)+')"';
			divToFill.innerHTML += '<div><a href="'+linkarr[i]+'"'+ ((hassub[i])?'class="mitemm"':'class="mitemn"')+behav+'>'+subarr[i]+'</a>'+'</div>';
		}
		var topPx;
		if (level!=1) {
			topPx = parseInt(calls.parentNode.parentNode.style.top);
			for (i=0;calls.parentNode.parentNode.childNodes[i] != calls.parentNode;i++) {
				try {
					topPx += calls.parentNode.parentNode.childNodes[i].offsetHeight+3;
				}
				catch (i) {}
			}
		}
		else {
			topPx = 179;
			for (i=0;calls.parentNode.parentNode.parentNode.childNodes[i]!=calls.parentNode.parentNode;i++) {
				try {
					if (calls.parentNode.parentNode.parentNode.childNodes[i].offsetHeight)
						topPx += calls.parentNode.parentNode.parentNode.childNodes[i].offsetHeight;
				}
				catch (i) {}
			}
		}
		
		if (divToFill.style.visibility != 'visible') {
			divToFill.style.top = '' + topPx + 'px';
		}
		divToFill.style.visibility = 'visible';
	}
}

// при уводе со ссылки через 0,5с скрыть все выпадающие меню полностью
function hide(calls,level) {
	hidetmr = setTimeout("hideAbove(1)",500);
}

var hidetmr;
var IE = (navigator.appName.indexOf("Internet Explorer") > 0);
// массив исходных стилей ссылок, измененных скриптом
var highlights = new Array();
for (i=0;i<maxin;i++) highlights[i] = "mitem";
var lighted = new Array();
