/**
* Fusion 8 DHTML Menus
*/
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");}
}
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){
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 : '<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>';var cursor=link !='javascript:void(0)' ? 'hand' : 'default';buffer +='<a style="text-decoration:none;cursor:' + cursor + ';" 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.rollover)=="object")
buffer+=' style="' + rollOverButton[0]+'"';}
}
}
buffer +=isImageMenu ? '></a></td>' :
'><' + browser.getLayerTag()+ ' id="' + imageName + '_padding" style="padding:' + rollOverButton[1]+ '" padding="' + rollOverButton[1]+ '" paddingOver="' + rollOverButton[3]+ '">'  + image +
'</' + browser.getLayerTag()+ '></' + browser.getLayerTag()+ '></a></td>';buffer +=isVertical ? "</tr>" : "";i++;}
buffer +=CONSTANTS.MENU_TABLE_END + browser.getMenuItemLayerEndString();document.writeln(buffer);var k=0;while(k < menuItem.buttons.length){if(menuItem.buttons[k].hasSubmenu()){NOF_Main_Menu(menuItem.buttons[k].submenu, menuItem.id);}
k++;}
}
function NOF_MenuLoadRollOver(button, buttonName, submenu){
if(button && button.src &&
(null==button.out||typeof(button.out)==typeof(void(0)))){
var imageSrc=button.src;button.out=new Image();button.out.src=imageSrc;button.over=new Image();
if(buttonName.lastIndexOf('/')>=0||buttonName.lastIndexOf('\\')>=0){imageSrc=buttonName;}else{var i=imageSrc.lastIndexOf('/');if(i < 0)
i=imageSrc.lastIndexOf('\\');if(i < 0)
imageSrc=buttonName;else
imageSrc=imageSrc.substring(0, i + 1)+ buttonName;}
button.over.src=imageSrc;button.submenu=submenu;GLOBAL_LoadedImages[button.name]=button;
}else{if(typeof(buttonName)=="object"){if(typeof(GLOBAL_LoadedImages[button])=="undefined"){GLOBAL_LoadedImages[button + "Normal"]=buttonName[0];GLOBAL_LoadedImages[button + "Over"]=buttonName[2];GLOBAL_LoadedImages[button]=submenu;}
return;}
if(typeof(submenu)!="undefined"  && typeof(button)=="string" && typeof(GLOBAL_LoadedImages[button])=="undefined")
GLOBAL_LoadedImages[button]=submenu;}
}
function NOF_MenuRollButton(buttonName, over, layerId, isNotMainItem){
var rollType=(over==CONSTANTS.MOUSE_OVER_IMAGE)? "over" : "out";var isOver=(over==CONSTANTS.MOUSE_OVER_IMAGE)? true : false;var rollOver=GLOBAL_LoadedImages[buttonName];if(typeof(rollOver)=="undefined")
return;var menuType=typeof(rollOver.src)=="undefined" ? CONSTANTS.MENU_TYPE_TEXT :
CONSTANTS.MENU_TYPE_IMAGE;if(menuType==CONSTANTS.MENU_TYPE_IMAGE){var imageRollSrcString="rollOver." + rollType + ".src";if(rollOver)
rollOver.src=eval(imageRollSrcString)? eval(imageRollSrcString): "";}else if(menuType==CONSTANTS.MENU_TYPE_TEXT){if(typeof(buttonName)=="string"){browser.getItem(buttonName).className=isOver ? buttonName + "Hover" : buttonName;if(browser.getItem(buttonName + "_padding")){browser.getItem(buttonName + "_padding").style.padding=isOver ?
browser.getItem(buttonName + "_padding").paddingOver :
browser.getItem(buttonName + "_padding").padding;}
if(typeof(browser.getItem(buttonName).style)!="undefined")
browser.getItem(buttonName).style.cssText=isOver ?
GLOBAL_LoadedImages[buttonName + "Over"]:
GLOBAL_LoadedImages[buttonName + "Normal"];}
}else
return;if((isNotMainItem==null||typeof(isNotMainItem)=="undefined")&& over==CONSTANTS.MOUSE_OUT_IMAGE){GLOBAL_CurrentItem="";GLOBAL_items.removeAll();}
var hasSubmenu=null;if(menuType==CONSTANTS.MENU_TYPE_IMAGE)
hasSubmenu=rollOver.submenu;else if(menuType==CONSTANTS.MENU_TYPE_TEXT)
hasSubmenu=typeof(rollOver)=="object";if(hasSubmenu){if(over==CONSTANTS.MOUSE_OVER_IMAGE){if(layerId && typeof(layerId)!="undefined" && layerId !="null"){if(GLOBAL_Close !=null)
clearTimeout(GLOBAL_Close);GLOBAL_items.removeSubitems(layerId + CONSTANTS.MENU_LAYER_SUFIX);}else
GLOBAL_items.removeAll();if(menuType==CONSTANTS.MENU_TYPE_IMAGE)
NOF_MenuOpenItem(rollOver, rollOver.submenu, layerId);else
NOF_MenuOpenItem(buttonName, rollOver, layerId);}
else{if(menuType==CONSTANTS.MENU_TYPE_IMAGE)
NOF_MenuCloseItem(rollOver.submenu);else
NOF_MenuCloseItem(rollOver);}
}else if(over==CONSTANTS.MOUSE_OVER_IMAGE){if(layerId && typeof(layerId)!="undefined" && layerId !="null"){GLOBAL_CurrentItem=layerId + CONSTANTS.MENU_LAYER_SUFIX;GLOBAL_items.removeSubitems(GLOBAL_CurrentItem);}else
browser.hideMenuItem(GLOBAL_CurrentItem);}
}
function NOF_MenuOpenItem(image, submenu, parentId){
var layerId=submenu[0]+ CONSTANTS.MENU_LAYER_SUFIX;var orientation=submenu[1];var openEffect=submenu[2];var offsetX=submenu[3];var offsetY=submenu[4];GLOBAL_items.addItem(layerId, parentId);GLOBAL_CurrentItem=layerId;browser.showMenuItem(image, layerId, offsetX, offsetY, openEffect);}
function NOF_MenuCloseItem(imageSubmenu){
if(imageSubmenu[0]){var layerId=imageSubmenu[0]+ CONSTANTS.MENU_LAYER_SUFIX;
if(GLOBAL_items.toArray().length==1)
GLOBAL_CurrentItem=0;GLOBAL_Close=setTimeout("NOF_MenuHideItem('" + layerId + "')", CONSTANTS.MENU_REFRESH_TIME/4);}
}
function NOF_MenuHideItem(itemId){
if(itemId && itemId !=null && GLOBAL_CurrentItem !=itemId){browser.hideMenuItem(itemId);}
}
function NOF_KeepOpen(itemId, parentId){
GLOBAL_CurrentItem=itemId;if(GLOBAL_Hide !=null)
for(var i=0;i < GLOBAL_Hide.length;i++)
clearTimeout(GLOBAL_Hide[i]);}
function NOF_KeepClose(){
GLOBAL_CurrentItem="";setTimeout("NOF_CloseChilds()", CONSTANTS.MENU_REFRESH_TIME);}
function NOF_CloseChilds(){
var itemsList=GLOBAL_items.toArray();GLOBAL_Hide=new Array();if(GLOBAL_CurrentItem==""||GLOBAL_CurrentItem==0)
for(var i in itemsList)
if(itemsList[i])
GLOBAL_Hide[i]=setTimeout("browser.hideMenuItem('" + itemsList[i]+ "')", CONSTANTS.MENU_REFRESH_TIME/4);if(!isMenuAutoClose()){itemsList=GLOBAL_items.toArray();
for(var i in itemsList)
if(itemsList[i])
NOF_KeepOpen(itemsList[i]);}
}
function isMenuAutoClose(){
var itemsList=GLOBAL_items.toArray();if(itemsList[0]&& itemsList[0].length){var autoClose=browser.getItemAttribute(itemsList[0], "isautoclose");if(autoClose=="true")
return true;else
return false;}
return false;}
function HideMenu(){
if(isMenuAutoClose())
return;var itemsList=GLOBAL_items.toArray();if(GLOBAL_Hide==null)
GLOBAL_Hide=new Array();for(var i in itemsList)
if(itemsList[i]&& itemsList[i].length){GLOBAL_items.removeItem(itemsList[i]);GLOBAL_Hide[i]=browser.hideMenuItem(itemsList[i]);}
}
function NOF_OpenedItems(){
this.openedItems="";this.separator="*";
this.addItem=function addItem(item, parent){
if(item==null||!item||item=="")
return;if(this.openedItems.indexOf(item)==-1){
this.openedItems +=this.openedItems.length ?
(this.openedItems.indexOf(this.separator)==this.openedItems.length - 1 ? "" : this.separator)+ item :
item;}
}
this.removeItem=function removeItem(item){
if(item==GLOBAL_CurrentItem)
return;var temp=this.openedItems;if(temp.indexOf(item)> 0){var a=temp.substring(0, temp.indexOf(item));var b=temp.substring(temp.indexOf(item)+ item.length, temp.length);temp=a + b;}
while(temp.lastIndexOf(this.separator)==temp.length - 1)
temp=temp.substring(0, temp.length - 1);this.openedItems=temp;}
this.removeSubitems=function removeSubitems(item){
if(item && typeof(item)!="undefined"){var temp=this.openedItems;temp=temp.substring(0, temp.lastIndexOf(item)+ item.length);var temp1=this.openedItems.substring(this.openedItems.indexOf(temp)+ temp.length, this.openedItems.length);temp1=temp1.split(this.separator);for(var i=temp1.length - 1;i >=0;i--)
if(temp1[i])
browser.hideMenuItem(temp1[i]);this.openedItems=temp;}
}
this.currentItem=function currentItem(){
var list=this.toArray();return list[list.length - 1];}
this.removeAll=function removeAll(){
var items=this.toArray();clearTimeout(GLOBAL_Close);for(var i=items.length - 1;i >=0;i--)
if(items[i]!=null && items[i]!=""){clearTimeout(items[i]);browser.hideMenuItem(items[i]);}
this.openedItems="";}
this.toArray=function toArray(){return this.openedItems.split(this.separator);}
}
function F_menu(item){NOF_Menu(item);}
function F_roll(itemId, over, layerId, isNotMainItem){var layerId=(layerId==null||typeof(layerId)=="undefined")? null : layerId;var isNotMainItem=(isNotMainItem==null||typeof(isNotMainItem)=="undefined")? null : isNotMainItem;if(typeof(itemId)=="object" && itemId.constructor==Array){for(var i=0;i < itemId.length;i++){NOF_MenuRollButton(itemId[i], over, layerId, isNotMainItem);}
}
else{NOF_MenuRollButton(itemId, over, layerId, isNotMainItem);}
}
function F_loadRollover(image, rollOverButton, submenu){return NOF_MenuLoadRollOver(image, rollOverButton, submenu);}

