/*Курсор мыши проходит через ссылку, имеющей подменю*/
var menuTimeout=null;
var menus=new Array();

function m_submenu(theEvent) {
    var el;
    if (!theEvent) {theEvent=event;el=theEvent.srcElement;} else { if (theEvent.srcElement) el=theEvent.srcElement; else el=theEvent.target; }
    var ul=el.nextSibling;
    var place=new getXY(el);

return;
    ul.style.top=place.y;
    ul.style.left=place.x;
    ul.style.display='block';
    ul.style.backgroundColor='#f5f5f5';
    ul.style.borderWidth='1px';
    ul.style.borderStyle='solid';

    
    
//alert('SUBMENU=' + ul.tagName);
//    info('submenu '+el.innerHTML);
/*
    el.style.backgroundColor="#ffffff";
    el.style.color="#999999";
    if (menuTimeout) menuTimeout=clearTimeout(menuTimeout);
    var className=el.className;
    var level=parseInt(className.substr(5));
   if (!el.submenu) {   //подменю пока не сформировано
//alert(el.onmouseover);
	var path=el.getAttribute('path');
	var width=el.offsetWidth;
	var supSubmenu; //контейнер для строк меню и окончания выпадающего меню
	var submenu=document.createElement('div');
	submenu.className='menu_'+level;
	submenu.onmouseout=m_menuOut;
	submenu.style.position='fixed';
	submenu.style.position='absolute';
	submenu.style.display='none';
	submenu.style.backgroundImage="url('/images/bg3.gif')";
	var desc=m_getSubMenu(path);    //получить описание подменю
//      alert(desc.name);
	var div;
	if (desc.submenu) {     //Есть готовое подменю?
	    var step,descs,Path;
	    for (step in desc.submenu) {
		descs=desc.submenu[step];
		div=document.createElement('div');
		div.className='mref_'+(level+1);
		div.innerHTML= descs.name ;
		if (!descs.title) descs.title=descs.name;
		div.title=descs.title;
		div.onmouseout=m_refOut;
		Path=path+'/'+step;
		var nPath=Path.length;
		if (menutree.pagePath==Path ||
		    menutree.pagePath.substr(0,nPath)==Path && menutree.pagePath.substr(nPath,1)=='/') {
//                if (menutree.pagePath.indexOf(Path)>=0) {
//alert(menutree.pagePath+' | '+Path);
		    div.className=(menutree.pagePath==Path)?'mthis':'mpath';
		    div.className+=(level+1);
		}
		div.setAttribute('path',Path);
		if (descs.submenu || descs.byDivs) {
		    div.onmouseover=m_submenu;
		} else {
		    div.onmouseover=m_refOver;
		}
		if (descs.href) {
		    var href=menutree.pgrHTTP+descs.href;
		    var Href=descs.href;
		    if (descs.byDivs) {
			Href+='?subdiv=-1';
		    }
		    div.setAttribute('pgrHREF',Href);
		    if (menutree.pagePath!=Path) {
			div.onclick=m_click;
			div.style.cursor='pointer';
		    }
		}
		submenu.appendChild(div);
	    }
//            alert(submenu.innerHTML);
	} else {
	    if (desc.byDivs) {  //Сформировать подменю подоазделений
		if (!desc.title) desc.title=desc.name;
		var nSubdiv,nameSubdiv;
//                alert(listprop(desc));
		for (nSubdiv in menutree.subdivs) {
		    nameSubdiv=menutree.subdivs[nSubdiv];
		    div=document.createElement('div');
		    div.className='mref_'+(level+1);
		    div.innerHTML=nameSubdiv;
		    div.title=desc.title+': '+nameSubdiv;
		    div.setAttribute('pgrHREF',desc.href+'?subdiv='+nSubdiv);
		    Path=path+'/'+nSubdiv;
		if (menutree.pagePath==Path ||
		    menutree.pagePath.substr(0,nPath)==Path && menutree.pagePath.substr(nPath,1)=='/') {
//                    if (menutree.pagePath.indexOf(Path)>=0) {
    //alert(menutree.pagePath+' | '+Path);
			div.className=(menutree.pagePath==Path)?'mthis':'mpath';
			div.className+=(level+1);
		    }
		    div.setAttribute('path',Path);
		    div.onmouseover=m_refOver;
		    div.onmouseout=m_refOut;
		    div.onclick=m_click;
		    div.style.cursor='pointer';
		    submenu.appendChild(div);
		}
	    }
	}
	if (level < 1 ) {
	    submenu.style.width=width;
	}
	div=document.createElement('div');
	document.body.appendChild(submenu);
	el.submenu=submenu;
//alert(el.submenu.innerHTML);
//        document.body.appendChild(submenu);
//        submenu.style.width=width;
//        el.submenu=submenu;
//alert(listprop(submenu));
//alert(level);
    }
    var i;
    m_clearmenus(level);
    if (menus[level] && menus[level]!=el.submenu) {
//alert(level+':! '+menus);
	menus[level].style.display='none';
    }
//alert(level+': '+menus);
    menus[level]=el.submenu;
    var place=new getXY(el);
    if (level==0) {
	el.submenu.style.top=place.y+el.offsetHeight-1;//+document.body.scrollTop;
	el.submenu.style.left=place.x;//+document.body.scrollLeft;
    } else {
	el.submenu.style.top=place.y;//+document.body.scrollTop;
	el.submenu.style.left=place.x+el.offsetWidth-80;//+document.body.scrollLeft;
    }
    el.submenu.style.display='block';
    el.submenu.style.zIndex=10;
//alert(listprop(el.submenu));
//alert(el.submenu.innerHTML);
*/
}





