// Don't change these parameters var delay = 500; ///// var menuElement = new Array (); var usedWidth = 0; var numOfMenus = 0; /// ---------------------------- // check browser version isNC = (document.layers) ? 1 : 0; isOPERA = (navigator.userAgent.indexOf('Opera') >= 0)? true : false; isIE = (document.all && !isOPERA)? true : false; isDOM = (document.getElementById && !isIE && !isOPERA)? true : false; var topID = -1; // constructor of menu elements function menuConstructor (id, content) { this.ID = id; this.parentID = content [0]*1; this.parentItemID = content [1]*1; this.width = content [2]*1 + 50; this.timerID = -1; this.isOn = false; this.item = new Array (); this.currItemID = -1; this.x = content [3]*1; if (this.x < 0 && this.parentID == -1) { this.x = initX + usedWidth; usedWidth = usedWidth + this.width; } else if (this.x < 0 && this.parentID > -1) { this.x = menuElement [this.parentID].x + menuElement [this.parentID].width - xOverlap; } this.y = content [4]*1; if (this.y < 0 && this.parentID == -1) this.y = initY; else if (this.y < 0 && this.parentID > -1) this.y = menuElement [this.parentID].y + itemHeight*this.parentItemID + yOverlap; items = content [5]; layerBody = ''; for (j = 0; j <= items.length - 2; j = j + 2) { controlBlock = ' onMouseOver = "enterItem (' + this.ID + ', ' + ((j + 2)/2 - 1) + ');" onMouseOut = "exitItem (' + this.ID + ', ' + ((j + 2)/2 - 1) + ');" '; layerBody += ''; if (j < items.length - 2) layerBody = layerBody + '\n'; else layerBody = layerBody + '\n'; } if (!isNC) layerHeader = '
' + items [j] + '
' + '
'; layerFooter = '
'; if (!isNC) layerFooter = layerFooter + ''; else layerFooter = layerFooter + ''; document.writeln (layerHeader + layerBody + layerFooter); return this; } function enterTopItem (ID) { if (topID != ID && topID != -1) hideTree (topID); releaseTree (ID); topID = ID; show (ID); } function exitTopItem (ID) { menuElement [ID].timerID = setTimeout ('hide (' + ID + ')', delay); } function enterItem (menuID, itemID) { var currItemID = menuElement [menuID].currItemID; if (currItemID != i & currItemID > -1) hide (currItemID); for (var i = 0; i < numOfMenus; i++) { if (menuElement[i].parentID == menuID && menuElement[i].parentItemID == itemID) { clearTimeout (menuElement [i].timerID); menuElement[i].timerID = -1; show (i); return 0; } } return -1; } function exitItem (menuID, itemID) { for (var i = 0; i < numOfMenus; i++) { if (menuElement[i].parentID == menuID && menuElement[i].parentItemID == itemID) { menuElement[i].timerID = setTimeout ('hide (' + i + ')', delay); return 0; } } } function enterMenu (ID) { var parentID = menuElement [ID].parentID; if (parentID == -1) { clearTimeout (menuElement [ID].timerID); menuElement [ID].timerID = -1; } else releaseTree (ID); } function exitMenu (ID) { timeoutTree (ID); } function hideTree (ID) { hide (ID); for (var j = 0; j < numOfMenus; j++) { if (menuElement [j].parentID == ID && menuElement [j].isOn) { hideTree (j); return 0; } } } function releaseTree (ID) { clearTimeout (menuElement [ID].timerID); menuElement [ID].timerID = -1; var parentID = menuElement [ID].parentID; if (parentID > -1) releaseTree (parentID); } function timeoutTree (ID) { menuElement [ID].timerID = setTimeout ('hide (' + ID + ')', delay); var parentID = menuElement [ID].parentID; if (parentID > -1) timeoutTree (parentID); } function FadeIn (fadeNaam) { if (document.all[fadeNaam].filters.alpha.opacity < 100) { document.all[fadeNaam].filters.alpha.opacity=document.all[fadeNaam].filters.alpha.opacity+30; setTimeout("FadeIn('" + fadeNaam + "')",20) } } function show (ID) { if (isDOM) document.getElementById('Menu' + ID).style.visibility = "visible"; else if (isIE) { document.all['Menu' + ID].style.visibility = "visible"; document.all['Menu' + ID].filters.alpha.opacity=100; var fadeNaam = 'Menu' + ID //FadeIn (fadeNaam); } else if (isNC) document.layers[ID].visibility = "show"; menuElement [ID].isOn = true; if (menuElement [ID].parentID > -1) menuElement [menuElement [ID].parentID].currItemID = ID; } function hide (ID) { if (isDOM) document.getElementById('Menu' + ID).style.visibility = "hidden"; else if (isIE) document.all['Menu' + ID].style.visibility = "hidden"; else if (isNC) document.layers[ID].visibility = "hide"; menuElement [ID].isOn = false; if (menuElement [ID].parentID > -1) menuElement [menuElement [ID].parentID].currItemID = -1; } function createMenuTree () { for (var i = 0; i < menuContent.length; i++) { menuElement [i] = new menuConstructor (i, menuContent [i]); numOfMenus++; } } function menuLocation() { alert('0'); if (window.innerWidth != null) { alert('1'); if (window.innerWidth/2-240 < 150) //return (150); return window.innerWidth/2-240; } if (document.body.clientWidth != null) { alert('2'); if (document.body.clientWidth/2-240 < 150) //return (150); return document.body.clientWidth/2-240; } //return(270); return 2; } createMenuTree ();