n]) == "undefined") {
          GLOBAL_LoadedImages[button + "Normal"]  = buttonName[0];
          GLOBAL_LoadedImages[button + "Over"]    = buttonName[2];  
          GLOBAL_LoadedImages[button]             = submenu;  
        }
        return;
      }
      if (typeof(submenu) != "undefined"  && typeof(button) == "string" && typeof(GLOBAL_LoadedImages[button]) == "undefined") 
          GLOBAL_LoadedImages[button]  = submenu;           
  }
}


/** 
*@name NOF.MenuRollButton
*@description Show rollover cell
*@parameter buttonName: image name
*@parameter over: 1 means mouse over (load rollverimage) , 0 means mouseout (load original image).
*/
function NOF_MenuRollButton(buttonName, over, layerId, isNotMainItem) { 

    var rollType    = (over == CONSTANTS.MOUSE_OVER_IMAGE) ? "over" : "out"; // Defined in NOF_MenuLoadRollOver
    var isOver      = (over == CONSTANTS.MOUSE_OVER_IMAGE) ? true : false;
    var rollOver    = GLOBAL_LoadedImages[buttonName];
  
    if (typeof(rollOver) == "undefined")
      return;
  
    var menuType = typeof(rollOver.src) == "undefined" ? CONSTANTS.MENU_TYPE_TEXT : 
                                                         CONSTANTS.MENU_TYPE_IMAGE;
    
    if (menuType == CONSTANTS.MENU_TYPE_IMAGE) { // Image menu
      var imageRollSrcString  = "rollOver." + rollType + ".src"; 
      if (rollOver) 
         rollOver.src = eval(imageRollSrcString) ? eval(imageRollSrcString) : "";     
    
    } else if (menuType == CONSTANTS.MENU_TYPE_TEXT){ // Text menu             
        if (typeof(buttonName) == "string") {
          browser.getItem(buttonName).className = isOver ? buttonName + "Hover" : buttonName;
      
          if (browser.getItem(buttonName + "_padding")){
              browser.getItem(buttonName + "_padding").style.padding = isOver ? 
                              browser.getItem(buttonName + "_padding").paddingOver : 
                              browser.getItem(buttonName + "_padding").padding;
          }
  
          if (typeof(browser.getItem(buttonName).style) != "undefined")
            browser.getItem(buttonName).style.cssText = isOver ? 
                            GLOBAL_LoadedImages[buttonName + "Over"] : 
                            GLOBAL_LoadedImages[buttonName + "Normal"]; 
        }
  
    } else // Undefined menu type
        return;
  
    if ((isNotMainItem == null || typeof(isNotMainItem) == "undefined" ) && over == CONSTANTS.MOUSE_OUT_IMAGE) {   
      GLOBAL_CurrentItem = "";
      GLOBAL_items.removeAll();    
    }
      
    var hasSubmenu = null;
    if (menuType == CONSTANTS.MENU_TYPE_IMAGE)
      hasSubmenu = rollOver.submenu;
    else if (menuType == CONSTANTS.MENU_TYPE_TEXT)
      hasSubmenu = typeof(rollOver) == "object";
  
    if (hasSubmenu) {
      if (over == CONSTANTS.MOUSE_OVER_IMAGE) {
        if ( layerId && typeof(layerId) != "undefined" && layerId != "null") {
          if (GLOBAL_Close != null)
            clearTimeout(GLOBAL_Close);
          GLOBAL_items.removeSubitems(layerId + CONSTANTS.MENU_LAYER_SUFIX);
        } else
          GLOBAL_items.removeAll();
  
        if (menuType == CONSTANTS.MENU_TYPE_IMAGE)
          NOF_MenuOpenItem(rollOver, rollOver.submenu, layerId);
        else
          NOF_MenuOpenItem(buttonName, rollOver, layerId); 
      }
      else { // MOUSE_OUT_IMAGE
        if (menuType == CONSTANTS.MENU_TYPE_IMAGE)
          NOF_MenuCloseItem(rollOver.submenu);
        else
          NOF_MenuCloseItem(rollOver);
      }
    
    } else if (over == CONSTANTS.MOUSE_OVER_IMAGE ) { // This image doesn't have a submenu, only a rollover button      
        if ( layerId && typeof(layerId) != "undefined" && layerId != "null" ) {
          GLOBAL_CurrentItem = layerId + CONSTANTS.MENU_LAYER_SUFIX;
          GLOBAL_items.removeSubitems(GLOBAL_CurrentItem);
        } else // Only for html - always visible - menu part        
            browser.hideMenuItem(GLOBAL_CurrentItem);
    }
}