/*Курсор мыши покинул уровень меню*/
function m_menuOut(theEvent) {
    if (!theEvent) {theEvent=event;el=theEvent.srcElement;} else { if (theEvent.srcElement) el=theEvent.srcElement; else el=theEvent.target; }
//alert('OUT '+el);
/*
    var id=el.id;
    if (menuTimeout) {
	menuTimeout=clearTimeout(menuTimeout);
    }
    menuTimeout=setTimeout('m_clearmenus(-1)',500);
    el.style.backgroundColor="";
    el.style.color="";
*/
}


/*Курсор мыши проходит через ссылку, не имеющей подменю*/
function m_refOver(theEvent) {
    var el;
    if (!theEvent) {theEvent=event;el=theEvent.srcElement;} else { if (theEvent.srcElement) el=theEvent.srcElement; else el=theEvent.target; }
/*
    var className=el.className;
    var level=parseInt(className.substr(5));
    if (menuTimeout) {
	menuTimeout=clearTimeout(menuTimeout);
    }
    el.style.backgroundColor="#ffffff";
    el.style.color="#999999";
    m_clearmenus(level-1);
//    cursor.style='pointer';
*/
}

/*Курсор мыши покинул ссылку как имеющую так и не  не имеющей подменю*/
function m_refOut(theEvent) {
    var el;
    if (!theEvent) {theEvent=event;el=theEvent.srcElement;} else { if (theEvent.srcElement) el=theEvent.srcElement; else el=theEvent.target; }
/*
    if (menuTimeout) {
	menuTimeout=clearTimeout(menuTimeout);
    }
    menuTimeout=setTimeout('m_clearmenus(-1)',500);
    var className=el.className;
    var level=parseInt(className.substr(5));
    el.style.backgroundColor="";
    el.style.color="";
*/
}

/*Клик мыши на ссылку*/
function m_click(theEvent) {
    var el;
    if (!theEvent) {theEvent=event;el=theEvent.srcElement;} else { if (theEvent.srcElement) el=theEvent.srcElement; else el=theEvent.target; }
/*
//alert(el.parentNode.innerHTML);
//alert(listprop(el.parentNode));
    var href=menutree.pgrHTTP+el.getAttribute('pgrHREF');
//alert(href);
//alert(mode);
    if (typeof(mode)=='string' && mode.length>0) {
	href+='?mode='+mode;
//        alert(href);
    }
    location.href=href;
//    alert(href);
//    info(' hide:<br>');
*/
}


/*
//ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ
function m_clearmenus(tolevel) {
//if (tolevel<0) alert('clear: '+tolevel);
    var i;
    for (i=menus.length-1;i>tolevel;i--) {
//        alert(i);
	if (menus[i])
	    menus[i].style.display='none';
	menus[i]=null;
    }
}

function m_getSubMenu(path) {    //получить описание подменю
    var steps=path.split('/');
    var ret,i,step,submenu=menutree.submenu;
    for (i=1;i<steps.length&&submenu;i++) {
	step=steps[i];
	ret=submenu[step];
	submenu=ret.submenu;
    }
    return ret;
}
*/










function listprop(obj) {
var dprop;
dprop=obj.nodeName + " prop:\n";
for (props in obj)
    {
    var str="obj."+props;
    if (typeof(eval(str))!="function")
	{
	prop=props+": "+eval(str)+";<BR> ";
	dprop+=prop;
//alert(dprop);
	}
    }
return dprop;
}


function getXY(element) {
    this.x=0;this.y=0;
    while (element) {
	if (element.offsetLeft) this.x+=element.offsetLeft;
	if (element.offsetTop) this.y+=element.offsetTop;
	element=element.offsetParent;
    }
}

