ZEXP ¾((U OFS.FolderqUFolderqtqNt.}q(Ustandard_html_headerq(U Êq(UOFS.DTMLMethodqU DTMLMethodqttQUidq U1U__ac_local_roles__q }q UIoanq ]q UOwnerqasU_objectsq(}q(U meta_typeqU DTML Documentqh U index_htmlqu}q(U meta_typeqU DTML MethodqUidqUstandard_html_headerqu}q(hhhUstandard_html_footerqu}q(hUFolderqhUjsquth(U Ðq(hUFolderqttQh(U Àq (UOFS.DTMLDocumentq!U DTMLDocumentq"ttQUtitleq#UT1q$Ustandard_html_footerq%(U Ëq&(hU DTMLMethodq'ttQu. Ê1((UOFS.DTMLMethodqU DTMLMethodqtqNt.}q(UtitleqUStandard Html HeaderqUrawqTg <dtml-var title_or_id>
qU__ac_local_roles__q }q UIoanq ]q UOwnerq asUglobalsq}qU__name__qUstandard_html_headerqU_varsq}qu. ÐÊ((U OFS.FolderqUFolderqtqNt.}q(UidqUjsqU__ac_local_roles__q}qUIoanq ]q UOwnerq asU navbar.jsq (U Îq (UOFS.DTMLMethodqU DTMLMethodqttQU_objectsq(}q(U meta_typeqU DTML MethodqhU dhtmllib.jsqu}q(hhhU navbar.jsqu}q(hhhUsubqu}q(U meta_typeqU DTML MethodqUidqUmenu.jsqutU dhtmllib.jsq(U Ìq(hU DTMLMethodq ttQUtitleq!UUsubq"(U Ïq#(hU DTMLMethodq$ttQUmenu.jsq%(U åq&(hU DTMLMethodq'ttQu. À°((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(UtitleqUUrawqT1 To see the menu create folders with title and
under this folders you must create DTML Documents or Files.

If your objects don't have title, it will be not shown!
Don't forget to move the js folder on the root of your site! qUglobalsq}q U__name__q U index_htmlq U_varsq }q u. Ë((UOFS.DTMLMethodqU DTMLMethodqtqNt.}q(UtitleqUStandard Html FooterqUrawqUV


Last update:
qU__ac_local_roles__q }q UIoanq ]q UOwnerq asUglobalsq}qU__name__qUstandard_html_footerqU_varsq}qu. ÎA((UOFS.DTMLMethodqU DTMLMethodqtqNt.}q(UtitleqUUrawqTt@/****************************************************************************** * navbar.js * * * * Copyright 1999 by Mike Hall. * * Web address: http://www.brainjar.com * * Last update: December 13, 1999. * * * * Creates a interactive DHTML navigation bar with drop-down menus. * * Note: requires dhtmllib.js * * Script featured on Dynamic Drive DHTML code library (http://dynamicdrive.com) * ******************************************************************************/ //***************************************************************************** // Define the default look of the navigation bar. //***************************************************************************** var navBarY = 0; // Default position. var navBarX = 0; var navBarWidth = -1; // Sizes var navBarHeaderWidth = 100; var navBarMenuWidth = 175; var navBarBorderWidth = 1; var navBarPaddingWidth = 4; var navBarBorderColor = "#000000"; // Colors. var navBarHeaderBgColor = "#999999"; var navBarHeaderFgColor = "#000000"; var navBarActiveBgColor = "#666666"; var navBarActiveFgColor = "#ffffff"; var navBarItemBgColor = "#cccccc"; var navBarItemFgColor = "#000000"; var navBarHighBgColor = "#000080"; var navBarHighFgColor = "#ffffff"; var navBarHeaderFontFamily = "Arial,Helvetica,sans-serif"; // Fonts. var navBarHeaderFontStyle = "plain"; var navBarHeaderFontWeight = "bold"; var navBarHeaderFontSize = "10pt"; var navBarItemFontFamily = "MS Sans Serif,Arial,Helvetica,sans-serif"; var navBarItemFontStyle = "plain"; var navBarItemFontWeight = "bold"; var navBarItemFontSize = "8pt"; var navBarTrackX = false; // Tracking flags. var navBarTrackY = false; //***************************************************************************** // Define the navigation bar menu array. //***************************************************************************** var navBarMenus = new Array(); // List of menus. //***************************************************************************** // Initialize the navigation bar. //***************************************************************************** var navBar; // Base layer. var navBarHeight; // Height of navigation bar headers. // These variables are used to determine if a resize event is a true one. // Necessary due to a bug in older NS4 releases. var origWidth; var origHeight; function navBarInit() { var menu = new Array(); var layer, norm, high, dmmy; var last; var width; var on, off; var i, j, x, y, z; var link; if (!isMinNS4 && !isMinIE4) return; // Fix for resize bug. if (isMinNS4) { origWidth = window.innerWidth; origHeight = window.innerHeight; } window.onresize = navBarReload; // Check sizes. if (navBarMenuWidth < navBarHeaderWidth) navBarMenuWidth = navBarHeaderWidth; // Build the navigation bar. navBarBuild(); moveLayerTo(navBar, navBarX, navBarY); showLayer(navBar); // Get each menu, position it, initialize it and set up event handling. x = 0; y = 0; i = 0; while ((layer = getLayer("menu" + (i + 1), window)) != null) { // Set menu width. width = navBarMenuWidth; if (i == navBarMenus.length - 1) width = navBarWidth - x; // Initialize the menu container. menu[i] = layer; moveLayerTo(layer, x, y); // Initialize the three layers that make up each menu item. z = 0; j = 0; while ((layer = getLayer("item" + (i + 1) + "_" + (j + 1), menu[i])) != null) { // Normal item layer. norm = layer; moveLayerTo(norm, 0, z); clipLayer(norm, navBarBorderWidth, navBarBorderWidth, width - navBarBorderWidth, getHeight(norm) - navBarBorderWidth); if (isMinNS4 && j > 0) layer.visibility = "inherit"; else showLayer(norm); // Highlighted item layer. high = getLayer("high" + (i + 1) + "_" + (j + 1), menu[i]); moveLayerTo(high, 0, z); clipLayer(high, navBarBorderWidth, navBarBorderWidth, width - navBarBorderWidth, getHeight(norm) - navBarBorderWidth); hideLayer(high); // Transparent, dummy item layer. Used to capture mouse events. dmmy = getLayer("dmmy" + (i + 1) + "_" + (j + 1), menu[i]); moveLayerTo(dmmy, 0, z); clipLayer(dmmy, 0, 0, width, getHeight(norm)); if (j == 0) menu[i].high = high; else { dmmy.high = high; dmmy.onmouseover = navBarItemOn; dmmy.onmouseout = navBarItemOff; } link = navBarMenus[i][j * 2 + 1]; if (link != "") { if (isMinNS4) { dmmy.document.link = link; dmmy.document.onmousedown = navBarItemGo; } if (isMinIE4) { dmmy.link = link; dmmy.onmousedown = navBarItemGo; } } // Set up position for next item. z += getHeight(norm) - navBarBorderWidth; if (j == 0) off = z + navBarBorderWidth - 1; on = z + navBarBorderWidth; j++; } x += navBarHeaderWidth - navBarBorderWidth; // Set up clipping sizes for menu container. menu[i].offWidth = navBarHeaderWidth; menu[i].offHeight = off + 1; menu[i].onWidth = width; menu[i].onHeight = on; menu[i].onmouseover = navBarMenuOn; menu[i].onmouseout = navBarMenuOff; clipLayer(menu[i], 0, 0, menu[i].offWidth, menu[i].offHeight); // Display the menu container layer. showLayer(menu[i]); i++; } // Save bar height. navBarHeight = menu[i - 1].offHeight; // Dummy out mouse events for the filler. menu[i - 1].onmouseover = null; menu[i - 1].onmouseout = null; // Clip filler. clipLayer(menu[i - 1], 0, 0, menu[i - 1].onWidth, menu[i - 1].offHeight); // Clip base layer so it won't interfere with underlying page. clipLayer(navBar, 0, 0, navBarWidth, menu[0].offHeight); // Set tracking. if (navBarTrackX || navBarTrackY) { navBarScroll(); if (isMinNS4) setInterval('navBarScroll()', 20); if (isMinIE4) window.onscroll = navBarScroll; } } //***************************************************************************** // Dynamically build the HTML for the navigation bar and add it to the page. //***************************************************************************** function navBarBuild() { var i, j, k, str, tmp; var padding, width; var headText, actvText, itemText, highText; var tblStart, tblEnd; // Add a dummy menu for filler. navBarMenus[navBarMenus.length] = new Array(" ", ""); // Set total navigation bar width according to value defined: // // < 0 - set to window width. // = 0 - calulate size according to menu definition. // > 0 - use given value or calculated size, whichever is greater. width = (navBarMenus.length - 2) * (navBarHeaderWidth - navBarBorderWidth) + (navBarMenus[navBarMenus.length - 2].length > 2 ? navBarMenuWidth : navBarHeaderWidth); if (navBarWidth < 0) navBarWidth = Math.max(getWindowWidth(), getPageWidth()) - navBarX; if (navBarWidth == 0) navBarWidth = width; if (navBarWidth > 0) navBarWidth = Math.max(navBarWidth, width); // Set up code for menu item text. padding = navBarPaddingWidth + navBarBorderWidth; headText = 'color:' + navBarHeaderFgColor + ';' + 'font-family:' + navBarHeaderFontFamily + ';' + 'font-size:' + navBarHeaderFontSize + ';' + 'font-style:' + navBarHeaderFontStyle + ';' + 'font-weight:' + navBarHeaderFontWeight + ';'; actvText = 'color:' + navBarActiveFgColor + ';' + 'font-family:' + navBarHeaderFontFamily + ';' + 'font-size:' + navBarHeaderFontSize + ';' + 'font-style:' + navBarHeaderFontStyle + ';' + 'font-weight:' + navBarHeaderFontWeight + ';'; itemText = 'color:' + navBarItemFgColor + ';' + 'font-family:' + navBarItemFontFamily + ';' + 'font-size:' + navBarItemFontSize + ';' + 'font-style:' + navBarItemFontStyle + ';' + 'font-weight:' + navBarItemFontWeight + ';'; highText = 'color:' + navBarHighFgColor + ';' + 'font-family:' + navBarItemFontFamily + ';' + 'font-size:' + navBarItemFontSize + ';' + 'font-style:' + navBarItemFontStyle + ';' + 'font-weight:' + navBarItemFontWeight + ';'; tblStart = '
'; tblEnd = '
'; // Build HTML code for the menus. str = ""; for (i = 0; i < navBarMenus.length; i++) { // Set menu width, the filler should be wide enough to fill that width. width = navBarMenuWidth; if (i == navBarMenus.length - 1) width = Math.max(navBarHeaderWidth, navBarWidth - (navBarMenus.length - 1) * navBarHeaderWidth); if (isMinNS4) str += '\n' if (isMinIE4) str += '\n'; } // Create it as a new layer. if (isMinNS4) { navBar = new Layer(width); navBar.document.writeln(str); navBar.document.close(); clipLayer(navBar, 0, 0, navBarWidth, getWindowHeight()); } if (isMinIE4) { str = '\n'; // Insert HTML code at end of page. For IE4, need to scroll window to // end of page, insert and scroll back to correct bug. if (!isMinIE5) { x = getPageScrollX(); y = getPageScrollY(); window.scrollTo(getPageWidth(), getPageHeight()); } document.body.insertAdjacentHTML("beforeEnd", str); if (!isMinIE5) window.scrollTo(x, y); navBar = getLayer("navBar"); } } //***************************************************************************** // Event handlers for the navigation bar. //***************************************************************************** function navBarScroll() { var x, y, d; var max; // Adjust navigation bar position based on current scroll amounts. x = navBarX; d = getPageScrollX() - navBarX; if (navBarTrackX && d > 0) x += d; y = navBarY; d = getPageScrollY() - navBarY; if (navBarTrackY && d > 0) y += d; // For IE, set limits to prevent infinite scrolling as bar is moved. if (isMinIE4) { max = Math.max(getPageWidth(), navBarWidth) - (navBarX + navBarWidth); x = Math.max(navBarX, Math.min(x, max)); max = Math.max(getPageHeight(), getWindowHeight()) - getWindowHeight() - navBarHeight + navBarY; y = Math.max(navBarY, Math.min(y, max)); } // Reposition the navigation bar. moveLayerTo(navBar, x, y); } function navBarMenuOn() { // Display the menu by clipping containter to full view. clipLayer(this, 0, 0, this.onWidth, this.onHeight); clipLayer(navBar, 0, 0, navBarWidth, this.onHeight); showLayer(this.high); } function navBarMenuOff() { // Hide the menu by clipping container to show only the header item. if (isMinIE4 && window.event.toElement && window.event.srcElement.id.substr(4, 1) == window.event.toElement.id.substr(4, 1)) return; clipLayer(this, 0, 0, this.offWidth, this.offHeight); clipLayer(navBar, 0, 0, navBarWidth, this.offHeight); hideLayer(this.high); } function navBarItemOn() { // Show the highlighted layer for this item. showLayer(this.high); } function navBarItemOff() { // Hide the highlighted layer for this item. hideLayer(this.high); } function navBarItemGo() { // If the link starts with "javascript:" execute the code. Otherwise just // link to the URL. if (this.link.indexOf("javascript:") == 0) eval(this.link); else window.location.href = this.link; return false; } function navBarReload() { // Reload page in case of a browser resize. First make sure it's a true // resize. if (isMinNS4 && origWidth == window.innerWidth && origHeight == window.innerHeight) return; window.location.href = window.location.href; } qU__ac_local_roles__q}q UIoanq ]q UOwnerq asUglobalsq }qU__name__qU navbar.jsqU_varsq}qu. Ì' ((UOFS.DTMLMethodqU DTMLMethodqtqNt.}q(UtitleqUUrawqT_&/****************************************************************************** * dhtmllib.js * * * * Copyright 1999 by Mike Hall. * * Web address: http://www.brainjar.com * * Last update: November 30, 1999. * * * * Provides basic functions for DHTML positioned elements which will work on * * both Netscape Communicator and Internet Explorer browsers (version 4.0 and * * up). * ******************************************************************************/ // Determine browser. var isMinNS4 = (navigator.appName.indexOf("Netscape") >= 0 && parseFloat(navigator.appVersion) >= 4) ? 1 : 0; var isMinIE4 = (document.all) ? 1 : 0; var isMinIE5 = (isMinIE4 && navigator.appVersion.indexOf("5.")) >= 0 ? 1 : 0; //----------------------------------------------------------------------------- // Layer visibility. //----------------------------------------------------------------------------- function hideLayer(layer) { if (isMinNS4) layer.visibility = "hide"; if (isMinIE4) layer.style.visibility = "hidden"; } function showLayer(layer) { if (isMinNS4) layer.visibility = "show"; if (isMinIE4) layer.style.visibility = "visible"; } function isVisible(layer) { if (isMinNS4 && layer.visibility == "show") return(true); if (isMinIE4 && layer.style.visibility == "visible") return(true); return(false); } //----------------------------------------------------------------------------- // Layer positioning. //----------------------------------------------------------------------------- function moveLayerTo(layer, x, y) { if (isMinNS4) layer.moveTo(x, y); if (isMinIE4) { layer.style.left = x; layer.style.top = y; } } function moveLayerBy(layer, dx, dy) { if (isMinNS4) layer.moveBy(dx, dy); if (isMinIE4) { layer.style.pixelLeft += dx; layer.style.pixelTop += dy; } } function getLeft(layer) { if (isMinNS4) return(layer.left); if (isMinIE4) return(layer.style.pixelLeft); return(-1); } function getTop(layer) { if (isMinNS4) return(layer.top); if (isMinIE4) return(layer.style.pixelTop); return(-1); } function getRight(layer) { if (isMinNS4) return(layer.left + getWidth(layer)); if (isMinIE4) return(layer.style.pixelLeft + getWidth(layer)); return(-1); } function getBottom(layer) { if (isMinNS4) return(layer.top + getHeight(layer)); else if (isMinIE4) return(layer.style.pixelTop + getHeight(layer)); return(-1); } function getPageLeft(layer) { if (isMinNS4) return(layer.pageX); if (isMinIE4) return(layer.offsetLeft); return(-1); } function getPageTop(layer) { if (isMinNS4) return(layer.pageY); if (isMinIE4) return(layer.offsetTop); return(-1); } function getWidth(layer) { if (isMinNS4) { if (layer.document.width) return(layer.document.width); else return(layer.clip.right - layer.clip.left); } if (isMinIE4) { if (layer.style.pixelWidth) return(layer.style.pixelWidth); else return(layer.clientWidth); } return(-1); } function getHeight(layer) { if (isMinNS4) { if (layer.document.height) return(layer.document.height); else return(layer.clip.bottom - layer.clip.top); } if (isMinIE4) { if (false && layer.style.pixelHeight) return(layer.style.pixelHeight); else return(layer.clientHeight); } return(-1); } function getzIndex(layer) { if (isMinNS4) return(layer.zIndex); if (isMinIE4) return(layer.style.zIndex); return(-1); } function setzIndex(layer, z) { if (isMinNS4) layer.zIndex = z; if (isMinIE4) layer.style.zIndex = z; } //----------------------------------------------------------------------------- // Layer clipping. //----------------------------------------------------------------------------- function clipLayer(layer, clipleft, cliptop, clipright, clipbottom) { if (isMinNS4) { layer.clip.left = clipleft; layer.clip.top = cliptop; layer.clip.right = clipright; layer.clip.bottom = clipbottom; } if (isMinIE4) layer.style.clip = 'rect(' + cliptop + ' ' + clipright + ' ' + clipbottom + ' ' + clipleft +')'; } function getClipLeft(layer) { if (isMinNS4) return(layer.clip.left); if (isMinIE4) { var str = layer.style.clip; if (!str) return(0); var clip = getIEClipValues(layer.style.clip); return(clip[3]); } return(-1); } function getClipTop(layer) { if (isMinNS4) return(layer.clip.top); if (isMinIE4) { var str = layer.style.clip; if (!str) return(0); var clip = getIEClipValues(layer.style.clip); return(clip[0]); } return(-1); } function getClipRight(layer) { if (isMinNS4) return(layer.clip.right); if (isMinIE4) { var str = layer.style.clip; if (!str) return(layer.style.pixelWidth); var clip = getIEClipValues(layer.style.clip); return(clip[1]); } return(-1); } function getClipBottom(layer) { if (isMinNS4) return(layer.clip.bottom); if (isMinIE4) { var str = layer.style.clip; if (!str) return(layer.style.pixelHeight); var clip = getIEClipValues(layer.style.clip); return(clip[2]); } return(-1); } function getClipWidth(layer) { if (isMinNS4) return(layer.clip.width); if (isMinIE4) { var str = layer.style.clip; if (!str) return(layer.style.pixelWidth); var clip = getIEClipValues(layer.style.clip); return(clip[1] - clip[3]); } return(-1); } function getClipHeight(layer) { if (isMinNS4) return(layer.clip.height); if (isMinIE4) { var str = layer.style.clip; if (!str) return(layer.style.pixelHeight); var clip = getIEClipValues(layer.style.clip); return(clip[2] - clip[0]); } return(-1); } function getIEClipValues(str) { var clip = new Array(); var i; // Parse out the clipping values for IE layers. i = str.indexOf("("); clip[0] = parseInt(str.substring(i + 1, str.length), 10); i = str.indexOf(" ", i + 1); clip[1] = parseInt(str.substring(i + 1, str.length), 10); i = str.indexOf(" ", i + 1); clip[2] = parseInt(str.substring(i + 1, str.length), 10); i = str.indexOf(" ", i + 1); clip[3] = parseInt(str.substring(i + 1, str.length), 10); return(clip); } //----------------------------------------------------------------------------- // Layer scrolling. //----------------------------------------------------------------------------- function scrollLayerTo(layer, x, y, bound) { var dx = getClipLeft(layer) - x; var dy = getClipTop(layer) - y; scrollLayerBy(layer, -dx, -dy, bound); } function scrollLayerBy(layer, dx, dy, bound) { var cl = getClipLeft(layer); var ct = getClipTop(layer); var cr = getClipRight(layer); var cb = getClipBottom(layer); if (bound) { if (cl + dx < 0) dx = -cl; else if (cr + dx > getWidth(layer)) dx = getWidth(layer) - cr; if (ct + dy < 0) dy = -ct; else if (cb + dy > getHeight(layer)) dy = getHeight(layer) - cb; } clipLayer(layer, cl + dx, ct + dy, cr + dx, cb + dy); moveLayerBy(layer, -dx, -dy); } //----------------------------------------------------------------------------- // Layer background. //----------------------------------------------------------------------------- function setBgColor(layer, color) { if (isMinNS4) layer.bgColor = color; if (isMinIE4) layer.style.backgroundColor = color; } function setBgImage(layer, src) { if (isMinNS4) layer.background.src = src; if (isMinIE4) layer.style.backgroundImage = "url(" + src + ")"; } //----------------------------------------------------------------------------- // Layer utilities. //----------------------------------------------------------------------------- function getLayer(name) { if (isMinNS4) return findLayer(name, document); if (isMinIE4) return eval('document.all.' + name); return null; } function findLayer(name, doc) { var i, layer; for (i = 0; i < doc.layers.length; i++) { layer = doc.layers[i]; if (layer.name == name) return layer; if (layer.document.layers.length > 0) { layer = findLayer(name, layer.document); if (layer != null) return layer; } } return null; } //----------------------------------------------------------------------------- // Window and page properties. //----------------------------------------------------------------------------- function getWindowWidth() { if (isMinNS4) return(window.innerWidth); if (isMinIE4) return(document.body.clientWidth); return(-1); } function getWindowHeight() { if (isMinNS4) return(window.innerHeight); if (isMinIE4) return(document.body.clientHeight); return(-1); } function getPageWidth() { if (isMinNS4) return(document.width); if (isMinIE4) return(document.body.scrollWidth); return(-1); } function getPageHeight() { if (isMinNS4) return(document.height); if (isMinIE4) return(document.body.scrollHeight); return(-1); } function getPageScrollX() { if (isMinNS4) return(window.pageXOffset); if (isMinIE4) return(document.body.scrollLeft); return(-1); } function getPageScrollY() { if (isMinNS4) return(window.pageYOffset); if (isMinIE4) return(document.body.scrollTop); return(-1); } qU__ac_local_roles__q}q UIoanq ]q UOwnerq asUglobalsq }qU__name__qU dhtmllib.jsqU_varsq}qu. Ïw((UOFS.DTMLMethodqU DTMLMethodqtqNt.}q(UtitleqUthis will create each submenuqUrawqU¸ ,'','' qU__ac_local_roles__q }q UIoanq ]q UOwnerq asUglobalsq}qU__name__qUsubqU_varsq}qu. åè((UOFS.DTMLMethodqU DTMLMethodqtqNt.}q(UtitleqUUrawqTA/* Top Navigational Bar II (By Mike Hall @ Brainjar.com) Permission granted to Dynamicdrive.com to include script in archive For this and 100's more DHTML scripts, visit http://dynamicdrive.com */ // Define navigation bar settings. navBarX = 0; navBarHeaderWidth = 80; navBarMenuWidth = 200; navBarBorderWidth = 1; navBarPaddingWidth = 2; navBarBorderColor = "#A0BFCC"; navBarHeaderBgColor = "#8899FF"; navBarHeaderFgColor = "#FFFFFF"; navBarActiveBgColor = "#8899FF"; navBarActiveFgColor = "#FF0000"; navBarItemBgColor = "#8899FF"; navBarItemFgColor = "#AA0000"; navBarHighBgColor = "#9999FF"; navBarHighFgColor = "#ffffff"; navBarHeaderFontFamily = "Verdana,Arial,Helvetica,sans-serif"; navBarHeaderFontStyle = "plain"; navBarHeaderFontWeight = "bold"; navBarHeaderFontSize = "7pt"; navBarItemFontFamily = "Verdana,Arial,Helvetica,sans-serif"; navBarItemFontStyle = "plain"; navBarItemFontWeight = "bold"; navBarItemFontSize = "10pt"; // Define navigation bar menus. Extend beyond 4 as desired ix=0; navBarMenus[ix++] = new Array('Home', '' ); navBarMenus[ix++] = new Array('','' ); qU__ac_local_roles__q}q UIoanq ]q UOwnerq asUglobalsq }qU__name__qUmenu.jsqU_varsq}qu.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