var mainItems = Array(); var currMenuItem; var pageLoaded = false; function Item(oName, oLink, oTarget) { this.name = oName; this.link = oLink; if (oTarget == '') this.target = '_top'; else this.target = oTarget; this.items = Array(); } Item.prototype.Add = function(oItem) { this.items.push(oItem); } Item.prototype.HasChilds = function() { return this.items.length > 0; } Item.prototype.Childs = function() { return this.items.length; } Item.prototype.GetSubMenuHTML = function () { var strHTML = ''; if(this.HasChilds()) { for(var iChild=0; iChild < this.items.length; iChild++) { var childItem = this.items[iChild]; strHTML += '' + childItem.name + ''; } } menuItemOver.style.color = "#939598"; return strHTML; } function showMouseOverBg(oLeft, oTop, oWidth, oHasChilds) { if (!pageLoaded) return; if (!document.getElementById("menuItemOver")) { var menuItemOver = document.createElement("div"); menuItemOver.setAttribute("id", "menuItemOver"); menuItemOver.style.position = "absolute"; menuItemOver.style.zIndex = 100; document.body.appendChild(menuItemOver); } else { var menuItemOver = document.getElementById("menuItemOver"); } /* if(oHasChilds) menuItemOver.innerHTML = '
'; else menuItemOver.innerHTML = '
'; */ menuItemOver.style.top = (oTop - 4) + "px"; menuItemOver.style.left = oLeft + "px"; menuItemOver.style.width = oWidth + "px"; menuItemOver.style.display = ""; } function classOut(Obj) { //Obj.className = 'menuItem'; } function showSubMenu(Obj, oMenuID) { if (!pageLoaded) return; hideAll(); //Obj.className = 'menuItem-over'; var left = findPosX(Obj); var top = findPosY(Obj); currMenuItem = Obj; if (currMenuItem != null) { currMenuItem.childNodes[0].style.color = "231f20"; } showMouseOverBg(left, top, Obj.offsetWidth, mainItems[oMenuID].HasChilds()); if(mainItems[oMenuID].HasChilds()) { if (!document.getElementById("subMenu")) { var subMenu = document.createElement("div"); subMenu.setAttribute("id", "subMenu"); subMenu.style.position = "absolute"; subMenu.style.zIndex = 100; document.body.appendChild(subMenu); } else { var subMenu = document.getElementById("subMenu"); } var strHTML = mainItems[oMenuID].GetSubMenuHTML(); // subMenu.innerHTML = ''; subMenu.innerHTML = ''; subMenu.style.top = "-100px"; subMenu.style.display = ""; var iLeft = (left); iLeft = (iLeft < 3) ? 3 : iLeft; //iLeft = ( (iLeft + subMenu.offsetWidth) > document.body.offsetWidth) ? ( iLeft - ( document.body.offsetWidth - iLeft ) - 10 ) : iLeft; subMenu.style.left = iLeft + "px"; subMenu.style.top = (top + 16) + "px"; } } function hideAll() { if (!pageLoaded) return; clearDelayHide(); if (currMenuItem != null) { currMenuItem.childNodes[0].style.color = "#939598"; } if(itemOver = document.getElementById("menuItemOver")) { itemOver.style.display = "none"; } if(subMenuDiv = document.getElementById("subMenu")) { subMenuDiv.style.display = "none"; } } function findPosX(obj) { var curleft = 0; if (obj.offsetParent) { while (obj.offsetParent) { curleft += obj.offsetLeft obj = obj.offsetParent; } } else if (obj.x) { curleft += obj.x; } return curleft; } function findPosY(obj) { var curtop = 0; if (obj.offsetParent) { while (obj.offsetParent) { curtop += obj.offsetTop obj = obj.offsetParent; } } else if (obj.y) { curtop += obj.y; } return curtop; } function makeMenu(oRootItem) { window.onload = function() { pageLoaded = true }; var strHtml = '
'; for(var iMenu=0; iMenu < oRootItem.Childs(); iMenu++) { var item = oRootItem.items[iMenu]; var strArrow = ''; if(oRootItem.items[iMenu].link == null) strHtml += ''; else { if ( item.name.indexOf('nolink') != -1) strHtml += ''; else strHtml += ''; } mainItems[iMenu] = item; } strHtml += '
'; document.write(strHtml); } function delayHide() { delayhide = setTimeout("hideAll()", 700); } function clearDelayHide() { if (typeof delayhide!="undefined") { clearTimeout(delayhide); } }