/** 
*@name NOF.MenuOpenItem
*@description Opens (visibility = 'visible') one menu item
*@parameter image Image object that is parent for this submenu
*@parameter imageSubmenu : Array(offset, layerId, horizontal) :
*      offsetX - distance from parent left
*      offsetY - distance from parent top
*      layerId - layer ID that will be opened
*      horizontal - indicates if it's horizontal or vertical. True = vertical, False = horizontal
*@parameter parentId
*@parameter
*/
function NOF_MenuOpenItem(image, submenu, parentId) {

  var layerId       = submenu[0] + CONSTANTS.MENU_LAYER_SUFIX; 
  var orientation   = submenu[1];
  var openEffect    = submenu[2];
  var offsetX       = submenu[3];
  var offsetY       = submenu[4];

  GLOBAL_items.addItem(layerId, parentId);
  GLOBAL_CurrentItem = layerId; // Current opened layer 

  browser.showMenuItem(image, layerId, offsetX, offsetY, openEffect);
}


/** 
*@name NOF.MenuCloseItem
*@description Close a menu item if mouse is out of it but not on his child.
*@parameter
*/
function NOF_MenuCloseItem(imageSubmenu) {

  if (imageSubmenu[0]) {
    var layerId  = imageSubmenu[0] + CONSTANTS.MENU_LAYER_SUFIX; 
  
    // If mouse outside a cell that belongs to main menu (root) - close it
    if (GLOBAL_items.toArray().length == 1)
      GLOBAL_CurrentItem = 0;
  
    GLOBAL_Close = setTimeout("NOF_MenuHideItem('" + layerId + "')", CONSTANTS.MENU_REFRESH_TIME/4);
  }
}


