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 '<DIV ID="' + menuItemId + '" isautoclose="' + isAutoClose + '" STYLE="z-index:5; filter:blendTrans(duration=0.5)" onmouseover="NOF_KeepOpen(\'' + menuItemId + '\', ' + parentId + ')" onmouseout="NOF_KeepClose()">';
}
this.getMenuItemLayerEndString = function getMenuItemLayerEndString() {
return '</DIV>';
}
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");
}
return "";
}
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 '<layer ID="' + menuItemId + '" isautoclose="' + isAutoClose + '" onmouseover="NOF_KeepOpen(\'' + menuItemId + '\', ' + parentId + ')" onmouseout="NOF_KeepClose()">';
}
this.getMenuItemLayerEndString = function getMenuItemLayerEndString() {
return '</layer>';
}
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) {
return itemId == "" ? "" : eval("document.layers['" + itemId + "']");
}
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();
}
}
return null;
}
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 : '<table border="0" cellspacing="0" cellpadding="0">',
MENU_TABLE_END : '</table>',
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) + '<table width="10" border="' + C_MENU_BORDER + '" cellspacing="' + C_MENU_SPACING + '" cellpadding="0" bgcolor="' + C_MENU_BGCOLOR + '">';
var i = 0;
buffer += '<tr>';
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) ? '<tr><td>' : '<td>';
if(!isImageMenu)
buffer += '<style type="text/css"> ' + '.' + imageName + ' span {' + 'display:block; padding:' + rollOverButton[1] + '} ' + '.' + imageName + 'Hover span {' + 'display:block; padding:' + rollOverButton[3] + '}' + '</style>';
var cursor = link != 'javascript:void(0)' ? 'hand' : 'default';
buffer += '<a class="nof-navPositioning" ';
if (cursor == 'default')
buffer += 'style="cursor: default" ';
buffer += 'href="' + link + '" ';
buffer += 'onMouseOver="F_roll(\'' + imageName + '\' ,' + CONSTANTS.MOUSE_OVER_IMAGE + ', \'' + menuItemId + '\', \''+
CONSTANTS.NOT_A_MAIN_ITEM + '\')" onMouseOut="F_roll(\'' + imageName + '\' ,' +
CONSTANTS.MOUSE_OUT_IMAGE + ', \''+menuItemId+'\', \'' + CONSTANTS.NOT_A_MAIN_ITEM + '\')"';
buffer += target.length ? ' target="' + target + '">' : '>';
buffer += isImageMenu ? '<img border="0" src="' + image + '"' : '<' + browser.getLayerTag() + ' ';
if (typeof(rollOverButton) != "undefined" || rollOverButton.length || !isImageMenu) {
if (submenuId != "") {
var submenu = menuButton.submenu;
if (isImageMenu) {
buffer += 'id="' + imageName + '" name="' + imageName +
'" onLoad="F_loadRollover(this,\'' + rollOverButton + '\', new Array(\'' + submenuId + '\',\'' + submenu.getOrientation() + '\' , \'' + submenu.getOpenEffect() + '\', ' + submenu.getOffsetX() + ',' + submenu.getOffsetY() + '))"';
} else {
NOF_MenuLoadRollOver(imageName, rollOverButton, new Array(submenuId, submenu.getOrientation(), submenu.getOpenEffect(), submenu.getOffsetX(), submenu.getOffsetY() ));
buffer += 'id="' + imageName + '" name="' + imageName + '" class="' + imageName + '" ' ;
if (typeof(menuButton.rollover) == "object")
buffer+= ' style="' + rollOverButton[0] + '"';
}
}
else {
if (isImageMenu)
buffer += 'id="' + imageName + '" name="' + imageName +
'" onLoad="F_loadRollover(this,\'' + rollOverButton + '\',0)"';
else {
NOF_MenuLoadRollOver(imageName, rollOverButton, 0);
buffer += 'id="' + imageName + '" name="' + imageName + '" class="' + imageName + '" ';
if (typeof(menuButton.r