var topIdPref='T';
var subIdPref='S';

if(!window.seqItems)
    var seqItems=1;

var timeMen=0;
var MenPop=new Object();

var CurrPart;
var listPopup=new Object();
var relPopup=new Object();

function hiddeMen(n, s, id)
{
    var obj;
    for(var i=MenPop.length-1; i>=n; i--)
    {
        obj=getObj(subIdPref+MenPop[i], relPopup[topIdPref+MenPop[i]]);
/*
        if(isDOM && obj.className.substr(0, 7)=='Active_')
        {
            obj.className=obj.className.substr(7);
        }
*/
        setView(topIdPref+MenPop[i], 0, 0, 0);
    }

    MenPop.length=n;

    if(s && isIE && !listPopup[n] && isDOM && !n)
    {
        var s=document.getElementsByTagName('SELECT');
        for(var i=0; i<s.length; i++)
            s[i].style.visibility='visible';
    }
}

function overMen(topId, emb, id, x, y)
{
    clearTimeout(timeMen);
    //status='Over'+timeMen
    var childId=topIdPref+id;
/*
    if(isDOM)
    {
        var obj=getObj(subIdPref+id, topIdPref+topId);
        if(obj.className.substr(0, 7)!='Active_')
            obj.className='Active_'+obj.className;

        if(emb)
        {
            obj=getObj(subIdPref+topId, relPopup[topIdPref+topId]);
            if(obj.className.substr(0, 7)!='Active_')
                obj.className='Active_'+obj.className;
        }
    }
*/
    if(MenPop[emb] == id) return;
    hiddeMen(emb);

    if(!menuItem(childId, childId)) return;

    var p=new getPosObj(subIdPref+id, topIdPref+topId);

    MenPop[emb]=id;
	setView(childId, p.x+eval(x), p.y+eval(y), 1);

    if(isIE && !listPopup[childId] && isDOM && !MenPop.length)
    {
        var s=document.getElementsByTagName('SELECT');
        for(var i=0; i<s.length; i++)
            s[i].style.visibility='hidden';
    }
}

function clickMen(obj)
{
	try
	{
		if(obj.getElementsByTagName('A').length)
			obj=obj.getElementsByTagName('A')[0];

		for(;obj.nodeName!='BODY'; obj=obj.parentNode)
		{
			if(obj.nodeName != 'A') continue;
			var lnk=obj.href;
			break;
		}
	}
	catch(e){}

	if(!lnk) return false;

    if(event)
    {
        event.cancelBubble=true;
        event.returnValue=false;
    }

    hiddeMen(0);
	try
	{
    if(!obj.target)
    {
			document.location=lnk;
    }
    else
			window.open(lnk, '_blank').focus();
	}
	catch(e){return event.returnValue=true;}

    return false;
}

function outMen(id)
{
    clearTimeout(timeMen);
    /*
    if(isDOM)
    {
        var obj=getObj(subIdPref+id, relPopup[topIdPref+id]);
        if(obj.className.substr(0, 7)=='Active_')
            obj.className=obj.className.substr(7);
    }
    */
    timeMen=setTimeout('hiddeMen(0,1)', 700);
    //status='Out'+timeMen
}

function bindMenu(tp, arg, id, countSub)
{
    if(!arg.length) return;

    MenPop[tp][topIdPref+id]=arg;
    MenPop[tp][topIdPref+id].emb=countSub;

    var itemId;
    for(var i=0; i<arg.length; i++)
    {
        itemId=++seqItems;
        if(typeof(arg[i]) != 'object') continue;

        relPopup[topIdPref+itemId]=topIdPref+id;
        bindMenu(tp, arg[i], itemId, countSub+1);
        arg[i]=new Array(itemId, arg[i].length);
    }
}

function creatMenu()
{
    var id;
    var arg = creatMenu.arguments;
    seqItems++;

    var typeMenu = arg[arg.length-2];
    var listTop = arg[arg.length-1];
    CurrPart = listTop[listTop.length-1];
    arg.length-=2;

    MenPop[typeMenu]=new Object();
    for(var i=0; i<arg.length; i++)
    {
        id=++seqItems;
        if(typeof(arg[i]) != 'object') continue;
        bindMenu(typeMenu, arg[i], seqItems, 1);
        arg[i]=new Array(id, arg[i].length);
    }

    document.write(tplMenuRoot[typeMenu](arg));

    for(id in MenPop[typeMenu])
    {
        MenPop[typeMenu][id]=tplMenuChild[typeMenu] (id.substr(topIdPref.length), MenPop[typeMenu][id].emb, MenPop[typeMenu][id]);
    }
}

function creatMenuChild(typeMenu)
{
    seqItems++;
    if(!MenPop[typeMenu]) return;

    var str='';
    var popHTML='<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8">'+linkCSS+'';
            popHTML+='<script type="text/javascript">';
            popHTML+='function overMen(topId, emb, id, x, y){parent.itemMenID=id;parent.overMen(topId, emb, id, x, y);}';
            popHTML+='function outMen(id){parent.outMen(id);}';
            popHTML+='function clickMen(url,id){parent.clickMen(url,id);}';
            popHTML+='</script></head>'
            popHTML+='<body scroll=no style="margin:0px;padding:0px;border:0px" onunload="if(parent.itemMenID)parent.outMen(parent.itemMenID)">'

    for(var id in MenPop[typeMenu])
    {
        if(0)//window.createPopup)
        {
            listPopup[id]=(relPopup[id])? listPopup[relPopup[id]].document.parentWindow.createPopup() : window.createPopup();
            listPopup[id].document.write(popHTML+MenPop[typeMenu][id]+'</body></html>');
            listPopup[id].document.close();
        }
        else    str+=MenPop[typeMenu][id];
    }

    MenPop=new Array();
    if(str) document.write(str);
}