/** 
*@name NOF.MenuHideItem
*@description 
*@parameter itemId 
*/
function NOF_MenuHideItem(itemId) {

  if (itemId && itemId != null && GLOBAL_CurrentItem != itemId) { // Close item if mouse not over it
    browser.hideMenuItem(itemId);
  }
}


/** 
*@name NOF_KeepOpen
*@description Keeps a menu item (child) opened when mouse over it
*@parameter item Layer (Div) object
*/
function NOF_KeepOpen(itemId, parentId) {    

  GLOBAL_CurrentItem = itemId;
  if (GLOBAL_Hide != null)
    for (var i = 0; i < GLOBAL_Hide.length; i++)  
      clearTimeout(GLOBAL_Hide[i]);
}


/** 
*@name NOF_KeepClose
*@description Keeps a menu item (child) closed when mouse out of it
*/
function NOF_KeepClose() {  

  GLOBAL_CurrentItem = "";
  setTimeout("NOF_CloseChilds()", CONSTANTS.MENU_REFRESH_TIME);
}


/** 
*@name NOF_CloseChilds
*@description Close submenus when mouse goes out of layer
*/
function NOF_CloseChilds() {

  var itemsList = GLOBAL_items.toArray();
  GLOBAL_Hide   = new Array();  
  if (GLOBAL_CurrentItem == "" || GLOBAL_CurrentItem == 0)    
    for (var i in itemsList)
      if (itemsList[i])
        GLOBAL_Hide[i] = setTimeout("browser.hideMenuItem('" + itemsList[i] + "')", CONSTANTS.MENU_REFRESH_TIME/4);               

  if (!isMenuAutoClose()) {
    itemsList = GLOBAL_items.toArray();

    // Keep visible current opened submenus
    for ( var i in itemsList ) 
      if (itemsList[i])
        NOF_KeepOpen(itemsList[i]);      
  }  
}

