// Use Freely as long as following disclaimer is intact :: //--------------------------------------------------------------- // Cross Browser Multi-Orientation Menu v1.5 17th August 2004 // This script written by Rik Comery. www.ricom.co.uk // For support, visit the "Resources" section at www.ricom.co.uk // All rights reserved. // Featured in the SimplytheBest DHTML Scripts Library at http://simplythebest.net/scripts/ // MENU ITEMS // // DUPLICATE THIS ENTIRE SECTION FOR MULTIPLE MENUS. PLEASE SEE THE INSTRUCTIONS FILE FOR DETAILS /// var Menu1 = new Array () var subMenu1 = new Array () Menu1[0] = new Array("  Die Firma  ", "index.php?p=1", "_top", "left") subMenu1[0] = new Array() Menu1[1] = new Array("  Holzhäuser  ", "index.php?p=2", "_top", "left") subMenu1[1] = new Array() subMenu1[1][0] = new Array ("  Blockhäuser ","index.php?p=16","_top") subMenu1[1][1] = new Array ("  Riegelhäuser ","index.php?p=20","_top") subMenu1[1][2] = new Array ("  Fertighäuser ","index.php?p=47","_top") Menu1[2] = new Array("  Zimmerei  ", "index.php?p=44", "_top", "left") subMenu1[2] = new Array() subMenu1[2][0] = new Array ("  Dachstühle ","index.php?p=45","_top") subMenu1[2][1] = new Array ("  Balkone ","index.php?p=46","_top") Menu1[3] = new Array("  Tischlerei  ", "index.php?p=9", "_top", "left") subMenu1[3] = new Array() subMenu1[3][0] = new Array ("  Treppen ","index.php?p=27","_top") subMenu1[3][1] = new Array ("  Türen ","index.php?p=28","_top") subMenu1[3][2] = new Array ("  Kasten ","index.php?p=38","_top") subMenu1[3][3] = new Array ("  Fenster ","index.php?p=41","_top") Menu1[4] = new Array("  Inneneinrichtungen  ", "index.php?p=8", "_top", "left") subMenu1[4] = new Array() subMenu1[4][0] = new Array ("  Küchen ","index.php?p=21","_top") subMenu1[4][1] = new Array ("  Schlafzimmer ","index.php?p=22","_top") subMenu1[4][2] = new Array ("  Stühle / Tische ","index.php?p=23","_top") subMenu1[4][3] = new Array ("  Büros ","index.php?p=24","_top") subMenu1[4][4] = new Array ("  Bars / Stuben ","index.php?p=25","_top") Menu1[5] = new Array("  Gartenhäuser  ", "index.php?p=10", "_top", "left") subMenu1[5] = new Array() Menu1[6] = new Array("  Planung  ", "index.php?p=11", "_top", "left") subMenu1[6] = new Array() Menu1[7] = new Array("  Neuigkeiten  ", "index.php?p=17", "_top", "left") subMenu1[7] = new Array() Menu1[7] = new Array(" Kontakt  ", "kontakt.html","_top", "left") subMenu1[7] = new Array() Menu1[8] = new Array(" Neuigkeiten  ", "index.php?p=17","_top", "left") subMenu1[8] = new Array() /// FORMAT MENU /// menuStyle = "flat" // Menu Style (flat, 3d) cellPadding = "3" // Cell Padding cellBorder = 0 // Border width (for no border, enter 0) THIS VALUE APPLIES TO ALL MENUS verticalOffset = "1" // Vertical offset of Sub Menu. horizontalOffset = "0" // Horizontal offset of Sub Menu. subMenuDelay = 1 // Time sub menu stays visible for (in seconds). THIS VALUE APPLIES TO ALL MENUS subIndicate = 0 // Show if a sub menu is present (use 0 for "no") THIS VALUE APPLIES TO ALL MENUS indicator = "" // Symbol to show if a sub menu is present (subIndicate must be to set to 1) // Use standard HTML tag. You can use a character instead of an image. // e.g. indicator = ">" // Main Menu Items menuWidth = "200" // Width of menu item. Use 0 for default borderColor = "#9BADA1" // Border Colour (flat mode only) borderHighlight = "#9BADA1" // Border Highlight Colour (3d mode only) borderShadow = "#9BADA1" // Border Shadow Colour (3d mode only) menuBackground = "#9BADA1" // Cell Background Colour menuHoverBackground = "9BADA1" // Cell Background Colour on mouse rollover fontFace = "Arial" // Font Face fontColour = "#FFFFFF" // Font Colour fontHoverColour = "#00984D" // Font Colour on mouse rollover fontSize = "11px" // Font Size fontDecoration = "none" // Style of the link text (none, underline, overline, line-through) fontWeight = "bold" // Font Weight (normal, bold) // Sub Menu Items smenuWidth = "110" // Width of sub menu item. Use 0 for default sborderColor = "E1E4DB" // Border Colour (flat mode only) sborderHighlight = "#E1E4DB" // Border Highlight Colour (3d mode only) sborderShadow = "#E1E4DB" // Border Shadow Colour (3d mode only) smenuBackground = "#E1E4DB" // Cell Background Colour smenuHoverBackground = "#E1E4DB" // Cell Background Colour on mouse rolloverr sfontFace = "Arial" // Font Face sfontColour = "#8A9E91" // Font Colour sfontHoverColour = "#00984D" // Font Colour on mouse rollover sfontSize = "11px" // Font Size sfontDecoration = "none" // Style of the link text (none, underline, overline, line-through) sfontWeight = "bold" // Font Weight (normal, bold) quantity = 1 /// END FORMAT MENU //// /// DO NOT EDIT BELOW THIS LINE /// // Browser Sniffer var isIE = (document.getElementById && document.all)?true:false; var isNS4 = (document.layers)?true:false; var isNS6 = (document.getElementById && !document.all)?true:false; var timer; var obj = (isIE)?"document.all":"document.getElementById" // Menu Styles function createStyles(quant){ styleBorder=(menuStyle.split(",")[quant-1].toLowerCase() == "flat")?cellBorder:0 document.writeln (''); } // Build and show the main menu items function showMenus(quant,definedOrientation) { createStyles(quant); if(definedOrientation!=""){orientation=definedOrientation} if (orientation.toLowerCase() == "vertical"){document.writeln ('')} else{document.writeln ('
')} for (x=0; x') document.writeln (''); if (orientation.toLowerCase()=="vertical") document.writeln('') } if (orientation.toLowerCase() == "vertical"){document.writeln ('
'); if (subIndicate == 1&&eval("subMenu"+quant)[x].length>=1){ document.writeln('');} document.writeln ('
'); document.writeln (''+eval("Menu"+quant)[x][0]+''); document.writeln (''+indicator+'
');} else{document.writeln ('');} // Build the sub menu items for (x=0; x 0) { document.writeln (''); } } } // Change colour or menu and submenu items when the mouse hovers over. function highlightMenu(element,mainMenu,dropMenu,state,quant) { hoverMenu(); state=(state == "hover")?"rcMenuHover"+quant:"rcMenuStatic"+quant if (element == "sub") { for (x=0; x < eval("subMenu"+quant)[mainMenu].length; x++) { if (eval("subMenu"+quant)[mainMenu][x][1].indexOf("#") == -1){ eval(obj+'("'+quant+'subMenu'+mainMenu+x+'").className = "rcSubMenuStatic'+quant+'"') eval(obj+'("'+quant+'subLink'+mainMenu+x+'").className = "rcSubMenuStatic'+quant+'"') } } if (eval("subMenu"+quant)[mainMenu][dropMenu][1].indexOf("#") == -1) { eval(obj+'("'+quant+'subMenu'+mainMenu+dropMenu+'").className="rcSubMenuHover'+quant+'"') eval(obj+'("'+quant+'subLink'+mainMenu+dropMenu+'").className="rcSubMenuHover'+quant+'"') } } else { eval(obj+'("'+quant+'cell'+mainMenu+'").className = "'+state+'"') eval(obj+'("'+quant+'mainLink'+mainMenu+'").className = "'+state+'"') if (subIndicate == 1&&eval("subMenu"+quant)[mainMenu].length>=1) { eval(obj+'("'+quant+'cell'+mainMenu+'a").className = "'+state+'"') eval(obj+'("'+quant+'mainLink'+mainMenu+'a").className = "'+state+'"') } } } // Find positioning for sub menus function getOffset(obj, dim) { if(dim=="left") { oLeft = obj.offsetLeft; while(obj.offsetParent!=null) { oParent = obj.offsetParent oLeft += oParent.offsetLeft obj = oParent } return oLeft } else if(dim=="top") { oTop = obj.offsetTop; while(obj.offsetParent!=null) { oParent = obj.offsetParent oTop += oParent.offsetTop obj = oParent } return oTop } else if(dim=="width") { oWidth = obj.offsetWidth return oWidth } else if(dim=="height") { oHeight = obj.offsetHeight return oHeight } else { alert("Error: invalid offset dimension '" + dim + "' in getOffset()") return false; } } // Show sub menus function popDown(quant, param, id, orientation) { var cellBorderOffset = (isNS6)?cellBorder:eval(cellBorder*2) var browserAdjustment = (isNS6)?cellBorder:0 var menu; var button; if (id) { getOffset(eval(obj+'(id)'),'left'); getOffset(eval(obj+'(id)'),'top'); getOffset(eval(obj+'(id)'),'width'); getOffset(eval(obj+'(id)'),'height'); if (eval("Menu"+quant+"["+param+"][3]")=="right" && eval("subMenu"+quant+"["+param+"].length")>0) { oLeft=oLeft oLeft=oLeft+oWidth; getOffset(eval(obj+'("'+quant+'MENU'+param+'")'),'width'); oLeft=oLeft-oWidth ; alignAdjustment = cellBorder*2 + 1 } else { alignAdjustment = 0 oLeft=oLeft } } n = 0; while (n < eval("Menu"+quant).length) { menu = quant+"MENU"+n if (param == n) { theObj = eval(obj+'(menu)'); if (theObj) { theObj.style.visibility = "visible" if (orientation.toLowerCase()=="vertical"){ theObj.style.left=(menuStyle.split(",")[quant-1].toLowerCase()=="flat")?oLeft+oWidth+cellBorder+parseInt(horizontalOffset.split(",")[quant-1]):oLeft+oWidth+cellBorderOffset+parseInt(horizontalOffset.split(",")[quant-1]); theObj.style.top=(menuStyle.split(",")[quant-1].toLowerCase()=="flat")?oTop-cellBorder+parseInt(verticalOffset.split(",")[quant-1]):oTop+parseInt(verticalOffset.split(",")[quant-1])-browserAdjustment} else{ theObj.style.left=(menuStyle.split(",")[quant-1].toLowerCase()=="flat")?oLeft-cellBorder+parseInt(horizontalOffset.split(",")[quant-1])+alignAdjustment:oLeft+parseInt(horizontalOffset.split(",")[quant-1])-browserAdjustment+alignAdjustment; theObj.style.top=(menuStyle.split(",")[quant-1].toLowerCase()=="flat")?oTop+oHeight+cellBorder+parseInt(verticalOffset.split(",")[quant-1]):oTop+oHeight+cellBorderOffset+parseInt(verticalOffset.split(",")[quant-1]);} } highlightMenu('main',n,'','hover',quant) if (eval("subMenu"+quant)[param].length > 0) { for (x=0; x 0)?setDelay:1 timer = setTimeout("popDown("+quant+","+(eval("Menu"+quant).length + 1)+")",delay) } // when you click the box, perform the same function as if the user had clicked the hyperlink function tdMouseClick(theElement) { eval(obj+'(theElement).click()') }