/* Signal the MenuG5 routines where they can find scripts and images */ var scriptPath = webLibraryPath+'/library/'; var imagePath = webImagePath+'/'; /* Callback functions when building and styling the menus */ var glPreAddItemFunction; var glPostAddItemFunction; var glMenuStylingsFunction; /* The list of menus on the page */ var glDHTMLMenuList = new Array(); /* Create a menu entry object */ function createMenuEntry(menuName) { this.menuName = menuName; this.items = new Array(); this.subMenus = new Array(); this.subSubMenus = new Array(); this.stylingGroups = new Array(); } /* Create a menu item object */ function createMenuItem(menuName, level, itemType, itemName, itemLink, itemTarget, itemStylingGroup, itemSubName) { this.menuName = menuName; this.level = level; this.itemType = itemType; this.itemName = unescape(itemName); this.itemLink = itemLink; this.itemTarget = itemTarget; this.itemStylingGroup = itemStylingGroup; this.itemSubName = itemSubName; } /* Add a menu to the list */ function createMenu(menuName) { glDHTMLMenuList[glDHTMLMenuList.length] = new createMenuEntry(menuName); } /* Add a menu item to a menu */ function addToMenu(menuName, level, itemType, itemName, itemLink, itemTarget, itemStylingGroup, itemSubName) { var len = glDHTMLMenuList.length - 1; glDHTMLMenuList[len].items[glDHTMLMenuList[len].items.length] = new createMenuItem(menuName, level, itemType, itemName, itemLink, itemTarget, itemStylingGroup, itemSubName); } /* Add a styling group to the build menu */ function i7AddStylingGroup(stylingGroups, stylingGroup) { if (stylingGroup != '') { for (var i=0; iglDHTMLMenuList[i].items[j].level) { if (glPreAddItemFunction) glPreAddItemFunction( glDHTMLMenuList[i].menuName, currentMenu, glDHTMLMenuList[i].items[j].itemName, glDHTMLMenuList[i].items[j].itemSubName, glDHTMLMenuList[i].items[j].itemStylingGroup); addSubMenu( currentMenu, glDHTMLMenuList[i].items[j].itemName, '', glDHTMLMenuList[i].items[j].itemLink, glDHTMLMenuList[i].items[j].itemSubName, glDHTMLMenuList[i].items[j].itemStylingGroup); if (glPostAddItemFunction) glPostAddItemFunction( glDHTMLMenuList[i].menuName, currentMenu, glDHTMLMenuList[i].items[j].itemName, glDHTMLMenuList[i].items[j].itemSubName, glDHTMLMenuList[i].items[j].itemStylingGroup); if (currentMenu == glDHTMLMenuList[i].menuName) glDHTMLMenuList[i].subMenus[glDHTMLMenuList[i].subMenus.length] = glDHTMLMenuList[i].items[j].itemSubName else glDHTMLMenuList[i].subSubMenus[glDHTMLMenuList[i].subSubMenus.length] = glDHTMLMenuList[i].items[j].itemSubName; i7AddStylingGroup(glDHTMLMenuList[i].stylingGroups, glDHTMLMenuList[i].items[j].itemStylingGroup); } else { if (glPreAddItemFunction) glPreAddItemFunction( glDHTMLMenuList[i].menuName, currentMenu, glDHTMLMenuList[i].items[j].itemName, '', glDHTMLMenuList[i].items[j].itemStylingGroup); if (glDHTMLMenuList[i].items[j].itemTarget!='') addCommand( currentMenu, glDHTMLMenuList[i].items[j].itemName, '', 'openLink("'+glDHTMLMenuList[i].items[j].itemLink+'", "'+glDHTMLMenuList[i].items[j].itemTarget+'")', glDHTMLMenuList[i].items[j].itemStylingGroup) else addLink( currentMenu, glDHTMLMenuList[i].items[j].itemName, '', glDHTMLMenuList[i].items[j].itemLink, glDHTMLMenuList[i].items[j].itemStylingGroup); if (glPostAddItemFunction) glPostAddItemFunction( glDHTMLMenuList[i].menuName, currentMenu, glDHTMLMenuList[i].items[j].itemName, '', glDHTMLMenuList[i].items[j].itemStylingGroup); i7AddStylingGroup(glDHTMLMenuList[i].stylingGroups, glDHTMLMenuList[i].items[j].itemStylingGroup); } if (glDHTMLMenuList[i].items[j+1].level>glDHTMLMenuList[i].items[j].level) { prevMenu=prevMenu+'~'+currentMenu; currentMenu=glDHTMLMenuList[i].items[j].itemSubName; } else if (glDHTMLMenuList[i].items[j+1].level