// JavaScript Document
var d=document,i,timeHid,lastSubM;

window.onload=function(){
	if(d.getElementById('menu')){
		menuT=d.getElementById('menu');
	//останавливается отсчет времени для скрытия последнего
	//и вызывается функция на открытие последнего.
	menuT.onmouseover=function(){
		if(timeHid)
			clearTimeout(timeHid);
		if(lastSubM)
			show(lastSubM);
	};
	//скрывается открытое подменю
	menuT.onmouseout=function(){
		if(lastSubM)
			hidSubM(lastSubM,allLiM);
	}
	
	allLiM=menuT.getElementsByTagName('li');
	for(i=0;i<allLiM.length;i++){
		if(allLiM[i].getElementsByTagName('table')[0]){					// если имеется подменю,
			allLiM[i].onmouseover=function(){							// то при наведении
				lastSubM=this.getElementsByTagName('table')[0]; 			// последним назначаем это имеющееся подменю,
				closeOthersSub(allLiM,this);							// скрываем все открытые в данный момент подменю
				this.getElementsByTagName('a')[0].className="active_m";	// подсвечиваем пункт главного меню.
			};
		}
		else
			allLiM[i].onmouseover=function(){ // если у данного пункта нет подменю, последним назначаем null, и также закрываем все открытые
				lastSubM=null;
				closeOthersSub(allLiM);
			};
	}
	}
	subBg();
	//
}

function show(lastObj){
	lastObj.style.display="block";
	allSubLink=lastObj.getElementsByTagName('a');
	for(j=0;j<allSubLink.length;j++)
		allSubLink[j].onmouseover=function(){
			showSub(this);
		}
}

//закрывает открытое в данные момент подменю, последнее назначает null, и убираем подсветку с последнего активного пункта
function hidSubM(subObj,allS){
	timeHid=setTimeout(hid, 400);
	function hid(){
		subObj.style.display="none";
		//subObj.parentNode.getElementsByTagName('a')[0].className="";
		lastSubM=null;
		closeOthersSub(allS);
	}
}

//вызывается для закрытия всех подменю при наведении на следующий пункт, а также уничтожения назначенных классов активности.
function closeOthersSub(allS,actual){
	for(j=0;j<allS.length;j++){
		if(allS[j]!=actual&&allS[j].getElementsByTagName('table')[0]){
			allS[j].getElementsByTagName('table')[0].style.display="none";
			allS[j].getElementsByTagName('a')[0].className="";
		}
		if(allS[j]!=actual){
			//
			allSubBlock=allS[j].getElementsByTagName('table');
			for(m=0;m<allSubBlock.length;m++)
				allSubBlock[m].style.display="none";
			allSubLink=allS[j].getElementsByTagName('a');
			/*for(m=0;m<allSubLink.length;m++)
				allSubLink[m].className="";*/
			//
		}
	}
}



function showSub(lnObj){
	//
	miniHid(); // вызов функции которая скрывает все открытые sub sub меню, и уничтожает классы для активных ссылок
	//
	nextS=lnObj.parentNode.nodeName=="TABLE"?lnObj.nextSibling:lnObj.parentNode.nextSibling;
	function findNode(nd){
		if(nd.nodeName=="TABLE"){
			nd.style.display="block";
			//lnObj.className="akt_sub";
		}
		else if(nd.nodeName=="A"||nd.nodeName=="PRE")
			return 0;
		else{
			if(nd.nextSibling)
				findNode(nd.nextSibling);
		}
	}
	if(nextS)
		findNode(nextS);
		
	function miniHid(){
		subDiv=lnObj.parentNode.nodeName=="TABLE"?lnObj.parentNode.getElementsByTagName('table'):lnObj.parentNode.parentNode.getElementsByTagName('table');
		lk=lnObj.parentNode.nodeName=="TABLE"?lnObj.parentNode.getElementsByTagName('a'):lnObj.parentNode.parentNode.getElementsByTagName('a');
		for(j=0;j<subDiv.length;j++)
			subDiv[j].style.display="none";
		/*for(j=0;j<lk.length;j++)
			lk[j].className="";*/
	}
}

function subBg(){
	allSub=d.getElementsByTagName('input');
	for(i=0;i<allSub.length;i++){
		if(allSub[i].type=="submit"&&allSub[i].className.match(/submit/)!=null){
			//create div
			nSp=d.createElement('span');
			nSp.className="conteiner_sub";
			if(allSub[i].nextSibling)
				allSub[i].parentNode.insertBefore(nSp,allSub[i].nextSibling);
			else
				allSub[i].parentNode.appendChild(nSp);
			nSp.appendChild(allSub[i]);
		}
	}
}

