// Don't change these parameters var delay = 100; ///// var menuElement = new Array (); var usedWidth = 0; var numOfMenus = 0; var largestLayerH= 0; /// ---------------------------- // check browser version // moved to base.js // 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, DW) { this.ID = id; this.parentID = content [0]*1; this.parentItemID = content [1]*1; // this.width = content [2]*1; this.timerID = -1; this.isOn = false; this.item = new Array (); this.currItemID = -1; this.DW = DW; this.x = content [3]*1; if (this.x < 0 && this.parentID == -1) { this.x = initX + usedWidth + this.DW; usedWidth = usedWidth + this.width; } else if (this.x < 0 && this.parentID > -1) { this.x = menuElement [this.parentID].x + menuElement [this.parentID].width - xOverlap //+ this.DW; // ha jobbra kilógna az almenusor if( (this.x+this.width) > (DW+docContentW) ){ this.x = menuElement [this.parentID].x - this.width } } 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]; this.thebgcolor = content [6]; this.thebgrollcolor = content [7]; this.thebordercolor = content [7]; itemsLength = items.length/2 // két adad (title, és url) az itemekben thisLayerH = 0 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'; } thisLayerH = itemsLength*itemHeight if(largestLayerH < itemHeight) largestLayerH = thisLayerH + 3*itemHeight // => 3 többsoros menu fér ki if (!isNC) layerHeader = '
' + '" layerFooter = '
'; //layerFooter = "
záróelem
'; 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) { if(allLevel){ //MM_swapImage('m'+menuID+''+itemID,'','images/m2.gif',1) 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 show (ID) { if (isDOM) document.getElementById('Menu' + ID).style.visibility = "visible"; else if (isIE || isOPERA) document.all['Menu' + ID].style.visibility = "visible"; else if (isNC) document.layers[ID].visibility = "show"; dd=0; clipingMemu(ID) //for (var i = 0; i < 100; i++) //{ // if (menuElement [i].parentID == ID) // { // //menuElement [i].timerID = setTimeout ('hide (' + i + ')', delay); // hide (i) // return 0; // } //} 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 || isOPERA) 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], DW); numOfMenus++; } } function clipingMemu(i){ if (isDOM){ //eval('document.getElementById("Menu'+i+'").style.clip = "rect(0 auto "+dd+" 0)"'); //document.getElementById('Menu' + i).style.clip = "rect(0 auto "+dd+" 0)"; }else if (isIE || isOPERA){ //eval('document.all.Menu'+i+'.style.clip="rect(0 auto "+dd+" 0)"'); document.all['Menu' + i].style.clip="rect(0 auto "+dd+" 0)"; }else if (isNC){ //document.layers[ID].visibility = "hide"; //eval('document.Menu'+i+'.clip.bottom = dd'); document.Menu[i].clip.bottom = dd; } dd +=8; novel = eval(setTimeout("clipingMemu("+i+")", 10)) if(dd > largestLayerH){ clearTimeout(novel); } } createMenuTree ();