/*
* Infragistics WebNavigator CSOM Script: ig_webmenux.js
* Version 6.3.20063.53
* Copyright(c) 2001-2006 Infragistics, Inc. All Rights Reserved.
*/
var ig_menuPopup = null;
var ig_oActiveMenu = null;
var ig_oCurrentSubMenu;
var igmenu_initialized = false;
if(typeof(igmenu_array) != "object")
var igmenu_array=[];
if(typeof(igmenu_itemArray) != "object")
var igmenu_itemArray=[];
if(typeof(igmenu_submenuArray) != "object")
var igmenu_submenuArray = [];
if(typeof(igmenu_panelArray) != "object")
var igmenu_panelArray = [];
var iframeCount = 0;
var igmenu_dropDowns;
// Warning: Private functions for internal component usage only
// The functions in this section are not intended for general use and are not supported
// or documented.
function igmenu_podmouseover(evnt) {
if(evnt == null)
evnt = window.event;
var eItem = ig_fromEvent(evnt);
var oMenu = igmenu_getMenuByItemId(eItem.id);
var oItem = igmenu_getItemById(eItem.id);
if(oItem.isSeparator()) {
return;
}
if(!oItem.isEnabled())
return;
oItem.hover();
ig_inMenu = true;
}
function igmenu_podmouseout(evnt) {
var eItem = ig_fromEvent(evnt);
var e = ig.getSourceElement(evnt);
if(ig_isMouseOutSourceAChild(evnt,eItem))
return;
var oItem = igmenu_getItemById(eItem.id);
var oMenu = oItem.WebMenu;
if(oItem.isSeparator()) {
return;
}
if(!oItem.isEnabled())
return;
if(!oItem.getSelected())
oItem.unhover(true);
ig_inMenu = false;
}
function igmenu_podmousedown(evnt) {
ig_inMenu = true;
ig_startClick = true;
}
function igmenu_podmouseup(evnt) {
if(ig_startClick) {
var eItem = ig_fromEvent(evnt);
var e = ig.getSourceElement(evnt);
if(ig_isMouseOutSourceAChild(evnt,eItem))
return;
var oItem = igmenu_getItemById(eItem.id);
var oMenu = oItem.WebMenu;
if(oMenu._uninitialized == true) {
oMenu._uninitialized = false;
if(!oMenu.viewport) {
oMenu.viewport = new ig_viewport();
oMenu.viewport.createViewport(oMenu._frameElement, ViewportOrientationEnum.Horizontal);
oMenu.viewport.transferPositionToDiv(oMenu._frameElement);
}
}
if(!oItem.isEnabled())
return;
var oChildSubMenu = oItem.getChildSubMenu();
var oOwnerSubMenu = oItem.getOwnerSubMenu();
if(oOwnerSubMenu.element.style.width == "")
oOwnerSubMenu.element.style.width = oOwnerSubMenu.element.offsetWidth.toString() + "px";
if(oChildSubMenu != null) {
oChildSubMenu.drillDownDisplay(oOwnerSubMenu, oItem);
return;
}
}
igmenu_mouseup(evnt);
}
function igmenu_podheadermousedown(evnt) {
}
function igmenu_podheadermouseup(evnt) {
var e = ig.getSourceElement(evnt);
var parent = e.parentNode;
var eSubMenu;
while(parent) {
if(parent.getAttribute("submenu")) {
eSubMenu = parent;
break;
}
parent = parent.parentNode;
}
var oSubMenu = igmenu_getSubMenuById(null, eSubMenu.id);
oSubMenu.drillDownUnDisplay();
}
function igmenu_submenumouseover(evnt) {
clearTimeout(igmenu_clearMenuTimerId);
clearCurrentMenu = false;
}
function igmenu_submenumouseout(evnt) {
var e = ig.getSourceElement(evnt);
while(!e.id)
e = e.parentNode;
var oMenu = igmenu_getMenuByItemId(e.id);
clearTimeout(igmenu_clearMenuTimerId);
clearCurrentMenu = true;
if(oMenu)
igmenu_clearMenuTimerId = setTimeout('clearTimerExpired()', oMenu.ExpandEffects.RemovalDelay);
else
alert("oMenu == null");
}
// private - implements mouseover event handling for the menu
function igmenu_mouseover(evnt) {
if(evnt == null)
evnt = window.event;
var eItem = ig_fromEvent(evnt);
ig_inMenu = true;
var oMenu = igmenu_getMenuByItemId(eItem.id);
var oItem = igmenu_getItemById(eItem.id);
if(oItem._hovered) {
clearTimeout(igmenu_clearMenuTimerId);
return;
}
if(ig_oActiveMenu && ig_oActiveMenu != oMenu) {
ig_oActiveMenu.hideSubMenus();
ig_oActiveMenu = oMenu;
}
clearCurrentMenu = false;
if(oItem.isSeparator()) {
return;
}
if(!oItem.getEnabled()) {
if(oItem.isTopLevelItem())
oMenu.hideSubMenus();
else {
var oOwnerSubMenu = oItem.getOwnerSubMenu();
oOwnerSubMenu.dismissDescendantSubMenus();
}
return;
}
oItem.hover();
if(oMenu.isHorizontal() &&
oItem.isTopLevelItem() &&
(oMenu.isRichClient() || oMenu.isXPClient()) &&
!oMenu.TopHoverStarted)
return;
var oChildSubMenu = oItem.getChildSubMenu();
var oOwnerSubMenu = oItem.getOwnerSubMenu();
clearTimeout(igmenu_displayMenuTimerId);
if(oChildSubMenu != null) {
if(oMenu.isHorizontal() && oItem.isTopLevelItem()) {
oChildSubMenu.show(oItem);
}
else {
oItem.__displaySubMenu(oChildSubMenu);
}
}
else
oOwnerSubMenu.dismissDescendantSubMenus();
}
var igmenu_displayMenuTimerId;
var igmenu_clearMenuTimerId;
// private - implements mouseout event handling
function igmenu_mouseout(evnt) {
ig_inMenu = false;
var eItem = ig_fromEvent(evnt);
var e = ig.getSourceElement(evnt);
if(ig_isMouseOutSourceAChild(evnt,eItem))
return;
var oItem = igmenu_getItemById(eItem.id);
var oMenu = oItem.WebMenu;
if(oItem.isSeparator()) {
clearCurrentMenu = true;
if(ig_csom.IsIE) {
clearTimeout(igmenu_clearMenuTimerId);
igmenu_clearMenuTimerId = setTimeout('clearTimerExpired()', oMenu.ExpandEffects.RemovalDelay);
}
return;
}
if(!oItem.isEnabled())
return;
if(!oItem.getSelected())
oItem.unhover(true);
clearTimeout(igmenu_displayMenuTimerId);
clearCurrentMenu = true;
clearTimeout(igmenu_clearMenuTimerId);
igmenu_clearMenuTimerId = setTimeout('clearTimerExpired()', oMenu.ExpandEffects.RemovalDelay);
ig_cancelEvent(evnt);
}
// private - initializes the menu object on the client
function igmenu_initMenu(menuId) {
igmenu_itemArray=[];
if(!igmenu_initialized) {
igmenu_initialize();
igmenu_initialized = true;
}
ig_oActiveMenu = null;
var oMenu = igmenu_array[menuId];
if(oMenu)
{
oMenu.cancelAnimations();
for(var id in igmenu_submenuArray)
{
var o = igmenu_submenuArray[id];
if(o && o.WebMenu && o.WebMenu.MenuName == menuId)
igmenu_submenuArray[id] = null;
}
oMenu.base = oMenu.Events = null;
ig_dispose(oMenu);
}
var menuElement = igmenu_getElementById(menuId+"_MainM");
oMenu = igmenu_Create(menuElement,eval("igmenu_"+menuId+"_Menu"));
igmenu_array[menuId] = oMenu;
oMenu.fireEvent(oMenu.Events.InitializeMenu,"(\""+menuId+"\");");
if(!ig_csom.IsIE || ig_csom.IsMac)
oMenu.HideDropDowns = false;
if(!ig_csom.IsIE55Plus && oMenu.HideDropDowns==true && igmenu_dropDowns==null) {
igmenu_dropDowns = document.all.tags("SELECT");
}
oMenu.Element.tabIndex = 0;
oMenu.hasFrame = false;
var frameElement = menuElement;
if(frameElement.parentNode.getAttribute('menuframe') == "1") {
frameElement = frameElement.parentNode;
oMenu.hasFrame = true;
}
if(oMenu.isDrillDown()) {
if(frameElement.offsetWidth == 0 && frameElement.offsetHeight == 0) {
oMenu._uninitialized = true;
oMenu._frameElement = frameElement;
}
else
if(!oMenu.viewport) {
oMenu.viewport = new ig_viewport();
oMenu.viewport.createViewport(frameElement, ViewportOrientationEnum.Horizontal);
oMenu.viewport.transferPositionToDiv(frameElement);
}
}
if(ig_csom.IsIE) {
if(!oMenu.Element.isDisabled)
igmenu_initHandlers(oMenu, oMenu.getItems());
}
else
igmenu_initHandlers(oMenu, oMenu.getItems());
if(!oMenu.Element._old)
{
ig_shared.addEventListener(oMenu.Element, "mouseover", igmenu_submenumouseover, true);
ig_shared.addEventListener(oMenu.Element, "mouseout", igmenu_submenumouseout, true);
ig_shared.addEventListener(oMenu.Element, "focus", igmenu_keyboard.onfocus, true);
}
oMenu.Element._old = true;
oMenu.MenuName = menuId;
oMenu.MenuLoaded=true;
return oMenu;
}
// private - constructor for the menu object
function igmenu_Create(menuElement, props) {
if(!ig_WebControl.prototype.isPrototypeOf(ig_WebMenu.prototype))
{
ig_WebMenu.prototype = new ig_WebControl();
ig_WebMenu.prototype.constructor = ig_WebMenu;
ig_WebMenu.prototype.base=ig_WebControl.prototype;
ig_WebMenu.prototype.init = function(menuElement, menuProps)
{
this.MenuId = menuElement.id;
this.MenuElement = menuElement;
this.Id = menuElement.id;
this.Element = menuElement;
this.UniqueId = menuProps[0];
this.MenuTarget=menuProps[1];
this.WebMenuStyle=menuProps[2];
this.HoverClass=menuProps[4];
this.TopSelectedClass=menuProps[5];
this.ExpandEffects = new igmenu_expandEffects(menuProps[8], menuProps[9], menuProps[10], menuProps[11], menuProps[12], menuProps[13], menuProps[14]);
this.CheckedImage=menuProps[15];
this.UncheckedImage=menuProps[16];
this.DisabledClass=menuProps[17];
this.DefaultItemClass=menuProps[18];
this.ScrollImageTop=menuProps[19];
this.ScrollImageTopDisabled=menuProps[20];
this.ScrollImageBottom=menuProps[21];
this.ScrollImageBottomDisabled=menuProps[22];
this.LeftHandDisplay=menuProps[23];
this.CurrentLeftHandDisplay=this.LeftHandDisplay
this.HideDropDowns=menuProps[24];
this.TargetUrl=menuProps[25];
this.TargetFrame=menuProps[26];
if(menuProps.length > 26) {
this.MergeStyles = menuProps[27];
}
else {
this.MergeStyles = false;
}
if(menuProps.length > 27) {
this.HeaderClass = menuProps[28];
}
var uniqueId = this.getClientUniqueId();
this.Events = new igmenu_events(eval("igmenu_"+uniqueId+"_Events"));
this.MenuLoaded = false;
this.NeedPostBack = false;
this.CancelPostBack = false;
this.TopHoverStarted = false;
}
ig_WebMenu.prototype.isHorizontal = function () {
return (this.MenuTarget == 1);
}
ig_WebMenu.prototype.isVertical = function () {
return (this.MenuTarget == 2);
}
ig_WebMenu.prototype.isPopup = function () {
return (this.MenuTarget == 3);
}
ig_WebMenu.prototype.isWebStandard = function () {
return (this.WebMenuStyle == 1);
}
ig_WebMenu.prototype.isRichClient = function () {
return (this.WebMenuStyle == 2);
}
ig_WebMenu.prototype.isXPClient = function () {
return (this.WebMenuStyle == 3);
}
ig_WebMenu.prototype.isDrillDown = function () {
return (this.WebMenuStyle == 4);
}
ig_WebMenu.prototype.getItems = function () {
var itemAr = new Array();
var rows, cells, index = 0;
if(this.isPopup()) {
if(ig_csom.IsIE)
rows = this.Element.firstChild.firstChild.rows;
else
rows = this.Element.childNodes[1].firstChild.rows;
}
else
rows = this.Element.rows;
for(var r = 0; r < rows.length; r++) {
cells = rows[r].cells;
for(var i = 0; i < cells.length; i++)
itemAr[index++] = igmenu_getItemById(cells[i].firstChild.id);
}
return itemAr;
}
// private
ig_WebMenu.prototype.getClientUniqueId = function() {
var u = this.UniqueId.replace(/:/gi, "");
while(u.indexOf("$") != -1)
u = u.replace("$",""); // CLR 2.0
u = u.replace(/_/gi, "");
u = u.replace(/\-/gi,"");
if(u.indexOf("{") != -1) {
u = "IG" + u;
u = u.replace(/\{/gi, "");
u = u.replace(/\}/gi, "");
}
return u;
}
// private - Fires an event to client-side script and then to the server if necessary
ig_WebMenu.prototype.fireEvent = function (eventObj,eventString)
{
var result=false;
if(eventObj[0]!="")
result=eval(eventObj[0]+eventString);
if(this.MenuLoaded && result!=true && eventObj[1]==1 && !this.CancelPostBack)
this.NeedPostBack=true;
this.CancelPostBack=false;
return result;
}
ig_WebMenu.prototype.getFirstEnabledItem = function()
{
var oItem = null;
var oItems = this.getItems();
for (var iCount=0; oItems && iCount < oItems.length; iCount++)
{
oItem = oItems[iCount];
if (oItem.getEnabled())
return oItem;
}
return null;
}
ig_WebMenu.prototype.initEventHandlers = function(oSubMenu, oItem) {
if(!oSubMenu._events) {
if(!oItem && this.isPopup())
return;
else {
var oItems = oItem.getItems();
igmenu_initHandlers(oItem.WebMenu, oItems);
oSubMenu._events = true;
if(oSubMenu.element._old)
return;
oSubMenu.element._old = true;
ig_shared.addEventListener(oSubMenu.element, "mouseover", igmenu_submenumouseover, true);
ig_shared.addEventListener(oSubMenu.element, "mouseout", igmenu_submenumouseout, true);
}
}
}
// private - clears all submenus from display
ig_WebMenu.prototype.hideSubMenus = function() {
this.CurrentLeftHandDisplay=this.LeftHandDisplay;
this.igCurrentChild = null;
if(this._oRootSubMenu)
this._oRootSubMenu.dismiss();
var oSubMenuMain = igmenu_getSubMenuById(this, this.Element.id);
oHoveredItem = oSubMenuMain.getHoveredItem();
if(oHoveredItem)
oHoveredItem.unhover();
}
// private - cancels all animations in progress
ig_WebMenu.prototype.cancelAnimations = function() {
if(this._oRootSubMenu)
this._oRootSubMenu.cancelAnimation();
}
// private - Hides the menu if it is displayed as a popup
ig_WebMenu.prototype.dismiss = function () {
ig_inMenu = false;
igmenu_pageMouseDown();
}
// private - returns the tabIndex of the webMenu
ig_WebMenu.prototype.getTabIndex = function(){
return this.Element.tabIndex;
}
// private - Update internal buffer for items that are checked on or off
ig_WebMenu.prototype.updateItemCheck = function(itemId, bChecked){
var formControl = igmenu_getElementById(this.UniqueId);
if(formControl == null)
return;
var menuState = formControl.value;
var newValue;
var oldValue;
if(bChecked){
oldValue = "0"; newValue = "1";
}
else{
oldValue = "1"; newValue = "0";
}
var oldString = itemId + ":Chck=" + oldValue + "<%;";
var newString = itemId + ":Chck=" + newValue + "<%;";
if(menuState.search(oldString) >= 0)
menuState = menuState.replace(oldString, newString);
else {
oldString = itemId + ":Chck=" + newValue + "<%;";
if(menuState.search(oldString) >= 0){
menuState = menuState.replace(oldString, newString);
}
else
menuState += newString;
}
formControl.value = menuState;
}
ig_WebMenu.prototype.initSubMenuRoot = function (oSubMenu) {
this.hideSubMenus();
if(!oSubMenu)
return;
ig_oCurrentSubMenu = oSubMenu;
ig_oActiveMenu = this;
this._oRootSubMenu = oSubMenu;
this._oActiveSubMenu = oSubMenu;
if(!ig_csom.IsIE55Plus && this.HideDropDowns) {
igmenu_hideDropDowns(true);
}
}
}
return new ig_WebMenu(menuElement, props);
}
function ig_WebMenu(menuElement, props)
{
if(arguments.length != 0)
this.init(menuElement, props);
}
// private - event initialization for menu object
function igmenu_events(events)
{
this.InitializeMenu=events[0];
this.ItemCheck=events[1];
this.ItemClick=events[2];
this.SubMenuDisplay=events[3];
this.ItemHover=events[4];
}
// private - event initialization for menu object
function igmenu_expandEffects(a, b, c, d, e, f, g)
{
this.Duration=a;
this.Opacity=b;
this.Type=c;
this.ShadowColor=d;
this.ShadowWidth=e;
this.Delay=f;
this.RemovalDelay=g;
}
// private - obtains the row element associated with the event
function ig_fromEvent(evnt) {
var item;
if(ig_csom.IsNetscape6) {
item = evnt.target;
}
else
item = evnt.srcElement;
return ig_fromItem(item);
}
// private
function ig_fromItem(eItem) {
while(eItem.tagName != "TABLE") {
if(eItem == null)
return null;
eItem = eItem.parentNode;
}
return eItem;
}
// private
function igmenu_getSubMenu(eItem) {
submenu = false;
while(!submenu) {
if(eItem.getAttribute("submenu") == '1')
submenu = true;
else
eItem = eItem.parentNode;
}
return eItem;
}
// private
function igmenu_getRightPos(e) {
var x = e.offsetRight;
var tmpE = e.offsetParent;
while (tmpE != null) {
x += tmpE.offsetRight;
tmpE = tmpE.offsetParent;
}
return x;
}
// private
function igmenu_getLeftPos(element) {
var x = 0;
var parent = element;
while (parent != null) {
x += parent.offsetLeft;
parent = parent.offsetParent;
}
return x;
}
// private
function igmenu_getTopPos(element) {
var y = 0;
var parent = element;
while(parent != null) {
y += parent.offsetTop;
parent = parent.offsetParent;
}
return y;
}
var clearCurrentMenu = true;
// private - Clears submenus at timer expiration
function clearTimerExpired() {
if(clearCurrentMenu && ig_oActiveMenu != null) {
ig_oActiveMenu.hideSubMenus();
clearTimeout(igmenu_displayMenuTimerId);
igmenu_hideDropDowns(false);
}
}
// private - Handles the mouse down event
function igmenu_mousedown(evnt) {
if(evnt == null)
evnt = window.event;
var eItem = ig_fromEvent(evnt);
if(eItem != null) {
ig_inMenu = true;
var igDisabled = eItem.getAttribute("igDisabled");
if(igDisabled != null && igDisabled.length > 0) {
return;
}
}
else
return;
var oMenu = igmenu_getMenuByItemId(eItem.id);
var oItem = igmenu_getItemById(eItem.id);
if(oMenu == null || oMenu.MenuLoaded == false)
return;
if(oMenu.isHorizontal() && (oMenu.isRichClient() || oMenu.isXPClient()) && oItem.isTopLevelItem()){
var childId = oItem.getChildSubMenuId();
if(childId != null && childId.length > 0) {
var currentChildId = igmenu_getSubMenu(eItem).igCurrentChildId;
//if(childId != null && childId.length > 0 && childId == currentChildId) {
// oMenu.hideSubMenus();
// ig_startClick=false;
// oMenu.TopHoverStarted = false;
// oItem.hover();
// return;
//}
var oldClass = eItem.igClass;
eItem.setAttribute("igPrevClass", oldClass);
clearTimeout(igmenu_displayMenuTimerId);
oMenu.TopHoverStarted = true;
oItem._hovered = false;
oItem.hover();
var oSubMenu = oItem.getChildSubMenu();
oSubMenu.show(oItem);
igmenu_getSubMenu(eItem).igCurrentChildId = childId;
igmenu_getSubMenu(eItem).igCurrentItem = item.id;
return;
}
}
if(oItem.getChildSubMenuId() == null)
oMenu.TopHoverStarted=false;
ig_startClick = true;
ig_cancelEvent(evnt);
}
var ig_startClick = false;
// private - Handles the mouse up event
function igmenu_mouseup(evnt, eItemElement) {
var eItem = null;
if(evnt == null)
evnt = window.event;
if (!eItemElement)
eItem = ig_fromEvent(evnt);
else
eItem = ig_fromItem(eItemElement);
if(eItem==null){return;}
var oMenu = igmenu_getMenuByItemId(eItem.id);
var oItem = igmenu_getItemById(eItem.id);
if(oMenu==null) {
return;
}
var topLevel = oItem.isTopLevelItem();
var oSubMenu = oItem.getChildSubMenu();
var igUrl = oItem.getTargetUrl();
if(ig_csom.IsIE)
evnt.cancelBubble = true;
if(!oItem.isEnabled())
return;
if(oItem.isSeparator()) {
clearCurrentMenu = false;
return;
}
if(oSubMenu) {
if(igUrl == null || igUrl.length == 0) {
oMenu.fireEvent(oMenu.Events.ItemClick,"(\""+ oMenu.MenuName +"\",\""+eItem.id+"\")");
if(oMenu.NeedPostBack && (oMenu.isWebStandard() || ((oMenu.isRichClient() || oMenu.isXPClient()) && !topLevel)))
__doPostBack(oMenu.UniqueId,eItem.id+":MenuClick");
return;
}
}
if(ig_startClick == true)
{
if(!oMenu.isDrillDown())
oMenu.hideSubMenus();
var checked=eItem.getAttribute("igChk");
var checkbox=eItem.getAttribute("igChkBx");
if(ig.notEmpty(checkbox))
{
var bCheck=(checked != null) && (checked == '0');
var postCommand="";
if(oMenu.fireEvent(oMenu.Events.ItemCheck, "(\"" + oMenu.MenuName + "\",\"" + eItem.id + "\"," + bCheck+")"))
return;
var checkElement = oItem.getCheckBoxElement();
if(checked!=null && checked=="1") {
bCheck=false;
postCommand=":Uncheck";
if(checkElement.tagName == "IMG")
checkElement.src = oMenu.UncheckedImage;
else
if(checkElement.tagName == "SPAN")
checkElement.innerHTML = "";
eItem.setAttribute("igChk", "0");
}
else {
if(checkElement.tagName == "IMG")
checkElement.src = oMenu.CheckedImage;
else
if(checkElement.tagName == "SPAN") {
if(ig_csom.IsIE)
checkElement.innerHTML = "a";
else
checkElement.innerHTML = "*";
}
bCheck=true;
postCommand=":Check";
eItem.setAttribute("igChk", "1");
}
if(oMenu.NeedPostBack) {
__doPostBack(oMenu.UniqueId,eItem.id+postCommand);
}
oMenu.updateItemCheck(eItem.id, bCheck);
ig_startClick=false;
if(ig_menuPopup != null) {
var oSubMenu = igmenu_getSubMenuById(oMenu, ig_menuPopup.id);
oSubMenu.dismiss();
ig_menuPopup = null;
}
var igFrame = eItem.getAttribute("igFrame");
if(igUrl!=null) {
ig.navigateUrl(igUrl,igFrame);
}
oItem.hover();
return;
}
if(oMenu.fireEvent(oMenu.Events.ItemClick, "(\"" + oMenu.MenuName + "\",\"" + eItem.id + "\")"))
return;
if(!oMenu.isDrillDown())
igmenu_mouseout(evnt);
igmenu_getSubMenu(eItem).igCurrentChild = null;
igmenu_hideDropDowns(false);
if(ig_menuPopup != null) {
var oSubMenu = igmenu_getSubMenuById(oMenu, ig_menuPopup.id);
oSubMenu.dismiss();
ig_menuPopup = null;
}
ig_startClick = false;
var igFrame = eItem.getAttribute("igFrame");
if(igUrl!=null) {
ig.navigateUrl(igUrl, igFrame);
return;
}
if(oMenu.NeedPostBack) {
__doPostBack(oMenu.UniqueId, eItem.id + ":MenuClick");
return;
}
}
}
var ig_inMenu = false;
var ig_MouseX;
var ig_MouseY;
// private - Handles the global mouse down event
function igmenu_pageMouseDown(evnt) {
if(evnt != null) {
ig_MouseX = evnt.clientX;
ig_MouseY = evnt.clientY;
}
if(ig_inMenu == true)
return;
ig_startClick = false;
ig_inMenu = false;
if(ig_oActiveMenu != null) {
ig_oActiveMenu.TopHoverStarted = false;
ig_oActiveMenu.hideSubMenus();
}
igmenu_hideDropDowns(false);
if(ig_menuPopup != null) {
var oSubMenu = igmenu_getSubMenuById(ig_oActiveMenu, ig_menuPopup.id);
oSubMenu.dismiss();
ig_menuPopup = null;
}
}
// private - Handles mouse selection for the menu
function igmenu_selectStart(evnt) {
if(evnt == null)
evnt = window.event;
ig_cancelEvent(evnt);
return false;
}
// private - Displays a popup menu in the appropriate position
function igmenu_showMenu(name, evnt, x, y) {
if(ig_menuPopup != null)
{
if(ig_oActiveMenu)
{
ig_oActiveMenu.hideSubMenus();
var oSubMenu = igmenu_getSubMenuById(ig_oActiveMenu, ig_menuPopup.id);
oSubMenu.dismiss();
//ig_oActiveMenu.hideSubMenu(ig_menuPopup);
}
ig_menuPopup = null;
igmenu_hideDropDowns(false);
}
var eItem = igmenu_getElementById(name + "_MainM");
if(eItem == null) {
alert("Popup menu name is not valid")
return;
}
var oMenu = igmenu_getMenuById(name);
if(oMenu == null)
return;
var oSubMenu = igmenu_getSubMenuById(oMenu, name + "_MainM");
if(evnt == null) {
if(ig_csom.IsIE)
evnt = window.event;
else
evnt = window.Event;
}
if(eItem != null) {
if(x && y) {
eItem.parentNode.style.left = x;
eItem.parentNode.style.top = y;
}
else {
if(ig_csom.IsIE) {
y = evnt.y - 2 + document.body.scrollTop + document.body.parentNode.scrollTop;
x = evnt.x - 2 + document.body.scrollLeft + document.body.parentNode.scrollLeft;
}
else {
y = ig_MouseY - 2 + document.body.scrollTop + document.body.parentNode.scrollTop;
x = ig_MouseX - 2 + document.body.scrollLeft + document.body.parentNode.scrollLeft;
}
var src = ig_csom.getSourceElement(evnt);
if(src)
{
var parent = src;
var tmpX = x;
var tmpY = y;
var sets = false;
while (parent != null && parent.tagName != "BODY")
{
if(parent.style.position=="relative")
{
sets = true;
tmpX = 0;
tmpY = 0;
}
tmpX += parent.offsetLeft;
tmpY += parent.offsetTop;
parent = parent.offsetParent;
}
if(sets) {
x += tmpX;
y += tmpY;
}
}
var parent = eItem;
while (parent != null) {
if(parent.style.position=="absolute" ) {
if(parent.offsetParent == null)
break;
x -= parent.offsetParent.offsetLeft;
y -= parent.offsetParent.offsetTop;
break;
}
parent = parent.offsetParent;
}
eItem.parentNode.style.top = y.toString() + "px";
eItem.parentNode.style.left = x.toString() + "px";
}
ig_menuPopup = eItem;
if(!ig_csom.IsIE55Plus && oMenu.HideDropDowns)
igmenu_hideDropDowns(true);
oSubMenu.___display(null, true);
oSubMenu._visible = true;
ig_menuPopup.menuObject = oMenu;
ig_oActiveMenu = oMenu;
}
}
// private - Initializes an Item object with properties and method references
function ig_CreateMenuItem(eItem)
{
if(!ig_WebUIElement.prototype.isPrototypeOf(ig_MenuItem.prototype))
{
ig_MenuItem.prototype = new ig_WebUIElement();
ig_SubMenu.prototype.getOwnerItem = function() {
return(this._ownerItem);
}
ig_MenuItem.prototype.getElement = function () {
return this.element;
}
ig_MenuItem.prototype.getMenuId = function () {
var menuName = this.element.id;
var strArray = menuName.split("_");
menuName = strArray[0];
return menuName;
}
ig_MenuItem.prototype.__displaySubMenu = function(oChildSubMenu) {
clearTimeout(igmenu_clearMenuTimerId);
var callback = igmenu_createCallback(this.__display, this, oChildSubMenu);
igmenu_displayMenuTimerId = setTimeout(callback, this.WebMenu.ExpandEffects.Delay);
}
ig_MenuItem.prototype.__display = function(oChildSubMenu) {
oChildSubMenu.show(this);
}
ig_MenuItem.prototype._getTextElement = function ()
{
var i = 1;
if(ig_csom.IsIE)
i = 0;
if(this.WebMenu.isHorizontal() && this.isTopLevelItem())
return this.element.rows[0].cells[1].childNodes[0];
else
return this.element.rows[0].cells[1].childNodes[i];
}
ig_MenuItem.prototype.getText = function ()
{
var element = this._getTextElement();
var text = element.innerHTML;
text = text.replace("", "");
text = text.replace("", "");
text = text.replace("", "");
text = text.replace("", "");
text = text.replace(/&/g, "&");
return text;
}
ig_MenuItem.prototype.setText = function(text) {
var element = this._getTextElement();
element.innerHTML = text;
}
ig_MenuItem.prototype.isSeparator = function() {
var igSeparator = this.element.getAttribute("igSep");
return (igSeparator != null && igSeparator.length > 0) ? true : false;
}
ig_MenuItem.prototype.isTopLevelItem = function() {
var igTop = this.element.getAttribute("igTop");
return (igTop != null && igTop.length > 0) ? true : false;
}
ig_MenuItem.prototype.isEnabled = function() {
return this.getEnabled();
}
ig_MenuItem.prototype.getSelected = function() {
return this._selected;
}
ig_MenuItem.prototype.setSelected = function(bSelected) {
this._selected = bSelected;
}
ig_MenuItem.prototype.getOwnerSubMenu = function() {
var eSubMenu = this.element;
while(true) {
if(eSubMenu.getAttribute("submenu") == '1') {
return igmenu_getSubMenuById(this.WebMenu, eSubMenu.id);
}
else
eSubMenu = eSubMenu.parentNode;
}
return null;
}
ig_MenuItem.prototype.getChildSubMenuId = function() {
var submenuId = this.element.getAttribute("igChildId");
if(ig.isEmpty(submenuId))
return null;
else
return submenuId;
}
ig_MenuItem.prototype.getChildSubMenu = function() {
var submenuId = this.getChildSubMenuId();
if(submenuId != null) {
var oSub = igmenu_submenuArray[submenuId];
if(oSub)
return oSub;
var eSub = igmenu_getElementById(submenuId);
if(!eSub)
return null;
oSub = ig_CreateSubMenu(this.WebMenu, eSub);
igmenu_submenuArray[submenuId] = oSub;
oSub.setOwnerItem(this);
return oSub;
}
return null;
}
ig_MenuItem.prototype.getTag = function() {
var igTag = this.element.getAttribute("igTag");
return (igTag != null && igTag.length > 0) ? igTag : null;
}
ig_MenuItem.prototype.setTag = function(text) {
this.element.setAttribute("igTag", text);
}
ig_MenuItem.prototype.getHoverClass = function() {
return this.element.getAttribute("igHov")
}
ig_MenuItem.prototype.setHoverClass = function(hoverClass) {
this.element.setAttribute("igHov", hoverClass)
}
ig_MenuItem.prototype.getEnabled = function() {
if(this.element != null) {
return(this.element.getAttribute("igDisabled") ? false : true);
}
}
ig_MenuItem.prototype.setEnabled = function(enabled) {
var oMenu = this.WebMenu;
if(enabled == true) {
if(this.isEnabled())
return;
this.element.removeAttribute("igDisabled");
var oldClass=this.element.getAttribute("oldEnabledClass");
if(oldClass == null && oMenu.DefaultItemClass != null)
this.element.className = oMenu.DefaultItemClass;
else
this.element.className = oldClass;
this.element.removeAttribute("oldEnabledClass");
}
else {
if(!this.isEnabled())
return;
var disabledClass = oMenu.DisabledClass;
this.element.setAttribute("igDisabled", "1");
if(this.element.className != oMenu.HoverClass &&
this.element.className != this.element.getAttribute("igHov"))
{
var oldClass = this.element.className;
this.element.setAttribute("oldEnabledClass", oldClass);
}
this.element.className = disabledClass;
}
}
ig_MenuItem.prototype.getTargetFrame = function() {
var frame = this.element.getAttribute("igFrame");
if(ig_csom.notEmpty(frame))
return frame;
else
if(ig_csom.notEmpty(this.WebMenu.TargetFrame)) {
return this.WebMenu.TargetFrame;
}
else
return null;
}
ig_MenuItem.prototype.setTargetFrame = function(frame) {
this.element.setAttribute("igFrame", frame)
}
ig_MenuItem.prototype.getTargetUrl = function() {
var url = this.element.getAttribute("igUrl");
if(ig_csom.notEmpty(url))
return url;
else
if(ig_csom.notEmpty(this.WebMenu.TargetUrl)) {
return this.WebMenu.TargetUrl;
}
else
return null;
}
ig_MenuItem.prototype.setTargetUrl = function(url) {
this.element.setAttribute("igUrl", url)
}
ig_MenuItem.prototype.getNextSibling = function() {
var e = this.element.parentNode;
var attr = e.getAttribute("igitem");
while(attr == null || attr.length == 0) {
e = e.parentNode;
attr = e.getAttribute("igitem");
}
e = e.nextSibling;
while(e && e.tagName != "TR" && e.tagName != "TD")
e = e.nextSibling;
var item = null;
if(e) {
if(e.style.display == "none")
return;
if(e.tagName == "TR")
item = igmenu_getItemById(e.firstChild.firstChild.id);
if(e.tagName == "TD")
item = igmenu_getItemById(e.firstChild.id);
}
return item;
}
ig_MenuItem.prototype.getPrevSibling = function() {
var e = this.element.parentNode;
var attr = e.getAttribute("igitem");
while(attr == null || attr.length == 0) {
e = e.parentNode;
attr = e.getAttribute("igitem");
}
e = e.previousSibling;
while(e && e.tagName != "TR" && e.tagName != "TD")
e = e.previousSibling;
var item = null;
if(e) {
if(e.tagName == "TR")
item = igmenu_getItemById(e.firstChild.firstChild.id);
if(e.tagName == "TD")
item = igmenu_getItemById(e.firstChild.id);
}
return item;
}
ig_MenuItem.prototype.getFirstChild = function() {
var item=null;
item=igmenu_getItemById(this.element.id+"_1");
if(item==null) {
if(this.getChildSubMenuId()) {
var index = 2;
while(item==null && index<100) {
item=igmenu_getItemById(this.element.id+"_"+index);
index++
}
}
}
return item;
}
ig_MenuItem.prototype.getParent = function() {
var item = null;
if(this.getLevel() == 0)
return null;
var itemName = this.element.id.split("_")
if(itemName.length > 1)
{
var parentName = this.element.id.substr(0,this.element.id.length-itemName[itemName.length-1].length-1);
item = igmenu_getItemById(parentName);
}
return item;
}
ig_MenuItem.prototype.getItems = function() {
var itemAr = new Array();
var itemCount = 0;
var item = this.getFirstChild();
while(item) {
itemAr[itemCount++] = item;
item = item.getNextSibling();
}
return itemAr;
}
ig_MenuItem.prototype.getChecked = function() {
var item = this.element;
var checked = item.getAttribute("igChk");
var checkbox = item.getAttribute("igChkBx");
if(checkbox != null && checkbox.length>0)
if(checked != null && checked.length>0 && checked == '1')
return true;
return false;
}
ig_MenuItem.prototype.setChecked = function(bChecked) {
var ms = igmenu_getMenuByItemId(this.element.id);
var item = this.element;
var checkbox = item.getAttribute("igChkBx");
if(checkbox == null || checkbox.length == 0)
return;
var topItem = item.getAttribute("igTop");
var checkElement = this.getCheckBoxElement();
if(!bChecked) {
if(checkElement.tagName == "IMG")
checkElement.src = ms.UncheckedImage;
else
if(checkElement.tagName == "SPAN")
checkElement.innerHTML = "";
item.setAttribute("igChk", "0");
}
else {
if(checkElement.tagName == "IMG")
checkElement.src = ms.CheckedImage;
else
if(checkElement.tagName == "SPAN")
{
if(ig_csom.IsIE)
checkElement.innerHTML = "a";
else
checkElement.innerHTML = "*";
}
item.setAttribute("igChk", "1");
}
ms.updateItemCheck(this.element.id,bChecked);
}
ig_MenuItem.prototype.getCheckBoxElement = function() {
if(this.WebMenu.isHorizontal() && this.isTopLevelItem())
return this.element.rows[0].cells[0].firstChild;
else
return this.element.rows[0].cells[0].firstChild;
}
ig_MenuItem.prototype.focus = function() {
this.element.hideFocus = true;
try {
this.element.focus();
}
catch (e) {
//debugger;
//alert( "focus exception");
}
}
ig_MenuItem.prototype.getAccessKey = function () {
if(this.element.tagName == "TR"){
var i = 0;
var td;
if(ig_csom.IsIE)
td = this.element.childNodes[0];
else
td = this.element.childNodes[1];
while(td.childNodes[i] != null) {
if(td.childNodes[i].tagName == "DIV") {
return td.accessKey;
}
i++;
}
return "";
}
else
return this.element.accessKey;
}
ig_MenuItem.prototype.activate = function() {
var igFrame = this.element.getAttribute("igFrame");
var igUrl= this.element.getAttribute("igUrl");
if(igUrl!=null) {
ig.navigateUrl(igUrl, igFrame);
return;
}
ig_startClick=true;
igmenu_mouseup(null, this.element);
}
ig_MenuItem.prototype.getLevel = function () {
var itemName=this.element.id.split("_")
if(itemName.length>1)
{
return itemName.length - 2;
}
}
ig_MenuItem.prototype.getIndex = function () {
var index=0;
var itemName=this.element.id.split("_");
if(itemName.length>1)
{
index = parseInt(itemName[itemName.length-1]);
return index-1;
}
}
// private - displays menu item using the hover styles
ig_MenuItem.prototype.hover = function()
{
if(this._hovered) {
this.focus();
return;
}
this._hovered = true;
var oOwnerSubMenu = this.getOwnerSubMenu();
var oHoverItem = oOwnerSubMenu.getHoveredItem();
if(oHoverItem && oHoverItem != this)
oHoverItem.unhover();
oOwnerSubMenu.setHoveredItem(this);
if(!this.isEnabled())
return;
var oMenu = this.WebMenu;
var hoverClass = this.element.getAttribute("igHov");
clearCurrentMenu = false;
if(oMenu.fireEvent(oMenu.Events.ItemHover,"(\""+ oMenu.MenuName + "\",\""+ this.element.id + "\", true)"))
return;
if(hoverClass == null || hoverClass.length == 0) {
hoverClass = oMenu.HoverClass;
}
this.__offsetLeft = null;
if(ig_csom.IsIE && this.getLevel() > 0) {
this.__offsetLeft = this.element.cells[2].offsetLeft;
}
var mergeStyles = oMenu.MergeStyles;
if(this.isTopLevelItem() && (oMenu.isHorizontal() && (oMenu.isRichClient() || oMenu.isXPClient()) &&
oMenu.TopHoverStarted) && oMenu.TopSelectedClass.length > 0) {
hoverClass = oMenu.TopSelectedClass;
var topHover = this.element.getAttribute("igHov");
if(this.element.className != "TopHover" && this.element.className != hoverClass)
this.element.igClass = this.element.className;
if(!ig.isEmpty(hoverClass)) {
if(mergeStyles) {
this.element.className += " " + hoverClass;
}
else
this.element.className = hoverClass;
}
}
else {
if(!ig.isEmpty(this.element.className)) {
if(this.element.className.indexOf(hoverClass) != -1)
return;
this.element.igClass = this.element.className;
}
if(!ig.isEmpty(hoverClass)) {
if(mergeStyles)
this.element.className += " " + hoverClass;
else
this.element.className = hoverClass;
}
}
this.__offsetLeft = null;
if(this.__offsetLeft != null) {
var e = this.element.cells[2];
if(e.firstChild && (e.offsetLeft != this.__offsetLeft)) {
e.firstChild.style.marginLeft = 1;
}
}
this.focus();
var hoverimage = this.element.getAttribute("ighovimage");
if(!ig.isEmpty(hoverimage)) {
var imgElem = this.getImageElement(eItem);
if(imgElem != null) {
this.element.setAttribute("igoldhovimage", imgElem.src);
imgElem.src = hoverimage;
}
}
}
// private - displays the item using non-hover styles
ig_MenuItem.prototype.unhover = function (bFireEvent) {
var oMenu = this.WebMenu;
if(bFireEvent && oMenu.fireEvent(oMenu.Events.ItemHover,"(\""+oMenu.MenuName+"\",\""+this.element.id+"\", false)"))
return;
if(!this._hovered)
return;
if(!this.isEnabled())
return;
this._hovered = false;
var prevClass = this.element.getAttribute("igPrevClass");
if(prevClass == null) {
if(this.element.igClass != null)
this.element.className = this.element.igClass;
else
this.element.className = "";
}
else {
this.element.className = prevClass;
}
if(this.__offsetLeft != null) {
var e = this.element.cells[2];
if(e.firstChild)
e.firstChild.style.marginLeft = 0;
}
var hoverimage = this.element.getAttribute("igoldhovimage");
if(hoverimage != null && hoverimage.length > 0) {
var imgElem = this.getImageElement(this.element);
if(imgElem != null) {
imgElem.src = hoverimage;
}
}
}
// private - obtain the element containing the item image tag
ig_MenuItem.prototype.getImageElement = function () {
var e = null;
if(this.isTopLevelItem() && this.MenuTarget == 1)
e = this.element.childNodes[0];
else
e = this.element.rows[0].cells[0].firstChild;
if(e==null || e.tagName!="IMG")
return null;
return e;
}
}
return new ig_MenuItem(eItem);
}
function ig_MenuItem(eItem)
{
this.element=eItem;
this.Element=eItem;
this.Id = eItem.id;
this.WebMenu = igmenu_getMenuByItemId(this.Id);
this._selected = false;
}
function igmenu_initHandlers(oMenu, oItems) {
for(var i = 0; i < oItems.length; i++) {
var oItem = oItems[i];
var eItem = oItem.Element;
if(eItem._old)
continue;
eItem._old = true;
ig_shared.addEventListener( eItem, "selectstart", igmenu_selectStart, true);
if(oMenu.isDrillDown()) {
ig_shared.addEventListener( eItem, "mouseover", igmenu_podmouseover, true);
ig_shared.addEventListener( eItem, "mouseout", igmenu_podmouseout, true);
ig_shared.addEventListener( eItem, "mousedown", igmenu_podmousedown, true);
ig_shared.addEventListener( eItem, "mouseup", igmenu_podmouseup, true);
ig_shared.addEventListener( eItem, "keydown", igmenu_keyboard.itemKeydown, true);
ig_shared.addEventListener( eItem, "focus", igmenu_keyboard.onitemfocus, true);
}
else {
ig_shared.addEventListener( eItem, "mouseover", igmenu_mouseover, true);
ig_shared.addEventListener( eItem, "mouseout", igmenu_mouseout, true);
ig_shared.addEventListener( eItem, "mousedown", igmenu_mousedown, true);
ig_shared.addEventListener( eItem, "mouseup", igmenu_mouseup, true);
ig_shared.addEventListener( eItem, "keydown", igmenu_keyboard.itemKeydown, true);
ig_shared.addEventListener( eItem, "focus", igmenu_keyboard.onitemfocus, true);
}
}
}
function igmenu_ExecuteItem()
{
ig_startClick=true;
igmenu_mouseup(); //evt, oItemElement);
}
function igmenu_pageUnload(){
if(ig_csom.IsIE55Plus)
{
ig_delete(igmenu_panelArray);
for(var id in igmenu_array)
igmenu_array[id].base = null;
ig_delete(igmenu_array);
ig_delete(igmenu_itemArray);
ig_delete(igmenu_submenuArray);
}
}
var igmenu_keyboard = new menu_Keyboard();
function menu_Keyboard() {
var _this = this;
this.onfocus = function(evnt) {
var eSubMenu = ig.getSourceElement(evnt);
var oMenu = igmenu_getMenuByItemId(eSubMenu.id);
var oSubMenu = igmenu_getSubMenuById(oMenu, eSubMenu.id);
var oItem = _this.getFirstKbItem(oSubMenu);
if(oItem) {
_this.showActive(oItem);
_this.showAndActivateSubMenu(oItem);
}
}
this.onitemfocus = function(evnt) {
if(evnt.altKey == false)
return;
var eItem = ig_fromEvent(evnt);
var oItem = igmenu_getItemById(eItem.id);
var oMenu = oItem.WebMenu;
var oSubMenu = oItem.getChildSubMenu();
if(oItem && oItem.getLevel() == 0 && oMenu.MenuTarget == 1) {
var oChildItem = oItem.getFirstChild();
if (oChildItem)
_this.showAndActivateSubMenu(oItem);
else
oItem.activate();
}
}
this.itemKeydown = function(evnt) {
if(evnt.keyCode == 18)
return;
var eItem = ig_fromEvent(evnt);
var oItem = igmenu_getItemById(eItem.id);
var oMenu = oItem.WebMenu;
var oSubMenu = oItem.getChildSubMenu();
var oOwnerSubMenu = oItem.getOwnerSubMenu();
if ((evnt.keyCode >= 48 && evnt.keyCode <= 57) || // 0 - 9
(evnt.keyCode >= 65 && evnt.keyCode <= 122)) // A - Z a - z
return(_this.processAccessKey(oMenu, oItem, evnt.keyCode));
var iLevel = oItem.getLevel();
var oNextItem;
if(oMenu.isDrillDown())
{
switch(evnt.keyCode) {
case 32 : // space
var oChildItem = oItem.getFirstChild();
if (oChildItem)
_this.showAndActivateSubMenu(oItem);
else
oItem.activate();
break;
case 9 : // tab
return;
break;
case 37 : // left arrow
case 27 : // escape
oNextItem = oItem.getParent();
if(oNextItem) {
oItem.unhover();
if (oOwnerSubMenu) {
oldOnEnd = oMenu.viewport.animate.onEnd;
oMenu.viewport.animate.onEnd = function() {
oNextItem.focus();
oMenu.viewport.animate.onEnd = oldOnEnd;
}
oOwnerSubMenu.drillDownUnDisplay();
}
}
else {
oItem.unhover();
}
break;
case 38 : // up arrow
oNextItem = _this.getNextKbItem(oItem, -1);
_this.showActive(oNextItem);
break;
case 39 : // right arrow
var oChildItem = oItem.getFirstChild();
if (oChildItem)
_this.showAndActivateSubMenu(oItem);
break;
case 40 : // down arrow
oNextItem = _this.getNextKbItem(oItem, 1);
_this.showActive(oNextItem);
break;
}
}
else
{
var isHorizontal = oMenu.isHorizontal();
var bTopHorizontal = isHorizontal && iLevel == 0;
switch(evnt.keyCode) {
case 32 : // space
var oChildItem = oItem.getFirstChild();
if (oChildItem)
_this.showAndActivateSubMenu(oItem);
else
oItem.activate();
break;
case 9 : // tab
oMenu.hideSubMenus();
break;
case 37 : // left arrow
if (isHorizontal && (iLevel == 0 || iLevel == 1)) {
_this.showNextTopKbItem(oItem, -1);
return;
}
// fall thru
case 27 : // escape
oNextItem = oItem.getParent();
if(oNextItem) {
if (oOwnerSubMenu) {
oOwnerSubMenu.dismiss();
}
_this.showActive(oNextItem);
}
else {
oItem.unhover();
}
break;
case 38 : // up arrow
if (bTopHorizontal)
{
oSubMenu = oItem.getChildSubMenu();
if(oSubMenu)
oSubMenu.show(oItem);
}
else {
oNextItem = _this.getNextKbItem(oItem, -1);
_this.showActive(oNextItem);
}
break;
case 39 : // right arrow
if (bTopHorizontal) {
_this.showNextTopKbItem(oItem, 1)
}
else {
var oChildItem = oItem.getFirstChild();
if (oChildItem)
_this.showAndActivateSubMenu(oItem);
else
if(isHorizontal) {
_this.showNextTopKbItem(oItem, 1);
}
}
break;
case 40 : // down arrow
if (bTopHorizontal) {
if (!oItem.getFirstChild())
_this.showActive(oItem);
else {
_this.showAndActivateSubMenu(oItem);
}
}
else {
oNextItem = _this.getNextKbItem(oItem, 1);
_this.showActive(oNextItem);
}
break;
}
}
ig_cancelEvent();
}
this.showActive = function(oItem) {
if(oItem) {
var oOwner = oItem.getOwnerSubMenu();
oOwner.dismissDescendantSubMenus();
oItem.hover();
}
}
this.showNextTopKbItem = function(oItem, iDirection) {
while(oItem.getLevel() > 0)
oItem = oItem.getParent();
var oNextItem = _this.getNextKbItem(oItem, iDirection);
if(oNextItem) {
//var useAnimation = constUseAnimation;
//constUseAnimation = false;
var oChildItem = oNextItem.getFirstChild();
if (oChildItem)
_this.showAndActivateSubMenu(oNextItem);
else
_this.showActive(oNextItem);
//constUseAnimation = useAnimation;
}
}
this.showAndActivateSubMenu = function(oItem) {
var oSubMenu = oItem.getChildSubMenu();
var oOwner = oItem.getOwnerSubMenu();
if(!oSubMenu)
return;
if(oItem.WebMenu.isDrillDown()) {
oldOnEnd = oItem.WebMenu.viewport.animate.onEnd;
var oChild = _this.getFirstKbChild(oItem);
if(oChild) {
oItem.WebMenu.viewport.animate.onEnd = function() {
oChild.hover();
oItem.WebMenu.viewport.animate.onEnd = oldOnEnd;
}
}
oSubMenu.drillDownDisplay(oOwner, oItem);
}
else {
oOwner.dismissDescendantSubMenus(oSubMenu);
oItem.WebMenu.TopHoverStarted = true;
oSubMenu.show(oItem);
oItem.WebMenu.TopHoverStarted = false;
var oChild = _this.getFirstKbChild(oItem);
if(oChild) {
oChild.hover();
}
}
}
this.getFirstKbChild = function(oItem) {
var firstChild = oItem.getFirstChild();
if(!firstChild.getEnabled() || firstChild.isSeparator())
firstChild = _this.getNextKbItem(firstChild);
return firstChild;
}
this.getFirstKbItem = function(oSubMenu) {
var items = oSubMenu.getItems();
for(var i = 0; i < items.length; i++) {
var item = items[i];
if(item.getEnabled() || !item.isSeparator())
return item;
}
return null;
}
this.getNextKbItem = function(oItem, bForward) {
var oNextItem = oItem;
if(!bForward)
bForward = 1;
do {
if(bForward == 1) {
oNextItem = oNextItem.getNextSibling();
if(!oNextItem) {
if (oItem.getLevel()==0)
oNextItem = oItem.WebMenu.getItems();
else
oNextItem = oItem.getParent().getItems();
if (oNextItem)
oNextItem = oNextItem[0];
}
}
else {
oNextItem = oNextItem.getPrevSibling();
if(!oNextItem) {
if (oItem.getLevel()==0)
oNextItem = oItem.WebMenu.getItems();
else
oNextItem = oItem.getParent().getItems();
if (oNextItem)
oNextItem = oNextItem[oNextItem.length-1];
}
}
if(oNextItem == oItem)
return null;
}
while(oNextItem && (!oNextItem.getEnabled() || oNextItem.isSeparator()));
return oNextItem;
}
this.accessKeyMatch = function(oItem, keyCode) {
var accessKey = oItem.getAccessKey();
if (ig.notEmpty(accessKey)) {
if (accessKey.toLocaleLowerCase().charCodeAt(0) == keyCode ||
accessKey.toLocaleUpperCase().charCodeAt(0) == keyCode)
if(oItem.getEnabled() && !oItem.isSeparator())
return true;
}
return false;
}
this.processAccessKey = function(oMenu, oItem, keyCode) {
var accessItem = this.processChildAccess(oMenu, oItem, keyCode);
if(accessItem == null) {
accessItem = this.processParentAccess(oMenu, oItem, keyCode);
}
if(accessItem != null) {
var oOwnerSubMenu = accessItem.getOwnerSubMenu();
var oChildSubMenu = accessItem.getChildSubMenu();
if(oChildSubMenu) {
_this.showAndActivateSubMenu(accessItem);
}
else {
accessItem.activate();
oOwnerSubMenu.dismissDescendantSubMenus();
}
}
}
this.processChildAccess = function(oMenu, oItem, keyCode) {
var oItems = oItem.getItems();
var oChild = null;
var accessKey;
for (var i = 0 ; i < oItems.length ; i++) {
oChild = oItems[i];
if(this.accessKeyMatch(oChild, keyCode))
return oChild;
}
return null;
}
this.processParentAccess = function(oMenu, oParentItem, keyCode) {
if(oParentItem == null)
return null;
var oNextItem = oParentItem.getNextSibling();
while(true) {
if(oNextItem == null) {
var oItems;
if (oParentItem.getLevel() == 0)
oItems = oMenu.getItems();
else
oItems = oParentItem.getParent().getItems();
oNextItem = oItems[0];
}
if(_this.accessKeyMatch(oNextItem, keyCode))
return oNextItem;
if(oParentItem == oNextItem)
return this.processParentAccess(oMenu, oParentItem.getParent(), keyCode);
oNextItem = oNextItem.getNextSibling();
}
}
}
// private - constructor for the menu scroll object
function igmenu_scroller(subMenuElement) {
this.subMenu = subMenuElement;
this.fullHeight = this.subMenu.offsetHeight;
this.active = false;
this.oMenu = igmenu_getMenuByItemId(this.subMenu.id);
// private - implements the showing and hiding of submenus
this.addScroll = function() {
this.scrollDiv = this.subMenu.firstChild
this.table = this.scrollDiv.firstChild;
this.topDiv = window.document.createElement("TABLE");
this.topDiv.topDiv = true;
this.bottomDiv = window.document.createElement("TABLE");
this.bottomDiv.bottomDiv = true;
var tbody = window.document.createElement("TBODY");
var tr = window.document.createElement("TR");
var td = window.document.createElement("TD");
this.topDiv.appendChild(tbody);
tbody.appendChild(tr);
tr.appendChild(td);
td.align = 'center';
this.topDiv.style.width = this.subMenu.offsetWidth;
tbody = window.document.createElement("TBODY");
tr = window.document.createElement("TR");
td = window.document.createElement("TD");
this.bottomDiv.appendChild(tbody);
tbody.appendChild(tr);
tr.appendChild(td);
td.align = 'center';
this.bottomDiv.style.width = this.subMenu.offsetWidth;
// add image elements to top and bottom divs
var img = window.document.createElement("IMG");
img.src = this.oMenu.ScrollImageTopDisabled;
this.topDiv.cells[0].appendChild(img);
img = window.document.createElement("IMG");
img.src = this.oMenu.ScrollImageBottom;
this.bottomDiv.cells[0].appendChild(img);
// top and bottom divs to the document object
this.subMenu.insertBefore(this.topDiv, this.subMenu.firstChild);
this.subMenu.appendChild(this.bottomDiv);
if(!ig_csom.isEmpty(this.oMenu.DefaultItemClass)) {
this.topDiv.className = this.oMenu.DefaultItemClass;
this.bottomDiv.className = this.oMenu.DefaultItemClass;
}
// Add mouse event listeners to top and bottom divs
if(this.topDiv._old)
return;
this.topDiv._old = true;
ig_csom.addEventListener(this.topDiv, "mouseover", igmenu_onScrollMouseOver, true);
ig_csom.addEventListener(this.bottomDiv, "mouseover", igmenu_onScrollMouseOver, true);
ig_csom.addEventListener(this.topDiv, "mouseout", igmenu_onScrollMouseOut, true);
ig_csom.addEventListener(this.bottomDiv, "mouseout", igmenu_onScrollMouseOut, true);
}
this.setScrollHeight = function(scrollHeight) {
if(scrollHeight >= 0)
this.scrollDiv.style.height=scrollHeight;
}
this.getScrollHeight = function() {
return this.scrollDiv.style.height;
}
this.show = function() {
if(this.topDiv.cells[0].innerHTML.indexOf(this.oMenu.ScrollImageTopDisabled) == -1)
this.topDiv.cells[0].innerHTML = "
"
if(this.bottomDiv.cells[0].innerHTML.indexOf(this.oMenu.ScrollImageBottom) == -1)
this.bottomDiv.cells[0].innerHTML = "
"
this.scrollDiv.scrollTop = 0;
this.scrollDiv.style.overflow="hidden";
this.topDiv.style.display="";
this.topDiv.style.visibility="visible";
this.bottomDiv.style.display="";
this.bottomDiv.style.visibility="visible";
this.active = true;
}
this.hide = function() {
this.topDiv.style.display="none";
this.topDiv.style.visibility="hidden";
this.bottomDiv.style.display="none";
this.bottomDiv.style.visibility="hidden";
this.subMenu.style.height = this.fullHeight;
this.scrollDiv.style.overflow="";
this.active = false;
}
this.addScroll();
}
// private - handles mouse over for scrollable submenus
var igmenu_scrollTimerId;
var igmenu_oScrollMenu;
function igmenu_onScrollMouseOver(evnt) {
var e = ig_fromEvent(evnt);
ig_inMenu = true;
clearTimeout(igmenu_clearMenuTimerId);
clearCurrentMenu = false;
var oMenu = igmenu_getMenuByItemId(e.parentNode.id);
igmenu_oScrollMenu = igmenu_getSubMenuById(oMenu, e.parentNode.id);
var hoverClass = oMenu.HoverClass;
if(oMenu.MergeStyles)
e.className += " " + hoverClass;
else
e.className = hoverClass;
if(e.topDiv) {
igmenu_oScrollMenu.scrollInc = -6;
}
else
if(e.bottomDiv) {
igmenu_oScrollMenu.scrollInc = 6;
}
clearInterval(igmenu_scrollTimerId);
igmenu_scrollTimerId = setInterval(igmenu_onMenuScroll, 30);
}
// private - handles mouse out for scrollable submenus
function igmenu_onScrollMouseOut(evnt) {
var e = ig_fromEvent(evnt);
var oMenu = igmenu_getMenuByItemId(e.parentNode.id);
var itemClass = oMenu.DefaultItemClass;
e.className = itemClass;
clearInterval(igmenu_scrollTimerId);
igmenu_oScrollMenu = null;
clearCurrentMenu = true;
clearTimeout(igmenu_clearMenuTimerId);
igmenu_clearMenuTimerId = setTimeout('clearTimerExpired()', oMenu.ExpandEffects.RemovalDelay);
}
// private - handles scrolling for scrollable submenus
function igmenu_onMenuScroll() {
if(igmenu_oScrollMenu != null) {
var scrollDiv = igmenu_oScrollMenu.scroller.scrollDiv;
// save the current scrollTop position
var oldValue = scrollDiv.scrollTop;
// increment the scrollTop property of the scrollDiv
scrollDiv.scrollTop += igmenu_oScrollMenu.scrollInc;
// get references to the top and bottom divs and the menu object
var topDiv = igmenu_oScrollMenu.scroller.topDiv;
var bottomDiv = igmenu_oScrollMenu.scroller.bottomDiv;
var oMenu = igmenu_oScrollMenu.scroller.oMenu;
// If at the top, display disabled up arrow
if(scrollDiv.scrollTop == 0) {
if(topDiv.innerHTML.indexOf(oMenu.ScrollImageTopDisabled) == -1) {
topDiv.cells[0].innerHTML = "
"
clearInterval(igmenu_scrollTimerId);
}
}
else {
if(topDiv.cells[0].innerHTML.indexOf(oMenu.ScrollImageTop) == -1)
topDiv.cells[0].innerHTML = "
"
}
// If at the bottom, display disabled down arrow
if(oldValue == scrollDiv.scrollTop && oldValue > 0) {
if(bottomDiv.cells[0].innerHTML.indexOf(oMenu.ScrollImageBottomDisabled) == -1) {
bottomDiv.cells[0].innerHTML = "
"
clearInterval(igmenu_scrollTimerId);
}
}
else {
if(bottomDiv.cells[0].innerHTML.indexOf(oMenu.ScrollImageBottom) == -1)
bottomDiv.cells[0].innerHTML = "
"
}
}
}
if(typeof(ig_csom)!="undefined" && ig_csom.IsIE)
ig_csom.addEventListener(window, "unload", igmenu_pageUnload, true);
// public - Obtains a menu Item object using its id
function igmenu_getItemById(itemId) {
var oItem = igmenu_itemArray[itemId];
if(oItem)
return oItem;
var item=igmenu_getElementById(itemId);
if(!item)
return null;
oItem = new ig_CreateMenuItem(item);
igmenu_itemArray[itemId] = oItem;
return oItem;
}
// public - Obtains a menu object using its id
function igmenu_getMenuById(menuId) {
return igmenu_array[menuId];
}
// public - returns the menu object for the Item Id
function igmenu_getMenuByItemId(itemId) {
var mn = igmenu_getMenuNameByItemId(itemId);
return igmenu_array[mn];
}
// public - returns the submenu object for the SubMenu Id
function igmenu_getSubMenuById(oMenu, submenuId) {
var oSub = igmenu_submenuArray[submenuId];
if(oSub)
return oSub;
var eSub=igmenu_getElementById(submenuId);
if(!eSub)
return null;
oSub = ig_CreateSubMenu(oMenu, eSub);
igmenu_submenuArray[submenuId] = oSub;
return oSub;
}
// public - returns the Menu Name (mn) from an itemId
function igmenu_getMenuNameByItemId(itemId) {
var menuName = itemId;
var strArray = menuName.split("_");
menuName = strArray[0];
return menuName;
}
// public - Retrieves an element by its tag name in a browser independant way
function igmenu_getElementById(id) {
return ig_csom.getElementById(id);
}
// private - 1.0 compatibility function for hiding select boxes
var igmenu_displayMenu = null;
function igmenu_callDisplayMenu(bShow, id) {
if(igmenu_displayMenu != null)
igmenu_displayMenu(bShow, id);
}
// private - hides all dropdown select controls for the document.
var ig_hidden=false;
function igmenu_hideDropDowns(bHide) {
if(igmenu_dropDowns == null)
return;
if(bHide){
if(ig_hidden)
return;
ig_hidden = true;
for (i=0; i 0)
this.eHeader.className = this.WebMenu.DefaultItemClass + " " + this.WebMenu.HeaderClass;
else {
this.eHeader.style.fontWeight = 800;
this.eHeader.style.backgroundColor = "E0E0E0";
this.eHeader.style.color = "000000";
this.eHeader.style.borderStyle = "outset";
this.eHeader.style.borderWidth = 1;
}
this.eHeader.style.width = "100%";
if(this.eHeader.style.height == "")
this.eHeader.style.height = "22px";
eSubMenu.insertBefore(this.eHeader, eSubMenu.firstChild);
}
}
ig_SubMenu.prototype.ensureScroller = function(scrollElement, fixedHeight) {
if(ig_csom.IsIE && !ig_csom.IsMac) {
var scrollHeight;
if(!this.scroller)
scrollHeight = scrollElement.scrollHeight;
else
scrollHeight = this.scroller.table.scrollHeight;
if(scrollHeight > fixedHeight) { // - 4) {
if(!this.scroller) {
this.scroller = new igmenu_scroller(this.element);
}
this.scroller.show();
var divsHeight = this.scroller.topDiv.offsetHeight + this.scroller.bottomDiv.offsetHeight + 8;
this.scroller.setScrollHeight(fixedHeight - divsHeight);
//menuHeight = eContainer.offsetHeight;
}
else {
if(this.scroller) {
this.scroller.hide();
}
}
}
}
ig_SubMenu.prototype.drillDownUnDisplay = function() {
var oParentSubMenu = this._ownerItem.getOwnerSubMenu();
var scrollElement;
if(this.WebMenu.hasFrame && oParentSubMenu.element.id.indexOf("_MainM") != -1)
scrollElement = oParentSubMenu.element.parentNode;
else
scrollElement = oParentSubMenu.element;
this.WebMenu.viewport.scroll(this.element, scrollElement, AnimationDirectionEnum.Left, AnimationRateEnum.Linear);
}
ig_SubMenu.prototype.endScroll = function() {
}
// private - implements the showing and hiding of submenus
ig_SubMenu.prototype.drillDownDisplay = function(oParentSubMenu, oParentItem) {
this.WebMenu.initEventHandlers(this, oParentItem);
var items = this.getItems();
var clientWidth = this.WebMenu.viewport.div.clientWidth;
var oItem;
if(items.length > 0) {
var oItem = items[0];
oItem.element.style.width = clientWidth;
}
this.element.style.display = "";
var scrollElement;
if(this.WebMenu.hasFrame && oParentSubMenu.element.id.indexOf("_MainM") != -1)
scrollElement = oParentSubMenu.element.parentNode;
else
scrollElement = oParentSubMenu.element;
this.WebMenu.viewport.scroll(scrollElement, this.element, AnimationDirectionEnum.Right, AnimationRateEnum.Linear);
var diff = this.element.parentNode.offsetWidth - clientWidth;
if(oItem)
oItem.element.style.width = clientWidth - diff;
this.element.style.width = clientWidth;
this.ensureScroller(this.element, this.WebMenu.viewport.div.offsetHeight-30);
if(!this.hasHeader) {
this.addSlideHeader();
this.hasHeader = true;
this.setHeaderText(oParentItem.getText());
}
}
// private - implements the showing and hiding of submenus
ig_SubMenu.prototype.___display = function(oParent, vertical) {
var oMenu = this.WebMenu;
var eParent = null;
var eSubMenu = this.element;
var eContainer = this.element.parentNode;
var effects = oMenu.ExpandEffects;
if(oParent) {
eParent = oParent.element;
oMenu.initEventHandlers(this, oParent);
}
if(ig_csom.IsIE55Plus && oMenu.HideDropDowns) {
if(this.transPanel == null) {
this.transPanel = ig_csom.createTransparentPanel();
igmenu_panelArray[iframeCount] = this.transPanel;
iframeCount++;
}
}
// Call 1.0 function to hide select elements
igmenu_callDisplayMenu(true, this.id);
if(oMenu.fireEvent(oMenu.Events.SubMenuDisplay,"(\"" + oMenu.MenuName + "\",\"" + this.id + "\", true)"))
return;
if(ig_csom.IsMac || (eContainer.style.filter == null)) {
eContainer.style.display = "";
eContainer.style.visibility = 'visible';
}
else
if(effects.Type != 'NotSet' && effects.Type != 'Slide') {
eContainer.style.filter = "progid:DXImageTransform.Microsoft." + effects.Type +
"(duration=" + (effects.Duration / 1000) +");"
if(effects.ShadowWidth > 0)
eContainer.style.filter += " progid:DXImageTransform.Microsoft.Shadow(Direction=135, Strength=" +
effects.ShadowWidth+",color=" + effects.ShadowColor + ");"
if(effects.Opacity < 100)
eContainer.style.filter += " progid:DXImageTransform.Microsoft.Alpha(Opacity=" + effects.Opacity +");"
try{
if(eContainer.filters[0] != null)
eContainer.filters[0].apply();
}catch(ex){}
eContainer.style.display="";
eContainer.style.visibility='visible'
try{
if(eContainer.filters[0] != null)
eContainer.filters[0].play();
}catch(ex){}
}
else {
eContainer.runtimeStyle.filter = "";
try{
if(effects.ShadowWidth > 0)
eContainer.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.Shadow(Direction=135, Strength=" +
effects.ShadowWidth + ",color=" + effects.ShadowColor + ");"
if(opacity < 100)
eContainer.runtimeStyle.filter += " progid:DXImageTransform.Microsoft.Alpha(Opacity=" + effects.Opacity + ");"
}catch(ex){}
eContainer.style.visibility='visible';
eContainer.style.display="";
}
// set submenu position
var pageWidth = document.body.clientWidth;
var menuWidth = (ig_csom.IsNetscape6) ? eContainer.offsetWidth : eContainer.clientWidth;
var pageHeight = document.body.clientHeight;
if(document.documentElement)
{
if(document.documentElement.clientHeight != 0 )
pageHeight = Math.max(pageHeight, document.documentElement.clientHeight);
if(document.documentElement.clientWidth != 0 )
pageWidth = Math.max(pageWidth, document.documentElement.clientWidth);
}
if(ig_csom.IsSafari && window.innerHeight)
pageHeight = window.innerHeight;
var menuHeight = eContainer.offsetHeight;
var scrollTop = document.body.scrollTop + document.body.parentNode.scrollTop;
var scrollLeft = document.body.scrollLeft + document.body.parentNode.scrollLeft;
var menuX = 0;
var menuY = 0;
var useAnimation = (effects.Type == 'Slide') ? true : false;
if(oParent == null) { // popup menu
menuX = eContainer.offsetLeft;
menuY = eContainer.offsetTop;
this._popup = true;
}
else
if(vertical) { // display next to vertical menu
var eSubParent = this._ownerItem.getOwnerSubMenu().element;
menuY = igmenu_getTopPos(eParent);
//menuY = eSubParent.parentNode.offsetTop;
if(ig_csom.IsSafari) {
menuY += eParent.childNodes[0].offsetTop;
}
if(this.oParentSubMenu.scroller != null && this.oParentSubMenu.scroller.active) {
menuY = menuY - this.oParentSubMenu.scroller.scrollDiv.scrollTop;
}
if(oMenu.CurrentLeftHandDisplay == false){
menuX = igmenu_getLeftPos(eSubParent)+ eSubParent.offsetWidth;
//if(document.documentElement == null || document.documentElement.clientHeight == 0)
// menuX -= 4;
if(eParent.offsetWidth == 0 && ig_csom.IsSafari)
{
var temp = eParent.offsetParent;
var width = 0;
while(temp != null && width == 0) {
width += temp.offsetWidth;
temp = temp.offsetParent;
}
menuX += width;
}
}
else
menuX = igmenu_getLeftPos(eParent) - menuWidth;
var switched = oMenu.CurrentLeftHandDisplay != oMenu.LeftHandDisplay;
// Check which way to align the menu
if(oMenu.CurrentLeftHandDisplay == false && !switched) { // align right
if((menuX + menuWidth) > pageWidth + scrollLeft) {
oMenu.CurrentLeftHandDisplay = true; // change to left
menuX = igmenu_getLeftPos(eParent) - menuWidth;
}
}
else
if(oMenu.CurrentLeftHandDisplay == true && !switched) { // aligned left
if((menuX < 0)) {
oMenu.CurrentLeftHandDisplay = false; // change to right
menuX = igmenu_getLeftPos(eParent) + eParent.offsetWidth;
}
}
}
else { // display under horizontal menu
var eSubParent = this._ownerItem.getOwnerSubMenu().element;
menuX = igmenu_getLeftPos(eParent);
menuY = igmenu_getTopPos(eSubParent) + eSubParent.offsetHeight;
}
if(ig_csom.IsIE && !ig_csom.IsMac) {
var scrollHeight;
if(!this.scroller)
scrollHeight = eSubMenu.firstChild.firstChild.scrollHeight;
else
scrollHeight = this.scroller.table.scrollHeight;
if(scrollHeight > pageHeight - 4) {
if(!this.scroller) {
this.scroller = new igmenu_scroller(eSubMenu);
}
this.scroller.show();
useAnimation = false;
var divsHeight = this.scroller.topDiv.offsetHeight + this.scroller.bottomDiv.offsetHeight + 8;
this.scroller.setScrollHeight(pageHeight - divsHeight);
menuHeight = eContainer.offsetHeight;
}
else {
if(this.scroller) {
this.scroller.hide();
}
}
}
if(menuX + menuWidth > pageWidth + scrollLeft)
menuX = pageWidth - menuWidth + scrollLeft - 8;
if(menuX < scrollLeft)
menuX = scrollLeft;
if(menuY + menuHeight > pageHeight + scrollTop)
menuY = pageHeight - menuHeight + scrollTop - 8;
if(menuY < scrollTop)
menuY = scrollTop;
eContainer.style.top = menuY.toString() + "px";
eContainer.style.left = menuX.toString() +"px";
this.eContainer = eContainer;
if(ig_csom.IsIE55Plus && this.transPanel != null) {
this.transPanel.setPosition(eContainer.offsetTop, eContainer.offsetLeft, eContainer.offsetWidth, eContainer.offsetHeight);
this.transPanel.show();
}
if(useAnimation) {
this.animate = new ig_SlideRevealAnimation();
this.animate.setElement(eSubMenu);
this.animate.setContainer(eSubMenu.parentNode);
this.animate.setRate(AnimationRateEnum.Decelerate);
this.animate.finishPos = 0;
if(vertical) {
this._vertical = true;
this.animate.setDirection(AnimationDirectionEnum.Right);
eSubMenu.style.visibility = "";
eSubMenu.style.display = "";
this.animate.startPos = -eSubMenu.scrollWidth ;
}
else {
this.animate.setDirection(AnimationDirectionEnum.Down);
this.animate.startPos = -eSubMenu.scrollHeight;
}
this.animate.play();
}
else {
eSubMenu.style.display = "";
eSubMenu.style.visibility = "visible";
}
}
return new ig_SubMenu(oMenu, eSub);
}
function ig_SubMenu(oMenu, eSub)
{
this.init(eSub);
this.WebMenu = oMenu;
this._currentDisplayedSubMenu = null;
this._hoveredItem = null;
this._selectedItem = null;
this._ownerItem = null;
this._visible = false;
}
function ig_WebUIElement(element)
{
if(arguments.length > 0){
this.init(id, element);
}
}
ig_WebUIElement.prototype.init=function(element){
this.id = element.id;
this.element = element;
ig_all[this.id] = this;
}
ig_WebUIElement.prototype.constructor = ig_WebUIElement;
ig_WebUIElement.prototype.getElement = function(){
return this.element;
}
hideAnimationComplete = function(element, params) {
params.tr.style.visibility = "hidden";
params.tr.style.display = "none";
}
igmenu_createCallback = function(method, context, param1, param2, param3 ) {
return function() {
method.apply(context, [param1, param2, param3]);
}
}