var menuArray = new Array();

function FindMenuPosition(obj) {
    var curleft = 0;
    var curtop = 0;
    var height = obj.offsetHeight;
	
    if (obj.offsetParent) {
        curleft = obj.offsetLeft;
        curtop = obj.offsetTop;
        while (obj = obj.offsetParent){
            curleft += obj.offsetLeft;	
            curtop += obj.offsetTop;
        }//end while
    }//end if
	
    curtop += height;
    return {x:curleft, y:curtop};
}//end FindMenuPosition()

function FindMenu(menuName){
    for(var i in menuArray){
        if(menuArray[i].MenuName == menuName)
            return menuArray[i];
    }//end for

    return null;
}//end FindMenu()

function CancelEvents(event){
    try{ event.cancelBubble = true; }catch(ex){}
    try{ event.stopPropagation(event); }catch(ex){}
    try{ event.cancel = true; }catch(ex){}
}//end CancelEvents()

var timerID = 0;
function ShowMenu(event, menuName){
    CancelEvents(event);
	
    clearTimeout(timerID);

	event=event?event:window.event;
    var el = event.srcElement?event.srcElement:event.target;
		
    var menu = document.getElementById("menuDiv");

    menu.onmouseover = function(){
        //ShowOverImage(el);
		ShowOverClass(el);
    };
	
    menu.onmouseout = function(){
       // ShowImage(el);
        ShowClass(el);		
    };
	
    var pos = FindMenuPosition(el);
    menu.style.left = pos.x + "px";
    menu.style.top = pos.y + "px";
	
    var m = FindMenu(menuName);
    if(!m) return;
    menu.innerHTML = m.MenuItems.toString().replace(/,/g, "");
    menu.style.display = "block";
}//end ShowMenu()

function GetXmlDocument(filename){
    if (window.ActiveXObject){ 
        xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
        xmlDoc.async=false; 
        return xmlDoc; 
    } 
    else if (document.implementation && 
             document.implementation.createDocument) 
    { 
        xmlDoc = document.implementation.createDocument("","",null); 
        if(xmlDoc.load == undefined){
            xmlDoc = new XMLHttpRequest();
            xmlDoc.load = function(url){
                this.open("GET", url, false);
                this.send(null);
                this.childNodes = this.responseXML.childNodes;
            }//end load()
        }//end if

        xmlDoc.async = false;
        
        return xmlDoc; 
    }
    else{
        xmlDoc = new XMLHttpRequest();
        xmlDoc.async = false;
        return xmlDoc;
    }//end if
}//end GetXmlDocument()

function OnDocumentClick(){
    var menuDiv = document.getElementById("menuDiv");
    menuDiv.style.display = "none";
}//end OnDocumentClick()

/*
function ShowOverImage(img){
    if(img.src.indexOf("-over") < 0){
        img.src = img.src.replace(".gif", "-over.gif");
    }//end if
	
    clearTimeout(timerID);
}//end ShowOverImage()
*/
function ShowOverClass(div){
    if(div.className == "menu_btn"){
        div.className = "menu_btn_hover";
    }//end if
	
    clearTimeout(timerID);
}//end ShowOverClass()

/*
function ShowImage(img){
    if(img.src.indexOf("-over.gif")){
        img.src = img.src.replace("-over.gif", ".gif");
    }//end if
	
    timerID = setTimeout("OnDocumentClick()", 100);
}//end ShowImage()
*/
function ShowClass(div){
    if(div.className == "menu_btn_hover"){
        div.className = "menu_btn";
    }//end if
    timerID = setTimeout("OnDocumentClick()", 100);
}//end ShowImage()



function OnWindowLoad(){
    document.onclick = OnDocumentClick;

    var xml = GetXmlDocument();
    xml.load("/templates/menu/xml/menu.xml");
	
    var menus = xml.childNodes[xml.childNodes.length-1];

    for(var i=0; i<menus.childNodes.length; i++){
        if(menus.childNodes[i].nodeName == "menu"){
			
            var menu = menus.childNodes[i];
            var menuName = menu.getAttribute("name");
			
            var itemsArray = new Array('');
            //add image div top
            itemsArray.push('<div class="top">');
            for(var j=0; j<menu.childNodes.length; j++){
			
                if(menu.childNodes[j].nodeName == "item" || menu.childNodes[j].nodeName == "hr"){
                    var item = menu.childNodes[j];
					
                    if(item.nodeName == "hr")
                        itemsArray.push('');
                    else
                        itemsArray.push('</div><div class="side"><div class="hr"><a href="' + item.getAttribute("link") + '">»  ' + item.getAttribute("name") + '</a></div></div>');
                }//end if
            }//end for
            //add image div bottom
		    itemsArray.push('<div class="bottom">');

			
            var menuTemplate = {
                MenuName: menuName,
                MenuItems: itemsArray
            };
			
            menuArray.push(menuTemplate);		
        }//end if
    }//end for

}//end OnWindowLoad()

onload = OnWindowLoad;
/*
function navpreloader(){
    // counter
    var i = 0;
    // create object
    imageObj = new Image();
    // set image list
    images = new Array();
    images[0]="../images/menu/menu_customers-over.gif"
    images[1]="../images/menu/menu_products-over.gif"
    images[2]="../images/menu/menu_solutions-over.gif"
    images[3]="../images/menu/menu_services-over.gif"
    images[4]="../images/menu/menu_resources-over.gif"
    images[5]="../images/menu/menu_news-over.gif"
    images[6]="../images/menu/menu_partners-over.gif"
    images[7]="../images/menu/menu_company-over.gif"
 	 
    // start preloading
    for(i=0; i<=7; i++) 
    {
        imageObj.src=images[i];
    }
} 
*/