function isMenuAutoClose() {

  var itemsList = GLOBAL_items.toArray();
  if  (itemsList[0] && itemsList[0].length) {
   var autoClose = browser.getItemAttribute(itemsList[0], "isautoclose");
     if ( autoClose == "true")
       return true;
     else 
       return false;
  }
  return false;   
}

/**
*@name HideMenu()
*@description Hide menu when click outside his area. Used in 'Non auto close navbars'.
*/
function HideMenu() {
  
  if (isMenuAutoClose())
    return;

  var itemsList = GLOBAL_items.toArray();

  if (GLOBAL_Hide == null)
    GLOBAL_Hide = new Array();
 
  for (var i in itemsList)
    if (itemsList[i] && itemsList[i].length) {
      GLOBAL_items.removeItem(itemsList[i]);     
      GLOBAL_Hide[i] = browser.hideMenuItem(itemsList[i]);        
    }
}


/**
*@name NOF_OpenedItems()  
*@description Keeps a list w/ current submenus open (visible)
*/
function NOF_OpenedItems() {

  this.openedItems = "";
  this.separator   = "*";

  /** method addItem
  *@description: adds one item in list using "*" separator
  */
  this.addItem = function addItem(item, parent) {

    if ( item == null || !item || item == "" )
      return;
  
    if (this.openedItems.indexOf(item) == -1) {

      this.openedItems += this.openedItems.length ? 
          ( this.openedItems.indexOf(this.separator) == this.openedItems.length - 1 ? "" : this.separator ) + item : 
          item;    
    }   
  }
  

  /** method removeItem
  *@description: remove one item
  */
  this.removeItem = function removeItem(item) { 
   
    if ( item == GLOBAL_CurrentItem )
      return;

    var temp = this.openedItems;
    if (temp.indexOf(item) > 0) {
      var a = temp.substring(0, temp.indexOf(item));
      var b = temp.substring(temp.indexOf(item) + item.length, temp.length );
      temp = a + b;
    }

    while (temp.lastIndexOf(this.separator) == temp.length - 1)
      temp = temp.substring(0, temp.length - 1);

    this.openedItems = temp;   
  }


  /** method removeSubitems
  *@description: remove all subitems (items above) 'item' 
  */
  this.removeSubitems = function removeSubitems(item) {
    
    if (item && typeof(item) != "undefined") {    
      var temp  = this.openedItems;
      temp      = temp.substring(0, temp.lastIndexOf(item) + item.length);  
      var temp1 = this.openedItems.substring(this.openedItems.indexOf(temp) + temp.length, this.openedItems.length);
      temp1 = temp1.split(this.separator);
  
      for (var i =  temp1.length - 1; i >= 0; i--)
         if (temp1[i])
           browser.hideMenuItem(temp1[i]);
  
      this.openedItems = temp;
    }
  }

  /** method currentItem
  *@description: return current item
  */
  this.currentItem = function currentItem() {

    var list = this.toArray();
    return list[list.length - 1];
  }

  /** method removeAll
  *@description: remove all items and hide them
  */
  this.removeAll = function removeAll() {

    var items = this.toArray();
    clearTimeout(GLOBAL_Close);
    for (var i = items.length - 1; i >= 0; i--)
      if ( items[i] != null && items[i] != "" ) {
        clearTimeout(items[i]);
        browser.hideMenuItem(items[i]);
      }

    this.openedItems = "";    
  }

  /** method toArray
  *@description: return an array with all items using split method by list separator
  */
  this.toArray = function toArray() {
    return this.openedItems.split(this.separator);
  }  
}


/**
*@name F_menu()
*@description backward compatibility
*/
function F_menu(item) {
  NOF_Menu(item);
}

/**
*@name F_roll()
*@description backward compatibility
*/
function F_roll(itemId, over, layerId, isNotMainItem){

  var layerId = (layerId == null || typeof(layerId) == "undefined") ? null : layerId;
  var isNotMainItem = (isNotMainItem == null || typeof(isNotMainItem) == "undefined") ? null : isNotMainItem;

  NOF_MenuRollButton(itemId, over, layerId, isNotMainItem);
}

/** F_loadRollover
*@param image
*@param submenu: Array(String submenuId, submenuOrientation, int offsetX, int offsetY).
*/
function F_loadRollover(image, rollOverButton, submenu) { 
  return NOF_MenuLoadRollOver(image, rollOverButton, submenu);
}

