var GLOBAL_LoadedImages = new Array(); var GLOBAL_CurrentItem = ""; var GLOBAL_Close = null; var GLOBAL_Hide = null; var GLOBAL_items = new NOF_OpenedItems(); var GLOBAL_slideItem = null; var GLOBAL_slideSpeed = 10; var GLOBAL_slidePixel = 0; var GLOBAL_slideMinOffset = -800; var GLOBAL_slideMaxOffset = 800; var useDebuger = false; function NOF_DOMBrowser() { this.getMenuItemLayerStartString = function getMenuItemLayerStartString(menuItemId, parentId) { parentId = ( (parentId != null) && (parentId != "undefined") && (typeof(parentId) != "undefined")) ? new String(parentId + CONSTANTS.MENU_LAYER_SUFIX) : null; menuItemId += CONSTANTS.MENU_LAYER_SUFIX; var isAutoClose = typeof(C_MENU_AUTO_CLOSE) == "undefined" || C_MENU_AUTO_CLOSE == true ? "true" : "false"; return ''; } this.showMenuItem = function showMenuItem(image, item, offsetX, offsetY, openEffect) { if (typeof(item) == "string") item = this.getItem(item) image = typeof(image) == "string" ? this.getItem(image) : image; var top = this.findItemTopOffset(image); var left = this.findItemLeftOffset(image); var slideDirection = ""; if (openEffect.indexOf("left") > -1 || openEffect.indexOf("Left") > -1 ) { top += offsetY; left -= offsetX; slideDirection = "left"; } else if (openEffect.indexOf("top") > -1 || openEffect.indexOf("Top") > -1 ) { top -= offsetY; left += offsetX; slideDirection = "top"; } else if (openEffect.indexOf("right") > -1 || openEffect.indexOf("Right") > -1 ) { top += offsetY; left += offsetX; slideDirection = "right"; } else { top += offsetY; left += offsetX; slideDirection = "bottom"; } if (item == null || typeof(item.style) == "undefined" || item.style == null ) return; item.style.top = top; item.style.left = left; item.style.visibility = "visible"; if (openEffect.indexOf("slide") > -1) this.slideEffect(item, slideDirection); else if (openEffect.indexOf("fade") > -1) this.fadeEffect(item); } this.hideMenuItem = function hideMenuItem(item) { if (typeof(item) == "string") item = this.getItem(item) if ( item == null || typeof(item) == "undefined" || item == "" || typeof(item) == "number") return; item.style.visibility = "hidden"; } this.findItemLeftOffset = function findItemLeftOffset(item) { var offset = item.offsetLeft; if (item.offsetParent) offset += this.findItemLeftOffset(item.offsetParent); return offset; } this.findItemTopOffset = function findItemTopOffset(item) { var offset = item.offsetTop; if (item.offsetParent) offset += this.findItemTopOffset(item.offsetParent); return offset; } this.getItem = function getItem(itemId) { return document.getElementById(itemId); } this.getItemAttribute = function getItemAttribute(itemId, attrId) { if (this.getItem(itemId)) { var attr = this.getItem(itemId).attributes; return eval("attr." + attrId.toLowerCase() + ".value"); } } this.debug = function debug(txt) { var container = this.getItem("debug"); if ( useDebuger ) container.value += txt + "\n"; } this.fadeEffect = function fadeEffect(item) { item.style.visibility = "hidden"; item.filters.blendTrans.Apply(); item.filters.blendTrans.Play(); item.style.visibility = "visible"; } this.slideEffect = function slideEffect(item, margin) { GLOBAL_slideItem = item; this.setItemClip('rect(auto, auto, auto, auto)'); GLOBAL_slidePixel = (margin == "top" || margin == "left") ? 100 : 0; this.playEffect(margin); } this.playEffect = function playEffect(margin) { var clip = GLOBAL_slideItem.style.clip; if (clip.indexOf("-") > 0) return; if (GLOBAL_slidePixel < GLOBAL_slideMinOffset || GLOBAL_slidePixel > GLOBAL_slideMaxOffset) return; var rect = 'rect('; if (margin == "top") { GLOBAL_slidePixel -= 3; rect += GLOBAL_slidePixel +'px auto auto auto)'; } else if (margin == "right") { GLOBAL_slidePixel += 3; rect += 'auto ' + GLOBAL_slidePixel +'px auto auto)'; } else if (margin == "bottom") { GLOBAL_slidePixel += 3; rect += 'auto auto ' + GLOBAL_slidePixel + 'px auto)'; } else { GLOBAL_slidePixel -= 3; rect += 'auto auto auto ' + GLOBAL_slidePixel + 'px)'; } this.setItemClip(rect); setTimeout('browser.playEffect("' + margin + '")', GLOBAL_slideSpeed); } this.setItemClip = function setItemClip(rect) { GLOBAL_slideItem.style.clip = rect; } this.getLayerTag = function getLayerTag() { return "div" }; } function NOF_BrowserNetscapeNavigator() { window.onclick= HideMenu; this.fadeEffect = function fadeEffect() { return; }; GLOBAL_slideSpeed = 1; return this; } NOF_BrowserNetscapeNavigator.prototype = new NOF_DOMBrowser; function NOF_BrowserInternetExplorer() { document.onmouseup = HideMenu; } NOF_BrowserInternetExplorer.prototype = new NOF_DOMBrowser; function NOF_BrowserNetscape4x() { this.getMenuItemLayerStartString = function getMenuItemLayerStartString(menuItemId, parentId) { parentId = ( (parentId != null) && (parentId != "undefined") && (typeof(parentId) != "undefined")) ? new String(parentId + CONSTANTS.MENU_LAYER_SUFIX) : null; menuItemId += CONSTANTS.MENU_LAYER_SUFIX; var isAutoClose = typeof(C_MENU_AUTO_CLOSE) == "undefined" || C_MENU_AUTO_CLOSE == true ? "true" : "false"; return ''; } this.getMenuItemLayerEndString = function getMenuItemLayerEndString() { return ''; } this.getImageParent = function getImageParent(imageObject){ for (var position = 0; position < document.layers.length; position++) { var layer = document.layers[position]; for (var imagePosition = 0; imagePosition < layer.document.images.length; imagePosition++) { if (layer.document.images[imagePosition].name == imageObject.name) { return layer; } } } return null; } this.showMenuItem = function showMenuItem(image, item, offsetX, offsetY, openEffect) { var parent = this.getImageParent(image); var itemId = image; if (typeof(item) == "string") item = this.getItem(item) image = typeof(image) == "string" ? this.getItem(image) : image; var top = this.findItemTopOffset(image); var left = this.findItemLeftOffset(image); if (parent != null) { left += parent.pageX; top += parent.pageY; } var slideDirection = ""; if (openEffect.indexOf("left") > -1 || openEffect.indexOf("Left") > -1 ) { top += offsetY; left -= offsetX; slideDirection = "left"; } else if (openEffect.indexOf("top") > -1 || openEffect.indexOf("Top") > -1 ) { top -= offsetY; left += offsetX; slideDirection = "top"; } else if (openEffect.indexOf("right") > -1 || openEffect.indexOf("Right") > -1 ) { top += offsetY; left += offsetX; slideDirection = "right"; } else { top += offsetY; left += offsetX; slideDirection = "bottom"; } if (typeof(item) == "undefined") return; item.y = parseInt(top); item.x = parseInt(left); item.visibility = "visible"; if (openEffect.indexOf("slide") > -1) this.slideEffect(item, slideDirection); else if (openEffect.indexOf("fade") > -1) { this.fadeEffect(item); } } this.hideMenuItem = function hideMenuItem(item) { if (typeof(item) == "string") item = this.getItem(item) if ( item == null || typeof(item) == "undefined" || item == "") return; item.visibility = "hide"; } this.findItemLeftOffset = function findItemLeftOffset(item) { return item.x; } this.findItemTopOffset = function findItemTopOffset(item) { return item.y; } this.getItem = function getItem(itemId) { if (itemId == "") return; var item = eval("document.layers['" + itemId + "']"); return item; } this.getItemAttribute = function getItemAttribute(itemId, attrId) { return eval("document.layers['" + itemId.toLowerCase() + "']." + attrId); } this.getLayerTag = function getLayerTag() { return "layer" }; this.slideEffect = function slideEffect(item, margin) { GLOBAL_slideItem = item; GLOBAL_slidePixel = (margin == "bottom" || margin == "left") ? 200 : 0; this.playEffect(margin); } this.playEffect = function playEffect(margin) { if (GLOBAL_slidePixel < GLOBAL_slideMinOffset || GLOBAL_slidePixel > GLOBAL_slideMaxOffset) return; if (margin == "top") { GLOBAL_slideItem.clip.bottom = GLOBAL_slidePixel += 1; } else if (margin == "right") { GLOBAL_slideItem.clip.right = GLOBAL_slidePixel += 1; } else if (margin == "bottom") { GLOBAL_slideItem.clip.top = GLOBAL_slidePixel -= 1; } else { GLOBAL_slideItem.clip.left = GLOBAL_slidePixel -= 1; } setTimeout('browser.playEffect("' + margin + '")', GLOBAL_slideSpeed); } } NOF_BrowserNetscape4x.prototype = new NOF_DOMBrowser; function NOF_BrowserFactory() { var agt = navigator.userAgent.toLowerCase(); var is_major = parseInt(navigator.appVersion); var is_minor = parseFloat(navigator.appVersion); var is_nav = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1) && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1) && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1)); var is_nav2 = (is_nav && (is_major == 2)); var is_nav3 = (is_nav && (is_major == 3)); var is_nav4 = (is_nav && (is_major == 4)); var is_nav4up = (is_nav && (is_major >= 4)); var is_navonly = (is_nav && ((agt.indexOf(";nav") != -1) || (agt.indexOf("; nav") != -1)) ); var is_nav6 = (is_nav && (is_major == 5)); var is_nav6up = (is_nav && (is_major >= 5)); var is_gecko = (agt.indexOf('gecko') != -1); var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1)); var is_ie3 = (is_ie && (is_major < 4)); var is_ie4 = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) ); var is_ie4up = (is_ie && (is_major >= 4)); var is_ie5 = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) ); var is_ie5_5 = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1)); var is_ie5up = (is_ie && !is_ie3 && !is_ie4); var is_ie5_5up =(is_ie && !is_ie3 && !is_ie4 && !is_ie5); var is_ie6 = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) ); var is_ie6up = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5); var is_opera = (agt.indexOf("opera") != -1); var is_opera2 = (agt.indexOf("opera 2") != -1 || agt.indexOf("opera/2") != -1); var is_opera3 = (agt.indexOf("opera 3") != -1 || agt.indexOf("opera/3") != -1); var is_opera4 = (agt.indexOf("opera 4") != -1 || agt.indexOf("opera/4") != -1); var is_opera5 = (agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1); var is_opera5up = (is_opera && !is_opera2 && !is_opera3 && !is_opera4); this.getBrowser = function getBrowser() { if (is_ie5up) { return new NOF_BrowserInternetExplorer(); } if (is_nav6up) { return new NOF_BrowserNetscapeNavigator(); } if (is_opera5up) { return new NOF_BrowserInternetExplorer(); } if (is_nav4) { return new NOF_BrowserNetscape4x(); } } } var browserFactory = new NOF_BrowserFactory(); var browser = browserFactory.getBrowser(); var CONSTANTS = { MENU_TYPE_IMAGE : "Image", MENU_TYPE_TEXT : "Text", BUTTON_TYPE_IMAGE : "image", BUTTON_TYPE_TEXT : "text", MENU_TABLE_HEADER : '', MENU_TABLE_END : '
', MOUSE_OVER_IMAGE : 1, MOUSE_OUT_IMAGE : 2, MENU_ITEM_HORIZONTAL : false, MENU_ITEM_VERTICAL : true, MENU_LAYER_SUFIX : "LYR", NOT_A_MAIN_ITEM : 1, MENU_REFRESH_TIME : 600 } function NOF_Menu() { return this; } function NOF_Menu_Item() { this.id = arguments[0]; this.orientation = arguments[1]; this.openEffect = arguments[2]; this.offsetX = arguments[3]; this.offsetY = arguments[4]; this.buttons = new Array(); this.submenuHeight = 0; for (var i = 5; i < arguments.length; i++) this.buttons[i - 5] = arguments[i]; this.getPosition = function () { return new Array(this.offsetX, this.offsetY); } this.getOffsetX = function getOffsetX() { return this.offsetX;} this.getOffsetY = function getOffsetY() { return this.offsetY;} this.getOpenEffect = function getOffsetY() { return this.openEffect;} this.getOrientation = function getOrientation() { return this.orientation; } return this; } function NOF_Menu_Button(link, normal, rollover, submenu) { this.link = link; this.normal = normal; this.rollover = rollover != "" ? rollover : normal; this.submenu = submenu; this.hasSubmenu = function hasSubmenu() { return (this.submenu != null) } this.type = function type() { if (typeof(this.rollover) == "object") return CONSTANTS.BUTTON_TYPE_TEXT; else if (typeof(this.rollover) == "string") return CONSTANTS.BUTTON_TYPE_IMAGE; else return null; } return this; } function NOF_Main_Menu(menuItem, parentId) { if(typeof(menuItem) == "undefined") return; var menuItemId = menuItem.id; var buffer = browser.getMenuItemLayerStartString(menuItemId, parentId) + ''; var i = 0; buffer += ''; while (i < menuItem.buttons.length) { var menuButton = menuItem.buttons[i]; if (menuButton == null) return; var submenuId = ""; if (menuButton.hasSubmenu() && menuButton.submenu) { submenuId = menuButton.submenu.id; } var link = menuButton.link; var image = menuButton.normal; var rollOverButton = menuButton.rollover; var isImageMenu = menuButton.type() == CONSTANTS.BUTTON_TYPE_IMAGE ? true : false; var imageName = isImageMenu ? menuItemId + 's' + i : 'NavigationButton_' + menuItemId + '_' + i; var isVertical = menuItem.orientation == "vertical" ? true : false; var target = ''; if (link.indexOf(' target=') != -1) { target = link.substr(link.indexOf(' target=') + 8); link = link.substr(0, link.indexOf(' target=')); } buffer += (isVertical && i > 1) ? '' : '><' + browser.getLayerTag() + ' id="' + imageName + '_padding" style="padding:' + rollOverButton[1] + '" padding="' + rollOverButton[1] + '" paddingOver="' + rollOverButton[3] + '">' + image + '
' : ''; var cursor = link != 'javascript:void(0)' ? 'hand' : 'default'; buffer += '' : '>'; buffer += isImageMenu ? '