var MainMenu;
var MY=0;
img_open = new Image();  img_open.src = "/lib/design/images/open.png";
img_close = new Image(); img_close.src = "/lib/design/images/close.png";

function mouseCoords(event)
{
    if (!event) event=window.event;
	if(event.pageX || event.pageY){
		return {x:event.pageX, y:event.pageY};
	}
	return {
		x:event.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:event.clientY + document.body.scrollTop  - document.body.clientTop
	};
}


function initSiteMenu()
{
	BrowserDetect.init();
    if(BrowserDetect.browser=="Explorer")
    {
    }
    document.body.onselectstart = function(){return(false);};
    InitMenu(null);
}

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};


function MenuHide(hide)
{
    for(var i=0; i<hide.length; i++)
    {
        if(document.getElementById('menu_'+hide[i]['id'])!=null)
        {
            document.getElementById('menu_'+hide[i]['id']).style.display='none';
            if(hide[i].child!="null")
            {
                MenuHide(hide[i].child);
            }
        }
    }

}

function InitMenu(obj) 
{  
    var a=0;
    if(obj==null)
    {
        MainMenu=MenuData;
    }
    else
    {
        MenuHide(obj.hide);
        if(obj.arr=="null") return;
        a=obj.iid;
        MainMenu=obj.arr;
    }
    if(document.getElementById('menu_'+a)!=null)
    {
        if(document.getElementById('menu_'+a).MY > MY)
        {
            MY = document.getElementById('menu_'+a).MY;
        }
        document.getElementById('menu_'+a).style.display='';
        return;
    }
    var DivElem=document.createElement("DIV");
    DivElem.className="mu11"; DivElem.id='menu_'+a; 
    DivElem.style.zIndex=55;
    newAttrMY = document.createAttribute("MY");
    newAttrMY.nodeValue = 0;
    DivElem.setAttributeNode(newAttrMY); 
    document.body.appendChild(DivElem);

    var tbl=document.createElement("TABLE");
    tbl.className="menu";
    DivElem.appendChild(tbl);
    var tr=tbl.insertRow(-1);
    var td=tr.insertCell(-1);
 
    var tbl_1=document.createElement("TABLE");
    tbl_1.className="tmenu";
    td.appendChild(tbl_1);
 
 
      //===============================================================================================
     for(i=0; i<MainMenu.length; i++)
     {
        var tr=tbl_1.insertRow(-1);
        var td1=tr.insertCell(-1);
        td1.className="pmenu";
        td1.onmouseover=function(event){return highlight(event, this);}; 
//        td1.onmouseout=function(event){return lowlight(event, this);}; 
        var newAttr = document.createAttribute("iid");
        newAttr.nodeValue = MainMenu[i]['id'];
        td1.setAttributeNode(newAttr); 
    
        td1.id='iid_'+ MainMenu[i]['id']; 
        var newAttrArr = document.createAttribute("arr");
        newAttrArr.nodeValue = MainMenu[i]['child'];
        td1.setAttributeNode(newAttrArr); 
        var newAttrPar = document.createAttribute("prnt");
        newAttrPar.nodeValue = a;
        td1.setAttributeNode(newAttrPar); 
        var newAttrToHide = document.createAttribute("hide");
        newAttrToHide.nodeValue = new Array();
        newAttrToHide.nodeValue = MainMenu;
        td1.setAttributeNode(newAttrToHide); 

        var newlink = document.createElement('a'); 
        newlink.setAttribute('href', '/index.php?id='+MainMenu[i]['id']);
        var addNBSP=document.createTextNode('\u00A0\u00A0\u00A0');
        var addText=document.createTextNode(MainMenu[i]['name']);
        td1.appendChild(addNBSP);
        newlink.appendChild(addText);
        td1.appendChild(addNBSP);
        td1.appendChild(newlink);
        if(i!=MenuData.length-1)
        {
            var tr=tbl_1.insertRow(-1);
            td1=tr.insertCell(-1);
            td1.className="pline";   
        }
    }   //===============================================================================================
    document.getElementById('menu_'+a).className = "mu12";//osw
    document.body.onclick = function(event){return InitMenu(null);};
    document.getElementById('menu_'+a).style.posTop=0;  
    document.body.onresize = function(event){return OnResize(event);};
    document.body.onmousemove = function(event){return lowlight(event);};
    
    if(a==0)
    { 
        var obj=document.getElementById('tmenu');
        document.getElementById('menu_0').style.posLeft=document.getElementById('main_page').clientWidth - 40 -obj.clientWidth+(document.body.clientWidth-document.getElementById('main_page').clientWidth)/2;
    }
    else
    {
        document.getElementById('menu_'+a).style.posLeft = document.body.scrollLeft+document.getElementById('menu_'+obj.prnt).style.posLeft-document.getElementById('menu_'+a).offsetWidth;   
   
    }
    document.getElementById('menu_'+a).MY=document.getElementById('menu_'+a).offsetHeight;
    if(document.getElementById('menu_'+a).MY > MY)
    {
        MY = document.getElementById('menu_'+a).MY;
    }
}
function lowlight(event, obj)
{
    if (!event) event=window.event;
    var mousePos = mouseCoords(event);
    if(mousePos.y >  MY)
    {
        MenuHide(MenuData);
        MY = document.getElementById('menu_0').offsetHeight;
    }
}

function highlight(event, obj) 
{
    InitMenu(obj);
	return false;
}

function OnResize(event)
{
    if (!event) event=window.event;
    var obj=document.getElementById('tmenu');
    var x=event.clientX + document.body.scrollLeft - document.body.clientLeft ;
    if(document.body.clientWidth<document.getElementById('main_page').clientWidth)
    {
    }
    else
    {
        document.getElementById('menu_0').style.posLeft=document.getElementById('main_page').clientWidth - 40 -obj.clientWidth+(document.body.clientWidth-document.getElementById('main_page').clientWidth)/2;
    }
}

function mouseCoords(event)
{
    if (!event) event=window.event;
        if(event.pageX || event.pageY){
                return {x:event.pageX, y:event.pageY};
        }
        return {
                x:event.clientX + document.body.scrollLeft - document.body.clientLeft,
                y:event.clientY + document.body.scrollTop  - document.body.clientTop
        };
}

function toggle(id)
{
    if(document.getElementById(id)!=null)
    {
        if(document.getElementById(id).style.display=='none')
        {
            document.getElementById(id).style.display='';
			document.getElementById(id+'_im').src=img_close.src;

        }
        else
        {
            document.getElementById(id).style.display='none';
			document.getElementById(id+'_im').src=img_open.src;
        }
    }
}

