(function() {var Dom = YAHOO.util.Dom,Event = YAHOO.util.Event;YAHOO.widget.MenuManager = function() {var m_bInitializedEventHandlers = false,m_oMenus = {},m_oItems = {},m_oVisibleMenus = {},m_oEventTypes =  {"click": "clickEvent","mousedown": "mouseDownEvent","mouseup": "mouseUpEvent","mouseover": "mouseOverEvent","mouseout": "mouseOutEvent","keydown": "keyDownEvent","keyup": "keyUpEvent","keypress": "keyPressEvent"},m_oFocusedMenuItem = null;function addItem(p_oItem) {var sId = p_oItem.id;if(p_oItem && m_oItems[sId] != p_oItem) {m_oItems[sId] = p_oItem;p_oItem.destroyEvent.subscribe(onItemDestroy);}}function removeItem(p_oItem) {var sId = p_oItem.id;if(sId && m_oItems[sId]) {delete m_oItems[sId];}}function getMenuRootElement(p_oElement) {var oParentNode;if(p_oElement && p_oElement.tagName) {switch(p_oElement.tagName.toUpperCase()) {case "DIV":oParentNode = p_oElement.parentNode;if((Dom.hasClass(p_oElement, "hd") ||Dom.hasClass(p_oElement, "bd") ||Dom.hasClass(p_oElement, "ft"))&& oParentNode && oParentNode.tagName && oParentNode.tagName.toUpperCase() == "DIV") {return oParentNode;}else {return p_oElement;}break;case "LI":return p_oElement;default:oParentNode = p_oElement.parentNode;if(oParentNode) {return getMenuRootElement(oParentNode);}break;}}}function onDOMEvent(p_oEvent) {var oTarget = Event.getTarget(p_oEvent),oElement = getMenuRootElement(oTarget),oMenuItem,oMenu; if(oElement) {var sTagName = oElement.tagName.toUpperCase();if(sTagName == "LI") {var sId = oElement.id;if(sId && m_oItems[sId]) {oMenuItem = m_oItems[sId];oMenu = oMenuItem.parent;}}else if(sTagName == "DIV") {if(oElement.id) {oMenu = m_oMenus[oElement.id];}}}if(oMenu) {var sCustomEventType = m_oEventTypes[p_oEvent.type];if(oMenuItem && !oMenuItem.cfg.getProperty("disabled")) {oMenuItem[sCustomEventType].fire(p_oEvent);                   if (p_oEvent.type == "keyup" || p_oEvent.type == "mousedown") {if (m_oFocusedMenuItem != oMenuItem) {if(m_oFocusedMenuItem) {m_oFocusedMenuItem.blurEvent.fire();}oMenuItem.focusEvent.fire();}}}oMenu[sCustomEventType].fire(p_oEvent, oMenuItem);}else if(p_oEvent.type == "mousedown") {if(m_oFocusedMenuItem) {m_oFocusedMenuItem.blurEvent.fire();m_oFocusedMenuItem = null;}for(var i in m_oMenus) {if(YAHOO.lang.hasOwnProperty(m_oMenus,i)) {oMenu = m_oMenus[i];if(oMenu.cfg.getProperty("clicktohide") && oMenu.cfg.getProperty("position") == "dynamic") {oMenu.hide();}else {oMenu.clearActiveItem(true);}}} }else if(p_oEvent.type == "keyup") { if(m_oFocusedMenuItem) {m_oFocusedMenuItem.blurEvent.fire();m_oFocusedMenuItem = null;}}}function onMenuDestroy(p_sType, p_aArgs) {if(m_oMenus[this.id]) {delete m_oMenus[this.id];}}function onMenuFocus(p_sType, p_aArgs) {var oItem = p_aArgs[0];if (oItem) {m_oFocusedMenuItem = oItem;}}function onMenuBlur(p_sType, p_aArgs) {m_oFocusedMenuItem = null;}function onItemDestroy(p_sType, p_aArgs) {var sId = this.id;if(sId && m_oItems[sId]) {delete m_oItems[sId];}}function onMenuVisibleConfigChange(p_sType, p_aArgs) {var bVisible = p_aArgs[0];if(bVisible) {m_oVisibleMenus[this.id] = this;}else if(m_oVisibleMenus[this.id]) {delete m_oVisibleMenus[this.id];}}function onItemAdded(p_sType, p_aArgs) {addItem(p_aArgs[0]);}function onItemRemoved(p_sType, p_aArgs) {removeItem(p_aArgs[0]);}return {addMenu: function(p_oMenu) {if(p_oMenu && p_oMenu.id && !m_oMenus[p_oMenu.id]) {m_oMenus[p_oMenu.id] = p_oMenu;if(!m_bInitializedEventHandlers) {var oDoc = document;Event.on(oDoc, "mouseover", onDOMEvent, this, true);Event.on(oDoc, "mouseout", onDOMEvent, this, true);Event.on(oDoc, "mousedown", onDOMEvent, this, true);Event.on(oDoc, "mouseup", onDOMEvent, this, true);Event.on(oDoc, "click", onDOMEvent, this, true);Event.on(oDoc, "keydown", onDOMEvent, this, true);Event.on(oDoc, "keyup", onDOMEvent, this, true);Event.on(oDoc, "keypress", onDOMEvent, this, true);m_bInitializedEventHandlers = true;}p_oMenu.destroyEvent.subscribe(onMenuDestroy);p_oMenu.cfg.subscribeToConfigEvent("visible", onMenuVisibleConfigChange);p_oMenu.itemAddedEvent.subscribe(onItemAdded);p_oMenu.itemRemovedEvent.subscribe(onItemRemoved);p_oMenu.focusEvent.subscribe(onMenuFocus);p_oMenu.blurEvent.subscribe(onMenuBlur);}},removeMenu: function(p_oMenu) {if(p_oMenu && m_oMenus[p_oMenu.id]) {delete m_oMenus[p_oMenu.id];}},hideVisible: function() {var oMenu;for(var i in m_oVisibleMenus) {if(YAHOO.lang.hasOwnProperty(m_oVisibleMenus,i)) {oMenu = m_oVisibleMenus[i];if(oMenu.cfg.getProperty("position") == "dynamic") {oMenu.hide();}}}        },getMenus: function() {return m_oMenus;},getMenu: function(p_sId) {if(m_oMenus[p_sId]) {return m_oMenus[p_sId];}},getFocusedMenuItem: function() {return m_oFocusedMenuItem;},getFocusedMenu: function() {if(m_oFocusedMenuItem) {return (m_oFocusedMenuItem.parent.getRoot());}},toString: function() {return ("MenuManager");}};}();})();(function() {var Dom = YAHOO.util.Dom,Event = YAHOO.util.Event,CustomEvent = YAHOO.util.CustomEvent,Lang = YAHOO.lang;YAHOO.widget.Menu = function(p_oElement, p_oConfig) {if(p_oConfig) {this.parent = p_oConfig.parent;this.lazyLoad = p_oConfig.lazyLoad || p_oConfig.lazyload;this.itemData = p_oConfig.itemData || p_oConfig.itemdata;}YAHOO.widget.Menu.superclass.constructor.call(this, p_oElement, p_oConfig);};YAHOO.widget.Menu._EVENT_TYPES = {"MOUSE_OVER": "mouseover","MOUSE_OUT": "mouseout","MOUSE_DOWN": "mousedown","MOUSE_UP": "mouseup","CLICK": "click","KEY_PRESS": "keypress","KEY_DOWN": "keydown","KEY_UP": "keyup","FOCUS": "focus","BLUR": "blur","ITEM_ADDED": "itemAdded","ITEM_REMOVED": "itemRemoved"};YAHOO.widget.Menu._checkPosition = function(p_sPosition) {if(typeof p_sPosition == "string") {var sPosition = p_sPosition.toLowerCase();return ("dynamic,static".indexOf(sPosition) != -1);}};YAHOO.widget.Menu._DEFAULT_CONFIG = {"VISIBLE": { key: "visible", value: false, validator: Lang.isBoolean}, "CONSTRAIN_TO_VIEWPORT": {key: "constraintoviewport", value: true, validator: Lang.isBoolean, supercedes: ["iframe","x","y","xy"]}, "POSITION": { key: "position", value: "dynamic", validator: YAHOO.widget.Menu._checkPosition, supercedes: ["visible"] }, "SUBMENU_ALIGNMENT": { key: "submenualignment", value: ["tl","tr"]},"AUTO_SUBMENU_DISPLAY": { key: "autosubmenudisplay", value: true, validator: Lang.isBoolean }, "SHOW_DELAY": { key: "showdelay", value: 250, validator: Lang.isNumber }, "HIDE_DELAY": { key: "hidedelay", value: 0, validator: Lang.isNumber, suppressEvent: true}, "SUBMENU_HIDE_DELAY": { key: "submenuhidedelay", value: 250, validator: Lang.isNumber}, "CLICK_TO_HIDE": { key: "clicktohide", value: true, validator: Lang.isBoolean},"CONTAINER": { key: "container"}, "MAX_HEIGHT": { key: "maxheight", value: 0, validator: Lang.isNumber}, "CLASS_NAME": { key: "classname", value: null, validator: Lang.isString}};YAHOO.lang.extend(YAHOO.widget.Menu, YAHOO.widget.Overlay, {CSS_CLASS_NAME: "yuimenu",ITEM_TYPE: null,GROUP_TITLE_TAG_NAME: "h6",_nHideDelayId: null,_nShowDelayId: null,_nSubmenuHideDelayId: null,_nBodyScrollId: null,_bHideDelayEventHandlersAssigned: false,_bHandledMouseOverEvent: false,_bHandledMouseOutEvent: false,_aGroupTitleElements: null,_aItemGroups: null,_aListElements: null,_nCurrentMouseX: 0,_nMaxHeight: -1,_bStopMouseEventHandlers: false,_sClassName: null,lazyLoad: false,itemData: null,activeItem: null,parent: null,srcElement: null,mouseOverEvent: null,mouseOutEvent: null,mouseDownEvent: null,mouseUpEvent: null,clickEvent: null,keyPressEvent: null,keyDownEvent: null,keyUpEvent: null,itemAddedEvent: null,itemRemovedEvent: null,init: function(p_oElement, p_oConfig) {this._aItemGroups = [];this._aListElements = [];this._aGroupTitleElements = [];if(!this.ITEM_TYPE) {this.ITEM_TYPE = YAHOO.widget.MenuItem;}var oElement;if(typeof p_oElement == "string") {oElement = document.getElementById(p_oElement);}else if(p_oElement.tagName) {oElement = p_oElement;}if(oElement && oElement.tagName) {switch(oElement.tagName.toUpperCase()) {case "DIV":this.srcElement = oElement;if(!oElement.id) {oElement.setAttribute("id", Dom.generateId());}YAHOO.widget.Menu.superclass.init.call(this, oElement);this.beforeInitEvent.fire(YAHOO.widget.Menu);break;case "SELECT":this.srcElement = oElement;YAHOO.widget.Menu.superclass.init.call(this, Dom.generateId());this.beforeInitEvent.fire(YAHOO.widget.Menu);break;}}else {YAHOO.widget.Menu.superclass.init.call(this, p_oElement);this.beforeInitEvent.fire(YAHOO.widget.Menu);}if(this.element) {var oEl = this.element;Dom.addClass(oEl, this.CSS_CLASS_NAME);this.initEvent.subscribe(this._onInit, this, true);this.beforeRenderEvent.subscribe(this._onBeforeRender, this, true);this.renderEvent.subscribe(this._onRender);this.beforeShowEvent.subscribe(this._onBeforeShow, this, true);this.showEvent.subscribe(this._onShow, this, true);this.beforeHideEvent.subscribe(this._onBeforeHide, this, true);this.hideEvent.subscribe(this._onHide, this, true);this.mouseOverEvent.subscribe(this._onMouseOver, this, true);this.mouseOutEvent.subscribe(this._onMouseOut, this, true);this.clickEvent.subscribe(this._onClick, this, true);this.keyDownEvent.subscribe(this._onKeyDown, this, true);this.keyPressEvent.subscribe(this._onKeyPress, this, true);YAHOO.widget.Module.textResizeEvent.subscribe(this._onTextResize, this, true);if(p_oConfig) {this.cfg.applyConfig(p_oConfig, true);}YAHOO.widget.MenuManager.addMenu(this);this.initEvent.fire(YAHOO.widget.Menu);}},_initSubTree: function() {var oNode;if(this.srcElement.tagName.toUpperCase() == "DIV") {oNode = this.body.firstChild;var nGroup = 0,sGroupTitleTagName = this.GROUP_TITLE_TAG_NAME.toUpperCase();do {if(oNode && oNode.tagName) {switch(oNode.tagName.toUpperCase()) {case sGroupTitleTagName:this._aGroupTitleElements[nGroup] = oNode;break;case "UL":this._aListElements[nGroup] = oNode;this._aItemGroups[nGroup] = [];nGroup++;break;}}}while((oNode = oNode.nextSibling));if(this._aListElements[0]) {Dom.addClass(this._aListElements[0], "first-of-type");}}oNode = null;if(this.srcElement.tagName) {var sSrcElementTagName = this.srcElement.tagName.toUpperCase();switch(sSrcElementTagName) {case "DIV":if(this._aListElements.length > 0) {var i = this._aListElements.length - 1;do {oNode = this._aListElements[i].firstChild;do {if(oNode && oNode.tagName && oNode.tagName.toUpperCase() == "LI") {this.addItem(new this.ITEM_TYPE(oNode, { parent: this }), i);}}while((oNode = oNode.nextSibling));}while(i--);}break;case "SELECT":oNode = this.srcElement.firstChild;do {if(oNode && oNode.tagName) {switch(oNode.tagName.toUpperCase()) {case "OPTGROUP":case "OPTION":this.addItem(new this.ITEM_TYPE(oNode, { parent: this }));break;}}}while((oNode = oNode.nextSibling));break;}}},_getFirstEnabledItem: function() {var aItems = this.getItems(),nItems = aItems.length,oItem;for(var i=0; i<nItems; i++) {oItem = aItems[i];if(oItem && !oItem.cfg.getProperty("disabled") && oItem.element.style.display != "none") {return oItem;}}},_addItemToGroup: function(p_nGroupIndex, p_oItem, p_nItemIndex) {var oItem;if(p_oItem instanceof this.ITEM_TYPE) {oItem = p_oItem;oItem.parent = this;}else if(typeof p_oItem == "string") {oItem = new this.ITEM_TYPE(p_oItem, { parent: this });}else if(typeof p_oItem == "object") {p_oItem.parent = this;oItem = new this.ITEM_TYPE(p_oItem.text, p_oItem);}if(oItem) {if (oItem.cfg.getProperty("selected")) {this.activeItem = oItem;}var nGroupIndex = typeof p_nGroupIndex == "number" ? p_nGroupIndex : 0,aGroup = this._getItemGroup(nGroupIndex),oGroupItem;if(!aGroup) {aGroup = this._createItemGroup(nGroupIndex);}if(typeof p_nItemIndex == "number") {var bAppend = (p_nItemIndex >= aGroup.length);            if(aGroup[p_nItemIndex]) {aGroup.splice(p_nItemIndex, 0, oItem);}else {aGroup[p_nItemIndex] = oItem;}oGroupItem = aGroup[p_nItemIndex];if(oGroupItem) {if(bAppend && (!oGroupItem.element.parentNode || oGroupItem.element.parentNode.nodeType == 11)) {this._aListElements[nGroupIndex].appendChild(oGroupItem.element);}else {function getNextItemSibling(p_aArray, p_nStartIndex) {return (p_aArray[p_nStartIndex] || getNextItemSibling(p_aArray, (p_nStartIndex+1)));}var oNextItemSibling = getNextItemSibling(aGroup, (p_nItemIndex+1));if(oNextItemSibling && (!oGroupItem.element.parentNode || oGroupItem.element.parentNode.nodeType == 11)) {this._aListElements[nGroupIndex].insertBefore(oGroupItem.element, oNextItemSibling.element);}}oGroupItem.parent = this;this._subscribeToItemEvents(oGroupItem);this._configureSubmenu(oGroupItem);this._updateItemProperties(nGroupIndex);this.itemAddedEvent.fire(oGroupItem);return oGroupItem;}}else {var nItemIndex = aGroup.length;aGroup[nItemIndex] = oItem;oGroupItem = aGroup[nItemIndex];if(oGroupItem) {if(!Dom.isAncestor(this._aListElements[nGroupIndex], oGroupItem.element)) {this._aListElements[nGroupIndex].appendChild(oGroupItem.element);}oGroupItem.element.setAttribute("groupindex", nGroupIndex);oGroupItem.element.setAttribute("index", nItemIndex);oGroupItem.parent = this;oGroupItem.index = nItemIndex;oGroupItem.groupIndex = nGroupIndex;this._subscribeToItemEvents(oGroupItem);this._configureSubmenu(oGroupItem);if(nItemIndex === 0) {Dom.addClass(oGroupItem.element, "first-of-type");}this.itemAddedEvent.fire(oGroupItem);return oGroupItem;}}}},_removeItemFromGroupByIndex: function(p_nGroupIndex, p_nItemIndex) {var nGroupIndex = typeof p_nGroupIndex == "number" ? p_nGroupIndex : 0,aGroup = this._getItemGroup(nGroupIndex);if(aGroup) {var aArray = aGroup.splice(p_nItemIndex, 1),oItem = aArray[0];if(oItem) {this._updateItemProperties(nGroupIndex);if(aGroup.length === 0) {var oUL = this._aListElements[nGroupIndex];if(this.body && oUL) {this.body.removeChild(oUL);}this._aItemGroups.splice(nGroupIndex, 1);this._aListElements.splice(nGroupIndex, 1);oUL = this._aListElements[0];if(oUL) {Dom.addClass(oUL, "first-of-type");}            }this.itemRemovedEvent.fire(oItem);    return oItem;}}},_removeItemFromGroupByValue: function(p_nGroupIndex, p_oItem) {var aGroup = this._getItemGroup(p_nGroupIndex);if(aGroup) {var nItems = aGroup.length,nItemIndex = -1;if(nItems > 0) {var i = nItems-1;do {if(aGroup[i] == p_oItem) {nItemIndex = i;break;    }}while(i--);if(nItemIndex > -1) {return this._removeItemFromGroupByIndex(p_nGroupIndex, nItemIndex);}}}},_updateItemProperties: function(p_nGroupIndex) {var aGroup = this._getItemGroup(p_nGroupIndex),nItems = aGroup.length;if(nItems > 0) {var i = nItems - 1,oItem,oLI;do {oItem = aGroup[i];if(oItem) {oLI = oItem.element;oItem.index = i;oItem.groupIndex = p_nGroupIndex;oLI.setAttribute("groupindex", p_nGroupIndex);oLI.setAttribute("index", i);Dom.removeClass(oLI, "first-of-type");}}while(i--);if(oLI) {Dom.addClass(oLI, "first-of-type");}}},_createItemGroup: function(p_nIndex) {if(!this._aItemGroups[p_nIndex]) {this._aItemGroups[p_nIndex] = [];var oUL = document.createElement("ul");this._aListElements[p_nIndex] = oUL;return this._aItemGroups[p_nIndex];}},_getItemGroup: function(p_nIndex) {var nIndex = ((typeof p_nIndex == "number") ? p_nIndex : 0);return this._aItemGroups[nIndex];},_configureSubmenu: function(p_oItem) {var oSubmenu = p_oItem.cfg.getProperty("submenu");if(oSubmenu) {this.cfg.configChangedEvent.subscribe(this._onParentMenuConfigChange, oSubmenu, true);this.renderEvent.subscribe(this._onParentMenuRender,oSubmenu, true);oSubmenu.beforeShowEvent.subscribe(this._onSubmenuBeforeShow, oSubmenu, true);oSubmenu.showEvent.subscribe(this._onSubmenuShow, null, p_oItem);oSubmenu.hideEvent.subscribe(this._onSubmenuHide, null, p_oItem);}},_subscribeToItemEvents: function(p_oItem) {p_oItem.focusEvent.subscribe(this._onMenuItemFocus);p_oItem.blurEvent.subscribe(this._onMenuItemBlur);p_oItem.cfg.configChangedEvent.subscribe(this._onMenuItemConfigChange,p_oItem,this);},_getOffsetWidth: function() {var oClone = this.element.cloneNode(true);Dom.setStyle(oClone, "width", "");document.body.appendChild(oClone);var sWidth = oClone.offsetWidth;document.body.removeChild(oClone);return sWidth;},_setWidth: function() {var sWidth;if (this.element.parentNode.tagName.toUpperCase() == "BODY") {if (this.browser == "opera") {sWidth = this._getOffsetWidth();}else {Dom.setStyle(this.element, "width", "auto");sWidth = this.element.offsetWidth;}}else {sWidth = this._getOffsetWidth();}this.cfg.setProperty("width", (sWidth + "px"));},_onWidthChange: function(p_sType, p_aArgs) {var sWidth = p_aArgs[0];if (sWidth && !this._hasSetWidthHandlers) {this.itemAddedEvent.subscribe(this._setWidth);this.itemRemovedEvent.subscribe(this._setWidth);this._hasSetWidthHandlers = true;}else if (this._hasSetWidthHandlers) {this.itemAddedEvent.unsubscribe(this._setWidth);this.itemRemovedEvent.unsubscribe(this._setWidth);this._hasSetWidthHandlers = false;}},_onVisibleChange: function(p_sType, p_aArgs) {var bVisible = p_aArgs[0];if (bVisible) {Dom.addClass(this.element, "visible");}else {Dom.removeClass(this.element, "visible");}},_cancelHideDelay: function() {var oRoot = this.getRoot();if(oRoot._nHideDelayId) {window.clearTimeout(oRoot._nHideDelayId);}},_execHideDelay: function() {this._cancelHideDelay();var oRoot = this.getRoot(),me = this;function hideMenu() {if(oRoot.activeItem) {oRoot.clearActiveItem();}if(oRoot == me && me.cfg.getProperty("position") == "dynamic") {me.hide();            }}oRoot._nHideDelayId = window.setTimeout(hideMenu, oRoot.cfg.getProperty("hidedelay"));},_cancelShowDelay: function() {var oRoot = this.getRoot();if(oRoot._nShowDelayId) {window.clearTimeout(oRoot._nShowDelayId);}},_execShowDelay: function(p_oMenu) {var oRoot = this.getRoot();function showMenu() {if(p_oMenu.parent.cfg.getProperty("selected")) {p_oMenu.show();}}oRoot._nShowDelayId = window.setTimeout(showMenu, oRoot.cfg.getProperty("showdelay"));},_execSubmenuHideDelay: function(p_oSubmenu, p_nMouseX, p_nHideDelay) {var me = this;p_oSubmenu._nSubmenuHideDelayId = window.setTimeout(function () {if(me._nCurrentMouseX > (p_nMouseX + 10)) {p_oSubmenu._nSubmenuHideDelayId = window.setTimeout(function () {p_oSubmenu.hide();}, p_nHideDelay);}else {p_oSubmenu.hide();}}, 50);},_disableScrollHeader: function() {if(!this._bHeaderDisabled) {Dom.addClass(this.header, "topscrollbar_disabled");this._bHeaderDisabled = true;}},_disableScrollFooter: function() {if(!this._bFooterDisabled) {Dom.addClass(this.footer, "bottomscrollbar_disabled");this._bFooterDisabled = true;}},_enableScrollHeader: function() {if(this._bHeaderDisabled) {Dom.removeClass(this.header, "topscrollbar_disabled");this._bHeaderDisabled = false;}},_enableScrollFooter: function() {if(this._bFooterDisabled) {Dom.removeClass(this.footer, "bottomscrollbar_disabled");this._bFooterDisabled = false;}},_onMouseOver: function(p_sType, p_aArgs, p_oMenu) {if(this._bStopMouseEventHandlers) {return false;}var oEvent = p_aArgs[0],oItem = p_aArgs[1],oTarget = Event.getTarget(oEvent);if(!this._bHandledMouseOverEvent && (oTarget == this.element || Dom.isAncestor(this.element, oTarget))) {this._nCurrentMouseX = 0;Event.on(this.element, "mousemove", this._onMouseMove, this, true);this.clearActiveItem();if(this.parent && this._nSubmenuHideDelayId) {window.clearTimeout(this._nSubmenuHideDelayId);this.parent.cfg.setProperty("selected", true);var oParentMenu = this.parent.parent;oParentMenu._bHandledMouseOutEvent = true;oParentMenu._bHandledMouseOverEvent = false;}this._bHandledMouseOverEvent = true;this._bHandledMouseOutEvent = false;}if(oItem && !oItem.handledMouseOverEvent && !oItem.cfg.getProperty("disabled") && (oTarget == oItem.element || Dom.isAncestor(oItem.element, oTarget))) {var nShowDelay = this.cfg.getProperty("showdelay"),bShowDelay = (nShowDelay > 0);if(bShowDelay) {this._cancelShowDelay();}var oActiveItem = this.activeItem;if(oActiveItem) {oActiveItem.cfg.setProperty("selected", false);}var oItemCfg = oItem.cfg;oItemCfg.setProperty("selected", true);if (this.hasFocus()) {oItem.focus();}if(this.cfg.getProperty("autosubmenudisplay")) {var oSubmenu = oItemCfg.getProperty("submenu");if(oSubmenu) {if(bShowDelay) {this._execShowDelay(oSubmenu);}else {oSubmenu.show();}}}                        oItem.handledMouseOverEvent = true;oItem.handledMouseOutEvent = false;}},_onMouseOut: function(p_sType, p_aArgs, p_oMenu) {if(this._bStopMouseEventHandlers) {return false;}var oEvent = p_aArgs[0],oItem = p_aArgs[1],oRelatedTarget = Event.getRelatedTarget(oEvent),bMovingToSubmenu = false;if(oItem && !oItem.cfg.getProperty("disabled")) {var oItemCfg = oItem.cfg,oSubmenu = oItemCfg.getProperty("submenu");if(oSubmenu && (oRelatedTarget == oSubmenu.element ||Dom.isAncestor(oSubmenu.element, oRelatedTarget))) {bMovingToSubmenu = true;}if( !oItem.handledMouseOutEvent && ((oRelatedTarget != oItem.element &&  !Dom.isAncestor(oItem.element, oRelatedTarget)) || bMovingToSubmenu)) {if(!bMovingToSubmenu) {oItem.cfg.setProperty("selected", false);if(oSubmenu) {var nSubmenuHideDelay = this.cfg.getProperty("submenuhidedelay"),nShowDelay = this.cfg.getProperty("showdelay");if(!(this instanceof YAHOO.widget.MenuBar) && nSubmenuHideDelay > 0 && nShowDelay >= nSubmenuHideDelay) {this._execSubmenuHideDelay(oSubmenu, Event.getPageX(oEvent),nSubmenuHideDelay);}else {oSubmenu.hide();}}}oItem.handledMouseOutEvent = true;oItem.handledMouseOverEvent = false;}}if(!this._bHandledMouseOutEvent && ((oRelatedTarget != this.element &&  !Dom.isAncestor(this.element, oRelatedTarget)) || bMovingToSubmenu)) {Event.removeListener(this.element, "mousemove", this._onMouseMove);this._nCurrentMouseX = Event.getPageX(oEvent);this._bHandledMouseOutEvent = true;this._bHandledMouseOverEvent = false;}},_onMouseMove: function(p_oEvent, p_oMenu) {if(this._bStopMouseEventHandlers) {return false;}this._nCurrentMouseX = Event.getPageX(p_oEvent);},_onClick: function(p_sType, p_aArgs, p_oMenu) {var oEvent = p_aArgs[0],oItem = p_aArgs[1],oTarget = Event.getTarget(oEvent);if(oItem && !oItem.cfg.getProperty("disabled")) {var oItemCfg = oItem.cfg,oSubmenu = oItemCfg.getProperty("submenu");if(oTarget == oItem.submenuIndicator && oSubmenu) {if(oSubmenu.cfg.getProperty("visible")) {oSubmenu.hide();oSubmenu.parent.focus();}else {this.clearActiveItem();oItem.cfg.setProperty("selected", true);oSubmenu.show();oSubmenu.setInitialFocus();}}else {var sURL = oItemCfg.getProperty("url"),bCurrentPageURL = (sURL.substr((sURL.length-1),1) == "#"),sTarget = oItemCfg.getProperty("target"),bHasTarget = (sTarget && sTarget.length > 0);if(oTarget.tagName.toUpperCase() == "A" && bCurrentPageURL && !bHasTarget) {Event.preventDefault(oEvent);oItem.focus();}if(oTarget.tagName.toUpperCase() != "A" && !bCurrentPageURL && !bHasTarget) {document.location = sURL;}if(bCurrentPageURL && !oSubmenu) {var oRoot = this.getRoot();if(oRoot.cfg.getProperty("position") == "static") {oRoot.clearActiveItem();}else if(oRoot.cfg.getProperty("clicktohide")) {oRoot.hide();}}}                    }},_onKeyDown: function(p_sType, p_aArgs, p_oMenu) {var oEvent = p_aArgs[0],oItem = p_aArgs[1],me = this,oSubmenu;function stopMouseEventHandlers() {me._bStopMouseEventHandlers = true;window.setTimeout(function() {me._bStopMouseEventHandlers = false;}, 10);}if(oItem && !oItem.cfg.getProperty("disabled")) {var oItemCfg = oItem.cfg,oParentItem = this.parent,oRoot,oNextItem;switch(oEvent.keyCode) {case 38:    case 40:    oNextItem = (oEvent.keyCode == 38) ? oItem.getPreviousEnabledSibling() : oItem.getNextEnabledSibling();if(oNextItem) {this.clearActiveItem();oNextItem.cfg.setProperty("selected", true);oNextItem.focus();if(this.cfg.getProperty("maxheight") > 0) {var oBody = this.body;oBody.scrollTop = (oNextItem.element.offsetTop + oNextItem.element.offsetHeight) - oBody.offsetHeight;var nScrollTop = oBody.scrollTop,nScrollTarget = oBody.scrollHeight - oBody.offsetHeight;if(nScrollTop === 0) {this._disableScrollHeader();this._enableScrollFooter();}else if(nScrollTop == nScrollTarget) {this._enableScrollHeader();this._disableScrollFooter();}else {this._enableScrollHeader();this._enableScrollFooter();}}}Event.preventDefault(oEvent);stopMouseEventHandlers();break;case 39:    oSubmenu = oItemCfg.getProperty("submenu");if(oSubmenu) {if(!oItemCfg.getProperty("selected")) {oItemCfg.setProperty("selected", true);}oSubmenu.show();oSubmenu.setInitialFocus();oSubmenu.setInitialSelection();}else {oRoot = this.getRoot();if(oRoot instanceof YAHOO.widget.MenuBar) {oNextItem = oRoot.activeItem.getNextEnabledSibling();if(oNextItem) {oRoot.clearActiveItem();oNextItem.cfg.setProperty("selected", true);oSubmenu = oNextItem.cfg.getProperty("submenu");if(oSubmenu) {oSubmenu.show();}oNextItem.focus();}}}Event.preventDefault(oEvent);stopMouseEventHandlers();break;case 37:    if(oParentItem) {var oParentMenu = oParentItem.parent;if(oParentMenu instanceof YAHOO.widget.MenuBar) {oNextItem = oParentMenu.activeItem.getPreviousEnabledSibling();if(oNextItem) {oParentMenu.clearActiveItem();oNextItem.cfg.setProperty("selected", true);oSubmenu = oNextItem.cfg.getProperty("submenu");if(oSubmenu) {oSubmenu.show();}oNextItem.focus();} }else {this.hide();oParentItem.focus();}}Event.preventDefault(oEvent);stopMouseEventHandlers();break;        }}if(oEvent.keyCode == 27) { if(this.cfg.getProperty("position") == "dynamic") {this.hide();if(this.parent) {this.parent.focus();}}else if(this.activeItem) {oSubmenu = this.activeItem.cfg.getProperty("submenu");if(oSubmenu && oSubmenu.cfg.getProperty("visible")) {oSubmenu.hide();this.activeItem.focus();}else {this.activeItem.blur();this.activeItem.cfg.setProperty("selected", false);}}Event.preventDefault(oEvent);}},_onKeyPress: function(p_sType, p_aArgs, p_oMenu) {var oEvent = p_aArgs[0];if(oEvent.keyCode == 40 || oEvent.keyCode == 38) {YAHOO.util.Event.preventDefault(oEvent);}},_onTextResize: function(p_sType, p_aArgs, p_oMenu) {if(this.browser == "gecko" && !this._handleResize) {this._handleResize = true;return;}var oConfig = this.cfg;if(oConfig.getProperty("position") == "dynamic") {oConfig.setProperty("width", (this._getOffsetWidth() + "px"));}},_onScrollTargetMouseOver: function(p_oEvent, p_oMenu) {this._cancelHideDelay();var oTarget = Event.getTarget(p_oEvent),oBody = this.body,me = this,nScrollTarget,fnScrollFunction;function scrollBodyDown() {var nScrollTop = oBody.scrollTop;if(nScrollTop < nScrollTarget) {oBody.scrollTop = (nScrollTop + 1);me._enableScrollHeader();}else {oBody.scrollTop = nScrollTarget;window.clearInterval(me._nBodyScrollId);me._disableScrollFooter();}}function scrollBodyUp() {var nScrollTop = oBody.scrollTop;if(nScrollTop > 0) {oBody.scrollTop = (nScrollTop - 1);me._enableScrollFooter();}else {oBody.scrollTop = 0;window.clearInterval(me._nBodyScrollId);me._disableScrollHeader();}}if(Dom.hasClass(oTarget, "hd")) {fnScrollFunction = scrollBodyUp;}else {nScrollTarget = oBody.scrollHeight - oBody.offsetHeight;fnScrollFunction = scrollBodyDown;}this._nBodyScrollId = window.setInterval(fnScrollFunction, 10);},_onScrollTargetMouseOut: function(p_oEvent, p_oMenu) {window.clearInterval(this._nBodyScrollId);this._cancelHideDelay();},_onInit: function(p_sType, p_aArgs, p_oMenu) {this.cfg.subscribeToConfigEvent("width", this._onWidthChange);this.cfg.subscribeToConfigEvent("visible", this._onVisibleChange);if(((this.parent && !this.lazyLoad) || (!this.parent && this.cfg.getProperty("position") == "static") ||(!this.parent && !this.lazyLoad && this.cfg.getProperty("position") == "dynamic") ) && this.getItemGroups().length === 0) {if(this.srcElement) {this._initSubTree();}if(this.itemData) {this.addItems(this.itemData);}}else if(this.lazyLoad) {this.cfg.fireQueue();}},_onBeforeRender: function(p_sType, p_aArgs, p_oMenu) {var oConfig = this.cfg,oEl = this.element,nListElements = this._aListElements.length;if(nListElements > 0) {var i = 0,bFirstList = true,oUL,oGroupTitle;do {oUL = this._aListElements[i];if(oUL) {if(bFirstList) {Dom.addClass(oUL, "first-of-type");bFirstList = false;}if(!Dom.isAncestor(oEl, oUL)) {this.appendToBody(oUL);}oGroupTitle = this._aGroupTitleElements[i];if(oGroupTitle) {if(!Dom.isAncestor(oEl, oGroupTitle)) {oUL.parentNode.insertBefore(oGroupTitle, oUL);}Dom.addClass(oUL, "hastitle");}}i++;}while(i < nListElements);}},_onRender: function(p_sType, p_aArgs) {if (this.cfg.getProperty("position") == "dynamic" && !this.cfg.getProperty("width")) {this._setWidth();}},_onBeforeShow: function(p_sType, p_aArgs, p_oMenu) {if(this.lazyLoad && this.getItemGroups().length === 0) {if(this.srcElement) {this._initSubTree();}if(this.itemData) {if(this.parent && this.parent.parent && this.parent.parent.srcElement && this.parent.parent.srcElement.tagName.toUpperCase() == "SELECT") {var nOptions = this.itemData.length;for(var n=0; n<nOptions; n++) {if(this.itemData[n].tagName) {this.addItem((new this.ITEM_TYPE(this.itemData[n])));}}}else {this.addItems(this.itemData);}}var oSrcElement = this.srcElement;if(oSrcElement) {if(oSrcElement.tagName.toUpperCase() == "SELECT") {if(Dom.inDocument(oSrcElement)) {this.render(oSrcElement.parentNode);}else {this.render(this.cfg.getProperty("container"));}}else {this.render();}}else {if(this.parent) {this.render(this.parent.element);            }else {this.render(this.cfg.getProperty("container"));this.cfg.refireEvent("xy");}                }}if(this.cfg.getProperty("position") == "dynamic") {var nViewportHeight = Dom.getViewportHeight();if(this.parent && this.parent.parent instanceof YAHOO.widget.MenuBar) {var oRegion = YAHOO.util.Region.getRegion(this.parent.element);nViewportHeight = (nViewportHeight - oRegion.bottom);}if(this.element.offsetHeight >= nViewportHeight) {var nMaxHeight = this.cfg.getProperty("maxheight");this._nMaxHeight = nMaxHeight;this.cfg.setProperty("maxheight", (nViewportHeight - 20));}if(this.cfg.getProperty("maxheight") > 0) {var oBody = this.body;if(oBody.scrollTop > 0) {oBody.scrollTop = 0;}this._disableScrollHeader();this._enableScrollFooter();}}},_onShow: function(p_sType, p_aArgs, p_oMenu) {var oParent = this.parent;if(oParent) {var oParentMenu = oParent.parent,aParentAlignment = oParentMenu.cfg.getProperty("submenualignment"),aAlignment = this.cfg.getProperty("submenualignment");if((aParentAlignment[0] != aAlignment[0]) &&(aParentAlignment[1] != aAlignment[1])) {this.cfg.setProperty("submenualignment", [ aParentAlignment[0], aParentAlignment[1] ]);}if(!oParentMenu.cfg.getProperty("autosubmenudisplay") && oParentMenu.cfg.getProperty("position") == "static") {oParentMenu.cfg.setProperty("autosubmenudisplay", true);function disableAutoSubmenuDisplay(p_oEvent) {if(p_oEvent.type == "mousedown" || (p_oEvent.type == "keydown" && p_oEvent.keyCode == 27)) {var oTarget = Event.getTarget(p_oEvent);if(oTarget != oParentMenu.element || !YAHOO.util.Dom.isAncestor(oParentMenu.element, oTarget)) {oParentMenu.cfg.setProperty("autosubmenudisplay", false);Event.removeListener(document, "mousedown", disableAutoSubmenuDisplay);Event.removeListener(document, "keydown", disableAutoSubmenuDisplay);}}}Event.on(document, "mousedown", disableAutoSubmenuDisplay);                             Event.on(document, "keydown", disableAutoSubmenuDisplay);}}},_onBeforeHide: function(p_sType, p_aArgs, p_oMenu) {var oActiveItem = this.activeItem;if(oActiveItem) {var oConfig = oActiveItem.cfg;oConfig.setProperty("selected", false);var oSubmenu = oConfig.getProperty("submenu");if(oSubmenu) {oSubmenu.hide();}}if (this == this.getRoot()) {this.blur();}},_onHide: function(p_sType, p_aArgs, p_oMenu) {if(this._nMaxHeight != -1) {this.cfg.setProperty("maxheight", this._nMaxHeight);this._nMaxHeight = -1;}},_onParentMenuConfigChange: function(p_sType, p_aArgs, p_oSubmenu) {var sPropertyName = p_aArgs[0][0],oPropertyValue = p_aArgs[0][1];switch(sPropertyName) {case "iframe":case "constraintoviewport":case "hidedelay":case "showdelay":case "submenuhidedelay":case "clicktohide":case "effect":case "classname":p_oSubmenu.cfg.setProperty(sPropertyName, oPropertyValue);break;        }},_onParentMenuRender: function(p_sType, p_aArgs, p_oSubmenu) {var oParentMenu = p_oSubmenu.parent.parent,oConfig = {constraintoviewport: oParentMenu.cfg.getProperty("constraintoviewport"),xy: [0,0],clicktohide: oParentMenu.cfg.getProperty("clicktohide"),effect: oParentMenu.cfg.getProperty("effect"),showdelay: oParentMenu.cfg.getProperty("showdelay"),hidedelay: oParentMenu.cfg.getProperty("hidedelay"),submenuhidedelay: oParentMenu.cfg.getProperty("submenuhidedelay"),classname: oParentMenu.cfg.getProperty("classname")};if(this.cfg.getProperty("position") == oParentMenu.cfg.getProperty("position")) {oConfig.iframe = oParentMenu.cfg.getProperty("iframe");}p_oSubmenu.cfg.applyConfig(oConfig);if(!this.lazyLoad) {var oLI = this.parent.element;if(this.element.parentNode == oLI) {this.render();}else {this.render(oLI);}}},_onSubmenuBeforeShow: function(p_sType, p_aArgs, p_oSubmenu) {var oParent = this.parent,aAlignment = oParent.parent.cfg.getProperty("submenualignment");this.cfg.setProperty("context", [oParent.element, aAlignment[0], aAlignment[1]]);var nScrollTop = oParent.parent.body.scrollTop;if((this.browser == "gecko" || this.browser == "safari") && nScrollTop > 0) {this.cfg.setProperty("y", (this.cfg.getProperty("y") - nScrollTop));}},_onSubmenuShow: function(p_sType, p_aArgs) {this.submenuIndicator.firstChild.nodeValue = this.EXPANDED_SUBMENU_INDICATOR_TEXT;},_onSubmenuHide: function(p_sType, p_aArgs) {this.submenuIndicator.firstChild.nodeValue =this.COLLAPSED_SUBMENU_INDICATOR_TEXT;},_onMenuItemFocus: function(p_sType, p_aArgs) {this.parent.focusEvent.fire(this);},_onMenuItemBlur: function(p_sType, p_aArgs) {this.parent.blurEvent.fire(this);},_onMenuItemConfigChange: function(p_sType, p_aArgs, p_oItem) {var sPropertyName = p_aArgs[0][0],oPropertyValue = p_aArgs[0][1];switch(sPropertyName) {case "selected":if (oPropertyValue === true) {this.activeItem = p_oItem;}break;case "submenu":var oSubmenu = p_aArgs[0][1];if(oSubmenu) {this._configureSubmenu(p_oItem);}break;case "text":case "helptext":if(this.element.style.width) {var sWidth = this._getOffsetWidth() + "px";Dom.setStyle(this.element, "width", sWidth);}break;}},enforceConstraints: function(type, args, obj) {if(this.parent && !(this.parent.parent instanceof YAHOO.widget.MenuBar)) {var oConfig = this.cfg,pos = args[0],x = pos[0],y = pos[1],offsetHeight = this.element.offsetHeight,offsetWidth = this.element.offsetWidth,viewPortWidth = YAHOO.util.Dom.getViewportWidth(),viewPortHeight = YAHOO.util.Dom.getViewportHeight(),scrollX = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft),scrollY = Math.max(document.documentElement.scrollTop, document.body.scrollTop),nPadding = (this.parent && this.parent.parent instanceof YAHOO.widget.MenuBar) ? 0 : 10,topConstraint = scrollY + nPadding,leftConstraint = scrollX + nPadding,bottomConstraint = scrollY + viewPortHeight - offsetHeight - nPadding,rightConstraint = scrollX + viewPortWidth - offsetWidth - nPadding,aContext = oConfig.getProperty("context"),oContextElement = aContext ? aContext[0] : null;if (x < 10) {x = leftConstraint;} else if ((x + offsetWidth) > viewPortWidth) {if(oContextElement &&((x - oContextElement.offsetWidth) > offsetWidth)) {x = (x - (oContextElement.offsetWidth + offsetWidth));}else {x = rightConstraint;}}if (y < 10) {y = topConstraint;} else if (y > bottomConstraint) {if(oContextElement && (y > offsetHeight)) {y = ((y + oContextElement.offsetHeight) - offsetHeight);}else {y = bottomConstraint;}}oConfig.setProperty("x", x, true);oConfig.setProperty("y", y, true);oConfig.setProperty("xy", [x,y], true);}},configVisible: function(p_sType, p_aArgs, p_oMenu) {if(this.cfg.getProperty("position") == "dynamic") {YAHOO.widget.Menu.superclass.configVisible.call(this, p_sType, p_aArgs, p_oMenu);}else {var bVisible = p_aArgs[0],	    sDisplay = Dom.getStyle(this.element, "display");if(bVisible) {if(sDisplay != "block") {this.beforeShowEvent.fire();Dom.setStyle(this.element, "display", "block");this.showEvent.fire();}}else {			if(sDisplay == "block") {				this.beforeHideEvent.fire();				Dom.setStyle(this.element, "display", "none");				this.hideEvent.fire();			}}}},configPosition: function(p_sType, p_aArgs, p_oMenu) {var sCSSPosition = p_aArgs[0] == "static" ? "static" : "absolute",oCfg = this.cfg;Dom.setStyle(this.element, "position", sCSSPosition);if(sCSSPosition == "static") {oCfg.setProperty("iframe", false);Dom.setStyle(this.element, "display", "block");oCfg.setProperty("visible", true);}else {Dom.setStyle(this.element, "visibility", "hidden");}if(sCSSPosition == "absolute") {var nZIndex = oCfg.getProperty("zindex");if(!nZIndex || nZIndex === 0) {nZIndex = this.parent ? (this.parent.parent.cfg.getProperty("zindex") + 1) : 1;oCfg.setProperty("zindex", nZIndex);}}},configIframe: function(p_sType, p_aArgs, p_oMenu) {    if(this.cfg.getProperty("position") == "dynamic") {YAHOO.widget.Menu.superclass.configIframe.call(this, p_sType, p_aArgs, p_oMenu);}},configHideDelay: function(p_sType, p_aArgs, p_oMenu) {var nHideDelay = p_aArgs[0],oMouseOutEvent = this.mouseOutEvent,oMouseOverEvent = this.mouseOverEvent,oKeyDownEvent = this.keyDownEvent;if(nHideDelay > 0) {if(!this._bHideDelayEventHandlersAssigned) {oMouseOutEvent.subscribe(this._execHideDelay, this);oMouseOverEvent.subscribe(this._cancelHideDelay, this, true);oKeyDownEvent.subscribe(this._cancelHideDelay, this, true);this._bHideDelayEventHandlersAssigned = true;}}else {oMouseOutEvent.unsubscribe(this._execHideDelay, this);oMouseOverEvent.unsubscribe(this._cancelHideDelay, this);oKeyDownEvent.unsubscribe(this._cancelHideDelay, this);this._bHideDelayEventHandlersAssigned = false;}},configContainer: function(p_sType, p_aArgs, p_oMenu) {	var oElement = p_aArgs[0];	if(typeof oElement == 'string') {this.cfg.setProperty("container", document.getElementById(oElement), true);	}},_setMaxHeight: function(p_sType, p_aArgs, p_nMaxHeight) {this.cfg.setProperty("maxheight", p_nMaxHeight);this.renderEvent.unsubscribe(this._setMaxHeight);},configMaxHeight: function(p_sType, p_aArgs, p_oMenu) {var nMaxHeight = p_aArgs[0],oBody = this.body;if(this.lazyLoad && !oBody) {this.renderEvent.unsubscribe(this._setMaxHeight);if(nMaxHeight > 0) {this.renderEvent.subscribe(this._setMaxHeight, nMaxHeight, this);}return;}Dom.setStyle(oBody, "height", "auto");Dom.setStyle(oBody, "overflow", "visible");    var oHeader = this.header,oFooter = this.footer,fnMouseOver = this._onScrollTargetMouseOver,fnMouseOut = this._onScrollTargetMouseOut;if((nMaxHeight > 0) && (oBody.offsetHeight > nMaxHeight)) {if(!this.cfg.getProperty("width")) {this._setWidth();}if(!oHeader && !oFooter) {this.setHeader("&#32;");this.setFooter("&#32;");oHeader = this.header;oFooter = this.footer;Dom.addClass(oHeader, "topscrollbar");Dom.addClass(oFooter, "bottomscrollbar");this.element.insertBefore(oHeader, oBody);this.element.appendChild(oFooter);Event.on(oHeader, "mouseover", fnMouseOver, this, true);Event.on(oHeader, "mouseout", fnMouseOut, this, true);Event.on(oFooter, "mouseover", fnMouseOver, this, true);Event.on(oFooter, "mouseout", fnMouseOut, this, true);}var nHeight = (nMaxHeight - (this.footer.offsetHeight + this.header.offsetHeight));Dom.setStyle(oBody, "height", (nHeight + "px"));Dom.setStyle(oBody, "overflow", "hidden");}else if(oHeader && oFooter) {Dom.setStyle(oBody, "height", "auto");Dom.setStyle(oBody, "overflow", "visible");Event.removeListener(oHeader, "mouseover", fnMouseOver);Event.removeListener(oHeader, "mouseout", fnMouseOut);Event.removeListener(oFooter, "mouseover", fnMouseOver);Event.removeListener(oFooter, "mouseout", fnMouseOut);this.element.removeChild(oHeader);this.element.removeChild(oFooter);this.header = null;this.footer = null;}},configClassName: function(p_sType, p_aArgs, p_oMenu) {var sClassName = p_aArgs[0];if(this._sClassName) {Dom.removeClass(this.element, this._sClassName);}Dom.addClass(this.element, sClassName);this._sClassName = sClassName;},initEvents: function() {	YAHOO.widget.Menu.superclass.initEvents.call(this);var EVENT_TYPES = YAHOO.widget.Menu._EVENT_TYPES;this.mouseOverEvent = new CustomEvent(EVENT_TYPES.MOUSE_OVER, this);this.mouseOutEvent = new CustomEvent(EVENT_TYPES.MOUSE_OUT, this);this.mouseDownEvent = new CustomEvent(EVENT_TYPES.MOUSE_DOWN, this);this.mouseUpEvent = new CustomEvent(EVENT_TYPES.MOUSE_UP, this);this.clickEvent = new CustomEvent(EVENT_TYPES.CLICK, this);this.keyPressEvent = new CustomEvent(EVENT_TYPES.KEY_PRESS, this);this.keyDownEvent = new CustomEvent(EVENT_TYPES.KEY_DOWN, this);this.keyUpEvent = new CustomEvent(EVENT_TYPES.KEY_UP, this);this.focusEvent = new CustomEvent(EVENT_TYPES.FOCUS, this);this.blurEvent = new CustomEvent(EVENT_TYPES.BLUR, this);this.itemAddedEvent = new CustomEvent(EVENT_TYPES.ITEM_ADDED, this);this.itemRemovedEvent = new CustomEvent(EVENT_TYPES.ITEM_REMOVED, this);},getRoot: function() {var oItem = this.parent;if(oItem) {var oParentMenu = oItem.parent;return oParentMenu ? oParentMenu.getRoot() : this;}else {return this;}},toString: function() {var sReturnVal = "Menu",sId = this.id;if(sId) {sReturnVal += (" " + sId);}return sReturnVal;},setItemGroupTitle: function(p_sGroupTitle, p_nGroupIndex) {if(typeof p_sGroupTitle == "string" && p_sGroupTitle.length > 0) {var nGroupIndex = typeof p_nGroupIndex == "number" ? p_nGroupIndex : 0,oTitle = this._aGroupTitleElements[nGroupIndex];if(oTitle) {oTitle.innerHTML = p_sGroupTitle;}else {oTitle = document.createElement(this.GROUP_TITLE_TAG_NAME);oTitle.innerHTML = p_sGroupTitle;this._aGroupTitleElements[nGroupIndex] = oTitle;}var i = this._aGroupTitleElements.length - 1,nFirstIndex;do {if(this._aGroupTitleElements[i]) {Dom.removeClass(this._aGroupTitleElements[i], "first-of-type");nFirstIndex = i;}}while(i--);if(nFirstIndex !== null) {Dom.addClass(this._aGroupTitleElements[nFirstIndex], "first-of-type");}}},addItem: function(p_oItem, p_nGroupIndex) {if(p_oItem) {return this._addItemToGroup(p_nGroupIndex, p_oItem);}},addItems: function(p_aItems, p_nGroupIndex) {if(Lang.isArray(p_aItems)) {var nItems = p_aItems.length,aItems = [],oItem;for(var i=0; i<nItems; i++) {oItem = p_aItems[i];if(oItem) {if(Lang.isArray(oItem)) {aItems[aItems.length] = this.addItems(oItem, i);}else {aItems[aItems.length] = this._addItemToGroup(p_nGroupIndex, oItem);}}}if(aItems.length) {return aItems;}}},insertItem: function(p_oItem, p_nItemIndex, p_nGroupIndex) {if(p_oItem) {return this._addItemToGroup(p_nGroupIndex, p_oItem, p_nItemIndex);}},removeItem: function(p_oObject, p_nGroupIndex) {if(typeof p_oObject != "undefined") {var oItem;if(p_oObject instanceof YAHOO.widget.MenuItem) {oItem = this._removeItemFromGroupByValue(p_nGroupIndex, p_oObject);           }else if(typeof p_oObject == "number") {oItem = this._removeItemFromGroupByIndex(p_nGroupIndex, p_oObject);}if(oItem) {oItem.destroy();return oItem;}}},getItems: function() {var aGroups = this._aItemGroups,nGroups = aGroups.length;return ((nGroups == 1) ? aGroups[0] : (Array.prototype.concat.apply([], aGroups)));},getItemGroups: function() {return this._aItemGroups;},getItem: function(p_nItemIndex, p_nGroupIndex) {if(typeof p_nItemIndex == "number") {var aGroup = this._getItemGroup(p_nGroupIndex);if(aGroup) {return aGroup[p_nItemIndex];}}},clearContent: function() {var aItems = this.getItems(),nItems = aItems.length,oElement = this.element,oBody = this.body,oHeader = this.header,oFooter = this.footer;if(nItems > 0) {var i = nItems - 1,oItem,oSubmenu;do {oItem = aItems[i];if(oItem) {oSubmenu = oItem.cfg.getProperty("submenu");if(oSubmenu) {this.cfg.configChangedEvent.unsubscribe(this._onParentMenuConfigChange, oSubmenu);this.renderEvent.unsubscribe(this._onParentMenuRender, oSubmenu);}oItem.destroy();}}while(i--);}if(oHeader) {Event.purgeElement(oHeader);oElement.removeChild(oHeader);}if(oFooter) {Event.purgeElement(oFooter);oElement.removeChild(oFooter);}if(oBody) {Event.purgeElement(oBody);oBody.innerHTML = "";}this._aItemGroups = [];this._aListElements = [];this._aGroupTitleElements = [];this.cfg.setProperty("width", null);},destroy: function() {Event.purgeElement(this.element);this.mouseOverEvent.unsubscribeAll();this.mouseOutEvent.unsubscribeAll();this.mouseDownEvent.unsubscribeAll();this.mouseUpEvent.unsubscribeAll();this.clickEvent.unsubscribeAll();this.keyPressEvent.unsubscribeAll();this.keyDownEvent.unsubscribeAll();this.keyUpEvent.unsubscribeAll();this.focusEvent.unsubscribeAll();this.blurEvent.unsubscribeAll();this.itemAddedEvent.unsubscribeAll();this.itemRemovedEvent.unsubscribeAll();this.cfg.unsubscribeFromConfigEvent("width", this._onWidthChange);this.cfg.unsubscribeFromConfigEvent("visible", this._onVisibleChange);if (this._hasSetWidthHandlers) {this.itemAddedEvent.unsubscribe(this._setWidth);this.itemRemovedEvent.unsubscribe(this._setWidth);this._hasSetWidthHandlers = false;}YAHOO.widget.Module.textResizeEvent.unsubscribe(this._onTextResize, this);this.clearContent();this._aItemGroups = null;this._aListElements = null;this._aGroupTitleElements = null;YAHOO.widget.Menu.superclass.destroy.call(this);},setInitialFocus: function() {var oItem = this._getFirstEnabledItem();if (oItem) {oItem.focus();}},setInitialSelection: function() {var oItem = this._getFirstEnabledItem();if(oItem) {oItem.cfg.setProperty("selected", true);}        },clearActiveItem: function(p_bBlur) {if(this.cfg.getProperty("showdelay") > 0) {this._cancelShowDelay();}var oActiveItem = this.activeItem;if(oActiveItem) {var oConfig = oActiveItem.cfg;if(p_bBlur) {oActiveItem.blur();}oConfig.setProperty("selected", false);var oSubmenu = oConfig.getProperty("submenu");if(oSubmenu) {oSubmenu.hide();}this.activeItem = null;            }},focus: function() {if (!this.hasFocus()) {this.setInitialFocus();}},blur: function() {if (this.hasFocus()) {var oItem = YAHOO.widget.MenuManager.getFocusedMenuItem();if (oItem) {oItem.blur();}}},hasFocus: function() {return (YAHOO.widget.MenuManager.getFocusedMenu() == this.getRoot());},initDefaultConfig: function() {YAHOO.widget.Menu.superclass.initDefaultConfig.call(this);var oConfig = this.cfg,DEFAULT_CONFIG = YAHOO.widget.Menu._DEFAULT_CONFIG;	oConfig.addProperty(DEFAULT_CONFIG.VISIBLE.key, {handler: this.configVisible, value: DEFAULT_CONFIG.VISIBLE.value, validator: DEFAULT_CONFIG.VISIBLE.validator});oConfig.addProperty(DEFAULT_CONFIG.CONSTRAIN_TO_VIEWPORT.key, {handler: this.configConstrainToViewport, value: DEFAULT_CONFIG.CONSTRAIN_TO_VIEWPORT.value, validator: DEFAULT_CONFIG.CONSTRAIN_TO_VIEWPORT.validator, supercedes: DEFAULT_CONFIG.CONSTRAIN_TO_VIEWPORT.supercedes } );oConfig.addProperty(DEFAULT_CONFIG.POSITION.key, {handler: this.configPosition,value: DEFAULT_CONFIG.POSITION.value, validator: DEFAULT_CONFIG.POSITION.validator,supercedes: DEFAULT_CONFIG.POSITION.supercedes});oConfig.addProperty(DEFAULT_CONFIG.SUBMENU_ALIGNMENT.key, { value: DEFAULT_CONFIG.SUBMENU_ALIGNMENT.value });	oConfig.addProperty(	   DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.key, 	   { 	       value: DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.value, 	       validator: DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.validator} );	oConfig.addProperty(	   DEFAULT_CONFIG.SHOW_DELAY.key, 	   { 	       value: DEFAULT_CONFIG.SHOW_DELAY.value, 	       validator: DEFAULT_CONFIG.SHOW_DELAY.validator} );	oConfig.addProperty(	   DEFAULT_CONFIG.HIDE_DELAY.key, 	   { 	       handler: this.configHideDelay,	       value: DEFAULT_CONFIG.HIDE_DELAY.value, 	       validator: DEFAULT_CONFIG.HIDE_DELAY.validator, 	       suppressEvent: DEFAULT_CONFIG.HIDE_DELAY.suppressEvent} );	oConfig.addProperty(	   DEFAULT_CONFIG.SUBMENU_HIDE_DELAY.key, 	   { 	       value: DEFAULT_CONFIG.SUBMENU_HIDE_DELAY.value, 	       validator: DEFAULT_CONFIG.SUBMENU_HIDE_DELAY.validator} );oConfig.addProperty(DEFAULT_CONFIG.CLICK_TO_HIDE.key,{value: DEFAULT_CONFIG.CLICK_TO_HIDE.value,validator: DEFAULT_CONFIG.CLICK_TO_HIDE.validator});		oConfig.addProperty(	   DEFAULT_CONFIG.CONTAINER.key, 	   { 	       handler: this.configContainer,	       value: document.body} );oConfig.addProperty(DEFAULT_CONFIG.MAX_HEIGHT.key, {handler: this.configMaxHeight,value: DEFAULT_CONFIG.MAX_HEIGHT.value,validator: DEFAULT_CONFIG.MAX_HEIGHT.validator} );oConfig.addProperty(DEFAULT_CONFIG.CLASS_NAME.key, { handler: this.configClassName,value: DEFAULT_CONFIG.CLASS_NAME.value, validator: DEFAULT_CONFIG.CLASS_NAME.validator});}}); })();(function() {var Dom = YAHOO.util.Dom,Module = YAHOO.widget.Module,Menu = YAHOO.widget.Menu,CustomEvent = YAHOO.util.CustomEvent,Lang = YAHOO.lang;YAHOO.widget.MenuItem = function(p_oObject, p_oConfig) {if(p_oObject) {if(p_oConfig) {this.parent = p_oConfig.parent;this.value = p_oConfig.value;this.id = p_oConfig.id;}this.init(p_oObject, p_oConfig);}};YAHOO.widget.MenuItem._EVENT_TYPES = {"MOUSE_OVER": "mouseover","MOUSE_OUT": "mouseout","MOUSE_DOWN": "mousedown","MOUSE_UP": "mouseup","CLICK": "click","KEY_PRESS": "keypress","KEY_DOWN": "keydown","KEY_UP": "keyup","ITEM_ADDED": "itemAdded","ITEM_REMOVED": "itemRemoved","FOCUS": "focus","BLUR": "blur","DESTROY": "destroy"};YAHOO.widget.MenuItem._DEFAULT_CONFIG = {"TEXT": { key: "text", value: "", validator: Lang.isString, suppressEvent: true }, "HELP_TEXT": { key: "helptext" },"URL": { key: "url", value: "#", suppressEvent: true }, "TARGET": { key: "target", suppressEvent: true }, "EMPHASIS": { key: "emphasis", value: false, validator: Lang.isBoolean, suppressEvent: true }, "STRONG_EMPHASIS": { key: "strongemphasis", value: false, validator: Lang.isBoolean, suppressEvent: true },"CHECKED": { key: "checked", value: false, validator: Lang.isBoolean, suppressEvent: true, supercedes:["disabled"]}, "DISABLED": { key: "disabled", value: false, validator: Lang.isBoolean, suppressEvent: true},"SELECTED": { key: "selected", value: false, validator: Lang.isBoolean, suppressEvent: true},"SUBMENU": { key: "submenu"},"ONCLICK": { key: "onclick"},"CLASS_NAME": { key: "classname", value: null, validator: Lang.isString}};YAHOO.widget.MenuItem.prototype = {COLLAPSED_SUBMENU_INDICATOR_TEXT: "Submenu collapsed.  Click to expand submenu.",EXPANDED_SUBMENU_INDICATOR_TEXT: "Submenu expanded.  Click to collapse submenu.",DISABLED_SUBMENU_INDICATOR_TEXT: "Submenu collapsed.  (Item disabled.)",CHECKED_TEXT: "Menu item checked.",DISABLED_CHECKED_TEXT: "Checked. (Item disabled.)",CSS_CLASS_NAME: "yuimenuitem",SUBMENU_TYPE: null,_oAnchor: null,_oText: null,_oHelpTextEM: null,_oSubmenu: null,_oCheckedIndicator: null,_oOnclickAttributeValue: null,_sClassName: null,		constructor: YAHOO.widget.MenuItem,index: null,groupIndex: null,parent: null,element: null,srcElement: null,value: null,submenuIndicator: null,		browser: Module.prototype.browser,id: null,destroyEvent: null,mouseOverEvent: null,mouseOutEvent: null,mouseDownEvent: null,mouseUpEvent: null,clickEvent: null,keyPressEvent: null,keyDownEvent: null,keyUpEvent: null,focusEvent: null,blurEvent: null,init: function(p_oObject, p_oConfig) {if(!this.SUBMENU_TYPE) {this.SUBMENU_TYPE = Menu;}this.cfg = new YAHOO.util.Config(this);this.initDefaultConfig();var oConfig = this.cfg;if(Lang.isString(p_oObject)) {this._createRootNodeStructure();oConfig.setProperty("text", p_oObject);}else if(this._checkDOMNode(p_oObject)) {switch(p_oObject.tagName.toUpperCase()) {case "OPTION":this._createRootNodeStructure();oConfig.setProperty("text", p_oObject.text);this.srcElement = p_oObject;break;case "OPTGROUP":this._createRootNodeStructure();oConfig.setProperty("text", p_oObject.label);this.srcElement = p_oObject;this._initSubTree();break;case "LI":var oAnchor = this._getFirstElement(p_oObject, "A"),sURL = "#",sTarget,sText;if(oAnchor) {sURL = oAnchor.getAttribute("href");sTarget = oAnchor.getAttribute("target");if(oAnchor.innerText) {sText = oAnchor.innerText;}else {var oRange = oAnchor.ownerDocument.createRange();oRange.selectNodeContents(oAnchor);sText = oRange.toString();             }}else {var oText = p_oObject.firstChild;sText = oText.nodeValue;oAnchor = document.createElement("a");oAnchor.setAttribute("href", sURL);p_oObject.replaceChild(oAnchor, oText);oAnchor.appendChild(oText);}this.srcElement = p_oObject;this.element = p_oObject;this._oAnchor = oAnchor;var oEmphasisNode = this._getFirstElement(oAnchor),bEmphasis = false,bStrongEmphasis = false;if(oEmphasisNode) {this._oText = oEmphasisNode.firstChild;switch(oEmphasisNode.tagName.toUpperCase()) {case "EM":bEmphasis = true;break;case "STRONG":bStrongEmphasis = true;break;}}else {this._oText = oAnchor.firstChild;}oConfig.setProperty("text", sText, true);oConfig.setProperty("url", sURL, true);oConfig.setProperty("target", sTarget, true);oConfig.setProperty("emphasis", bEmphasis, true);oConfig.setProperty("strongemphasis", bStrongEmphasis, true);this._initSubTree();break;}            }if(this.element) {var sId = this.element.id;if(!sId) {sId = this.id || Dom.generateId();this.element.id = sId;}this.id = sId;Dom.addClass(this.element, this.CSS_CLASS_NAME);var EVENT_TYPES = YAHOO.widget.MenuItem._EVENT_TYPES;this.mouseOverEvent = new CustomEvent(EVENT_TYPES.MOUSE_OVER, this);this.mouseOutEvent = new CustomEvent(EVENT_TYPES.MOUSE_OUT, this);this.mouseDownEvent = new CustomEvent(EVENT_TYPES.MOUSE_DOWN, this);this.mouseUpEvent = new CustomEvent(EVENT_TYPES.MOUSE_UP, this);this.clickEvent = new CustomEvent(EVENT_TYPES.CLICK, this);this.keyPressEvent = new CustomEvent(EVENT_TYPES.KEY_PRESS, this);this.keyDownEvent = new CustomEvent(EVENT_TYPES.KEY_DOWN, this);this.keyUpEvent = new CustomEvent(EVENT_TYPES.KEY_UP, this);this.focusEvent = new CustomEvent(EVENT_TYPES.FOCUS, this);this.blurEvent = new CustomEvent(EVENT_TYPES.BLUR, this);this.destroyEvent = new CustomEvent(EVENT_TYPES.DESTROY, this);if(p_oConfig) {oConfig.applyConfig(p_oConfig);}        oConfig.fireQueue();}},_getFirstElement: function(p_oElement, p_sTagName) {var oFirstChild = p_oElement.firstChild,oElement;if(oFirstChild) {if(oFirstChild.nodeType == 1) {oElement = oFirstChild;}else {var oNextSibling = oFirstChild.nextSibling;if(oNextSibling && oNextSibling.nodeType == 1) {oElement = oNextSibling;}}}if(p_sTagName) {return (oElement && oElement.tagName.toUpperCase() == p_sTagName) ? oElement : false;}return oElement;},    _checkDOMNode: function(p_oObject) {return (p_oObject && p_oObject.tagName);},_createRootNodeStructure: function () {var oTemplate = YAHOO.widget.MenuItem._MenuItemTemplate;if(!oTemplate) {oTemplate = document.createElement("li");oTemplate.innerHTML = "<a href=\"#\">s</a>";YAHOO.widget.MenuItem._MenuItemTemplate = oTemplate;}this.element = oTemplate.cloneNode(true);this._oAnchor = this.element.firstChild;this._oText = this._oAnchor.firstChild;this.element.appendChild(this._oAnchor);},_initSubTree: function() {var oSrcEl = this.srcElement,oConfig = this.cfg;if(oSrcEl.childNodes.length > 0) {if(this.parent.lazyLoad && this.parent.srcElement && this.parent.srcElement.tagName.toUpperCase() == "SELECT") {oConfig.setProperty("submenu", { id: Dom.generateId(), itemdata: oSrcEl.childNodes });}else {var oNode = oSrcEl.firstChild,aOptions = [];do {if(oNode && oNode.tagName) {switch(oNode.tagName.toUpperCase()) {case "DIV":oConfig.setProperty("submenu", oNode);break;case "OPTION":aOptions[aOptions.length] = oNode;break;}}}        while((oNode = oNode.nextSibling));var nOptions = aOptions.length;if(nOptions > 0) {var oMenu = new this.SUBMENU_TYPE(Dom.generateId());oConfig.setProperty("submenu", oMenu);for(var n=0; n<nOptions; n++) {oMenu.addItem((new oMenu.ITEM_TYPE(aOptions[n])));}}}}},configText: function(p_sType, p_aArgs, p_oItem) {var sText = p_aArgs[0];if(this._oText) {this._oText.nodeValue = sText;}},configHelpText: function(p_sType, p_aArgs, p_oItem) {var me = this,oHelpText = p_aArgs[0],oEl = this.element,oConfig = this.cfg,aNodes = [oEl, this._oAnchor],oSubmenuIndicator = this.submenuIndicator;function initHelpText() {Dom.addClass(aNodes, "hashelptext");if(oConfig.getProperty("disabled")) {oConfig.refireEvent("disabled");}if(oConfig.getProperty("selected")) {oConfig.refireEvent("selected");}                }function removeHelpText() {Dom.removeClass(aNodes, "hashelptext");oEl.removeChild(me._oHelpTextEM);me._oHelpTextEM = null;}if(this._checkDOMNode(oHelpText)) {oHelpText.className = "helptext";if(this._oHelpTextEM) {this._oHelpTextEM.parentNode.replaceChild(oHelpText, this._oHelpTextEM);}else {this._oHelpTextEM = oHelpText;oEl.insertBefore(this._oHelpTextEM, oSubmenuIndicator);}initHelpText();}else if(Lang.isString(oHelpText)) {if(oHelpText.length === 0) {removeHelpText();}else {if(!this._oHelpTextEM) {this._oHelpTextEM = document.createElement("em");this._oHelpTextEM.className = "helptext";oEl.insertBefore(this._oHelpTextEM, oSubmenuIndicator);}this._oHelpTextEM.innerHTML = oHelpText;initHelpText();}}else if(!oHelpText && this._oHelpTextEM) {removeHelpText();}},configURL: function(p_sType, p_aArgs, p_oItem) {var sURL = p_aArgs[0];if(!sURL) {sURL = "#";}this._oAnchor.setAttribute("href", sURL);},configTarget: function(p_sType, p_aArgs, p_oItem) {var sTarget = p_aArgs[0],oAnchor = this._oAnchor;if(sTarget && sTarget.length > 0) {oAnchor.setAttribute("target", sTarget);}else {oAnchor.removeAttribute("target");}},configEmphasis: function(p_sType, p_aArgs, p_oItem) {var bEmphasis = p_aArgs[0],oAnchor = this._oAnchor,oText = this._oText,oConfig = this.cfg,oEM;if(bEmphasis && oConfig.getProperty("strongemphasis")) {oConfig.setProperty("strongemphasis", false);}if(oAnchor) {if(bEmphasis) {oEM = document.createElement("em");oEM.appendChild(oText);oAnchor.appendChild(oEM);}else {oEM = this._getFirstElement(oAnchor, "EM");if(oEM) {oAnchor.removeChild(oEM);oAnchor.appendChild(oText);}}}},configStrongEmphasis: function(p_sType, p_aArgs, p_oItem) {var bStrongEmphasis = p_aArgs[0],oAnchor = this._oAnchor,oText = this._oText,oConfig = this.cfg,oStrong;if(bStrongEmphasis && oConfig.getProperty("emphasis")) {oConfig.setProperty("emphasis", false);}if(oAnchor) {if(bStrongEmphasis) {oStrong = document.createElement("strong");oStrong.appendChild(oText);oAnchor.appendChild(oStrong);}else {oStrong = this._getFirstElement(oAnchor, "STRONG");if(oStrong) {oAnchor.removeChild(oStrong);oAnchor.appendChild(oText);}}}},configChecked: function(p_sType, p_aArgs, p_oItem) {var bChecked = p_aArgs[0],oEl = this.element,oConfig = this.cfg,oEM;if(bChecked) {var oTemplate = YAHOO.widget.MenuItem._CheckedIndicatorTemplate;if(!oTemplate) {oTemplate = document.createElement("em");oTemplate.innerHTML = this.CHECKED_TEXT;oTemplate.className = "checkedindicator";YAHOO.widget.MenuItem._CheckedIndicatorTemplate = oTemplate;}oEM = oTemplate.cloneNode(true);var oSubmenu = this.cfg.getProperty("submenu");if(oSubmenu && oSubmenu.element) {oEl.insertBefore(oEM, oSubmenu.element);}else {oEl.appendChild(oEM);}Dom.addClass(oEl, "checked");this._oCheckedIndicator = oEM;if(oConfig.getProperty("disabled")) {oConfig.refireEvent("disabled");}if(oConfig.getProperty("selected")) {oConfig.refireEvent("selected");}}else {oEM = this._oCheckedIndicator;Dom.removeClass(oEl, "checked");if(oEM) {oEl.removeChild(oEM);}this._oCheckedIndicator = null;}},configDisabled: function(p_sType, p_aArgs, p_oItem) {var bDisabled = p_aArgs[0],oConfig = this.cfg,oAnchor = this._oAnchor,aNodes = [this.element, oAnchor],oHelpText = this._oHelpTextEM,oCheckedIndicator = this._oCheckedIndicator,oSubmenuIndicator = this.submenuIndicator,i = 1;if(oHelpText) {i++;aNodes[i] = oHelpText;}if(oCheckedIndicator) {oCheckedIndicator.firstChild.nodeValue = bDisabled ? this.DISABLED_CHECKED_TEXT : this.CHECKED_TEXT;i++;aNodes[i] = oCheckedIndicator;}    if(oSubmenuIndicator) {oSubmenuIndicator.firstChild.nodeValue = bDisabled ? this.DISABLED_SUBMENU_INDICATOR_TEXT : this.COLLAPSED_SUBMENU_INDICATOR_TEXT;i++;aNodes[i] = oSubmenuIndicator;}if(bDisabled) {if(oConfig.getProperty("selected")) {oConfig.setProperty("selected", false);}oAnchor.removeAttribute("href");Dom.addClass(aNodes, "disabled");}else {oAnchor.setAttribute("href", oConfig.getProperty("url"));Dom.removeClass(aNodes, "disabled");}},configSelected: function(p_sType, p_aArgs, p_oItem) {if(!this.cfg.getProperty("disabled")) {var bSelected = p_aArgs[0],oHelpText = this._oHelpTextEM,oSubmenuIndicator = this.submenuIndicator,oCheckedIndicator = this._oCheckedIndicator,aNodes = [this.element, this._oAnchor],i = 1;if(oHelpText) {i++;aNodes[i] = oHelpText;}if(oSubmenuIndicator) {i++;aNodes[i] = oSubmenuIndicator;}if(oCheckedIndicator) {i++;aNodes[i] = oCheckedIndicator;}if(bSelected) {Dom.addClass(aNodes, "selected");}else {Dom.removeClass(aNodes, "selected");}}},configSubmenu: function(p_sType, p_aArgs, p_oItem) {var oEl = this.element,oSubmenu = p_aArgs[0],oSubmenuIndicator = this.submenuIndicator,oConfig = this.cfg,aNodes = [this.element, this._oAnchor],bLazyLoad = this.parent && this.parent.lazyLoad,oMenu;if(oSubmenu) {if(oSubmenu instanceof Menu) {oMenu = oSubmenu;oMenu.parent = this;oMenu.lazyLoad = bLazyLoad;}else if(typeof oSubmenu == "object" && oSubmenu.id && !oSubmenu.nodeType) {var sSubmenuId = oSubmenu.id,oSubmenuConfig = oSubmenu;oSubmenuConfig.lazyload = bLazyLoad;oSubmenuConfig.parent = this;oMenu = new this.SUBMENU_TYPE(sSubmenuId, oSubmenuConfig);this.cfg.setProperty("submenu", oMenu, true);}else {oMenu = new this.SUBMENU_TYPE(oSubmenu,{ lazyload: bLazyLoad, parent: this }                );this.cfg.setProperty("submenu", oMenu, true);}if(oMenu) {this._oSubmenu = oMenu;if(!oSubmenuIndicator) { var oTemplate = YAHOO.widget.MenuItem._oSubmenuIndicatorTemplate;if(!oTemplate) {oTemplate = document.createElement("em");oTemplate.innerHTML =  this.COLLAPSED_SUBMENU_INDICATOR_TEXT;oTemplate.className = "submenuindicator";YAHOO.widget.MenuItem._oSubmenuIndicatorTemplate = oTemplate;}oSubmenuIndicator = oTemplate.cloneNode(true);if(oMenu.element.parentNode == oEl) {if(this.browser == "opera") {oEl.appendChild(oSubmenuIndicator);oMenu.renderEvent.subscribe(function() {oSubmenuIndicator.parentNode.insertBefore(oSubmenuIndicator, oMenu.element);});}else {oEl.insertBefore(oSubmenuIndicator, oMenu.element);}}else {oEl.appendChild(oSubmenuIndicator);}this.submenuIndicator = oSubmenuIndicator;}Dom.addClass(aNodes, "hassubmenu");if(oConfig.getProperty("disabled")) {oConfig.refireEvent("disabled");}if(oConfig.getProperty("selected")) {oConfig.refireEvent("selected");}                }}else {Dom.removeClass(aNodes, "hassubmenu");if(oSubmenuIndicator) {oEl.removeChild(oSubmenuIndicator);}if(this._oSubmenu) {this._oSubmenu.destroy();}}},configOnClick: function(p_sType, p_aArgs, p_oItem) {var oObject = p_aArgs[0];if(this._oOnclickAttributeValue && (this._oOnclickAttributeValue != oObject)) {this.clickEvent.unsubscribe(this._oOnclickAttributeValue.fn, this._oOnclickAttributeValue.obj);this._oOnclickAttributeValue = null;}if(!this._oOnclickAttributeValue && typeof oObject == "object" && typeof oObject.fn == "function") {this.clickEvent.subscribe(oObject.fn, (oObject.obj || this), oObject.scope);this._oOnclickAttributeValue = oObject;}},configClassName: function(p_sType, p_aArgs, p_oItem) {var sClassName = p_aArgs[0];if(this._sClassName) {Dom.removeClass(this.element, this._sClassName);}Dom.addClass(this.element, sClassName);this._sClassName = sClassName;},		initDefaultConfig : function() {var oConfig = this.cfg,DEFAULT_CONFIG = YAHOO.widget.MenuItem._DEFAULT_CONFIG;oConfig.addProperty(DEFAULT_CONFIG.TEXT.key, { handler: this.configText, value: DEFAULT_CONFIG.TEXT.value, validator: DEFAULT_CONFIG.TEXT.validator, suppressEvent: DEFAULT_CONFIG.TEXT.suppressEvent });oConfig.addProperty(DEFAULT_CONFIG.HELP_TEXT.key,{ handler: this.configHelpText });oConfig.addProperty(DEFAULT_CONFIG.URL.key, {handler: this.configURL, value: DEFAULT_CONFIG.URL.value, suppressEvent: DEFAULT_CONFIG.URL.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.TARGET.key, {handler: this.configTarget, suppressEvent: DEFAULT_CONFIG.TARGET.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.EMPHASIS.key, { handler: this.configEmphasis, value: DEFAULT_CONFIG.EMPHASIS.value, validator: DEFAULT_CONFIG.EMPHASIS.validator, suppressEvent: DEFAULT_CONFIG.EMPHASIS.suppressEvent });oConfig.addProperty(DEFAULT_CONFIG.STRONG_EMPHASIS.key,{handler: this.configStrongEmphasis,value: DEFAULT_CONFIG.STRONG_EMPHASIS.value,validator: DEFAULT_CONFIG.STRONG_EMPHASIS.validator,suppressEvent: DEFAULT_CONFIG.STRONG_EMPHASIS.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.CHECKED.key, {handler: this.configChecked, value: DEFAULT_CONFIG.CHECKED.value, validator: DEFAULT_CONFIG.CHECKED.validator, suppressEvent: DEFAULT_CONFIG.CHECKED.suppressEvent,supercedes: DEFAULT_CONFIG.CHECKED.supercedes} );oConfig.addProperty(DEFAULT_CONFIG.DISABLED.key,{handler: this.configDisabled,value: DEFAULT_CONFIG.DISABLED.value,validator: DEFAULT_CONFIG.DISABLED.validator,suppressEvent: DEFAULT_CONFIG.DISABLED.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.SELECTED.key,{handler: this.configSelected,value: DEFAULT_CONFIG.SELECTED.value,validator: DEFAULT_CONFIG.SELECTED.validator,suppressEvent: DEFAULT_CONFIG.SELECTED.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.SUBMENU.key, { handler: this.configSubmenu });oConfig.addProperty(DEFAULT_CONFIG.ONCLICK.key, { handler: this.configOnClick });oConfig.addProperty(DEFAULT_CONFIG.CLASS_NAME.key, { handler: this.configClassName,value: DEFAULT_CONFIG.CLASS_NAME.value, validator: DEFAULT_CONFIG.CLASS_NAME.validator});	},getNextEnabledSibling: function() {if(this.parent instanceof Menu) {var nGroupIndex = this.groupIndex;function getNextArrayItem(p_aArray, p_nStartIndex) {return p_aArray[p_nStartIndex] || getNextArrayItem(p_aArray, (p_nStartIndex+1));}var aItemGroups = this.parent.getItemGroups(),oNextItem;if(this.index < (aItemGroups[nGroupIndex].length - 1)) {oNextItem = getNextArrayItem(aItemGroups[nGroupIndex], (this.index+1));}else {var nNextGroupIndex;if(nGroupIndex < (aItemGroups.length - 1)) {nNextGroupIndex = nGroupIndex + 1;}else {nNextGroupIndex = 0;}var aNextGroup = getNextArrayItem(aItemGroups, nNextGroupIndex);oNextItem = getNextArrayItem(aNextGroup, 0);}return (oNextItem.cfg.getProperty("disabled") || oNextItem.element.style.display == "none") ? oNextItem.getNextEnabledSibling() : oNextItem;}},getPreviousEnabledSibling: function() {if(this.parent instanceof Menu) {var nGroupIndex = this.groupIndex;function getPreviousArrayItem(p_aArray, p_nStartIndex) {return p_aArray[p_nStartIndex] || getPreviousArrayItem(p_aArray, (p_nStartIndex-1));}function getFirstItemIndex(p_aArray, p_nStartIndex) {return p_aArray[p_nStartIndex] ? p_nStartIndex : getFirstItemIndex(p_aArray, (p_nStartIndex+1));}var aItemGroups = this.parent.getItemGroups(),oPreviousItem;if(this.index > getFirstItemIndex(aItemGroups[nGroupIndex], 0)) {oPreviousItem = getPreviousArrayItem(aItemGroups[nGroupIndex], (this.index-1));}else {var nPreviousGroupIndex;if(nGroupIndex > getFirstItemIndex(aItemGroups, 0)) {nPreviousGroupIndex = nGroupIndex - 1;}else {nPreviousGroupIndex = aItemGroups.length - 1;}var aPreviousGroup = getPreviousArrayItem(aItemGroups, nPreviousGroupIndex);oPreviousItem = getPreviousArrayItem(aPreviousGroup, (aPreviousGroup.length - 1));}return (oPreviousItem.cfg.getProperty("disabled") || oPreviousItem.element.style.display == "none") ? oPreviousItem.getPreviousEnabledSibling() : oPreviousItem;}},focus: function() {var oParent = this.parent,oAnchor = this._oAnchor,oActiveItem = oParent.activeItem,me = this;function setFocus() {try {if ((me.browser == "ie" || me.browser == "ie7") && !document.hasFocus()) {return;}oAnchor.focus();}catch(e) {}}if(!this.cfg.getProperty("disabled") && oParent && oParent.cfg.getProperty("visible") && this.element.style.display != "none") {if(oActiveItem) {oActiveItem.blur();}window.setTimeout(setFocus, 0);this.focusEvent.fire();}},blur: function() {var oParent = this.parent;if(!this.cfg.getProperty("disabled") && oParent && Dom.getStyle(oParent.element, "visibility") == "visible") {this._oAnchor.blur();this.blurEvent.fire();}},hasFocus: function() {return (YAHOO.widget.MenuManager.getFocusedMenuItem() == this);},	destroy: function() {var oEl = this.element;if(oEl) {var oSubmenu = this.cfg.getProperty("submenu");if(oSubmenu) {oSubmenu.destroy();}this.mouseOverEvent.unsubscribeAll();this.mouseOutEvent.unsubscribeAll();this.mouseDownEvent.unsubscribeAll();this.mouseUpEvent.unsubscribeAll();this.clickEvent.unsubscribeAll();this.keyPressEvent.unsubscribeAll();this.keyDownEvent.unsubscribeAll();this.keyUpEvent.unsubscribeAll();this.focusEvent.unsubscribeAll();this.blurEvent.unsubscribeAll();this.cfg.configChangedEvent.unsubscribeAll();var oParentNode = oEl.parentNode;if(oParentNode) {oParentNode.removeChild(oEl);this.destroyEvent.fire();}this.destroyEvent.unsubscribeAll();}},toString: function() {var sReturnVal = "MenuItem";if(this.cfg && this.cfg.getProperty("text")) {sReturnVal += (": " + this.cfg.getProperty("text"));}return sReturnVal;}};})();YAHOO.widget.ContextMenu = function(p_oElement, p_oConfig) {YAHOO.widget.ContextMenu.superclass.constructor.call(this, p_oElement,p_oConfig);};YAHOO.widget.ContextMenu._EVENT_TYPES = {"TRIGGER_CONTEXT_MENU": "triggerContextMenu","CONTEXT_MENU": ((YAHOO.widget.Module.prototype.browser == "opera" ? "mousedown" : "contextmenu")),"CLICK": "click"};YAHOO.widget.ContextMenu._DEFAULT_CONFIG = {"TRIGGER": { key: "trigger" }};YAHOO.lang.extend(YAHOO.widget.ContextMenu, YAHOO.widget.Menu, {_oTrigger: null,_bCancelled: false,contextEventTarget: null,triggerContextMenuEvent: null,init: function(p_oElement, p_oConfig) {if(!this.ITEM_TYPE) {this.ITEM_TYPE = YAHOO.widget.ContextMenuItem;}YAHOO.widget.ContextMenu.superclass.init.call(this, p_oElement);this.beforeInitEvent.fire(YAHOO.widget.ContextMenu);if(p_oConfig) {this.cfg.applyConfig(p_oConfig, true);}this.initEvent.fire(YAHOO.widget.ContextMenu);},initEvents: function() {	YAHOO.widget.ContextMenu.superclass.initEvents.call(this);this.triggerContextMenuEvent = new YAHOO.util.CustomEvent(YAHOO.widget.ContextMenu._EVENT_TYPES.TRIGGER_CONTEXT_MENU, this);},cancel: function() {this._bCancelled = true;},_removeEventHandlers: function() {var Event = YAHOO.util.Event,oTrigger = this._oTrigger;if (oTrigger) {Event.removeListener(oTrigger, YAHOO.widget.ContextMenu._EVENT_TYPES.CONTEXT_MENU, this._onTriggerContextMenu);    if(this.browser == "opera") {Event.removeListener(oTrigger, YAHOO.widget.ContextMenu._EVENT_TYPES.CLICK, this._onTriggerClick);}}},_onTriggerClick: function(p_oEvent, p_oMenu) {if(p_oEvent.ctrlKey) {YAHOO.util.Event.stopEvent(p_oEvent);}},_onTriggerContextMenu: function(p_oEvent, p_oMenu) {var Event = YAHOO.util.Event;if(p_oEvent.type == "mousedown" && !p_oEvent.ctrlKey) {return;}Event.stopEvent(p_oEvent);YAHOO.widget.MenuManager.hideVisible();this.contextEventTarget = Event.getTarget(p_oEvent);this.triggerContextMenuEvent.fire(p_oEvent);if(!this._bCancelled) {this.cfg.setProperty("xy", Event.getXY(p_oEvent));this.show();}this._bCancelled = false;},toString: function() {var sReturnVal = "ContextMenu",sId = this.id;if(sId) {sReturnVal += (" " + sId);}return sReturnVal;},initDefaultConfig: function() {YAHOO.widget.ContextMenu.superclass.initDefaultConfig.call(this);this.cfg.addProperty(YAHOO.widget.ContextMenu._DEFAULT_CONFIG.TRIGGER.key, { handler: this.configTrigger });},destroy: function() {this._removeEventHandlers();YAHOO.widget.ContextMenu.superclass.destroy.call(this);},configTrigger: function(p_sType, p_aArgs, p_oMenu) {var Event = YAHOO.util.Event,oTrigger = p_aArgs[0];if(oTrigger) {if(this._oTrigger) {this._removeEventHandlers();}this._oTrigger = oTrigger;Event.on(oTrigger, YAHOO.widget.ContextMenu._EVENT_TYPES.CONTEXT_MENU, this._onTriggerContextMenu,this,true);if(this.browser == "opera") {Event.on(oTrigger, YAHOO.widget.ContextMenu._EVENT_TYPES.CLICK, this._onTriggerClick,this,true);}}else {this._removeEventHandlers();}}}); YAHOO.widget.ContextMenuItem = function(p_oObject, p_oConfig) {YAHOO.widget.ContextMenuItem.superclass.constructor.call(this, p_oObject, p_oConfig);};YAHOO.lang.extend(YAHOO.widget.ContextMenuItem, YAHOO.widget.MenuItem, {init: function(p_oObject, p_oConfig) {if(!this.SUBMENU_TYPE) {this.SUBMENU_TYPE = YAHOO.widget.ContextMenu;}YAHOO.widget.ContextMenuItem.superclass.init.call(this, p_oObject);var oConfig = this.cfg;if(p_oConfig) {oConfig.applyConfig(p_oConfig, true);}oConfig.fireQueue();},toString: function() {var sReturnVal = "ContextMenuItem";if(this.cfg && this.cfg.getProperty("text")) {sReturnVal += (": " + this.cfg.getProperty("text"));}return sReturnVal;}}); YAHOO.widget.MenuBar = function(p_oElement, p_oConfig) {YAHOO.widget.MenuBar.superclass.constructor.call(this, p_oElement,p_oConfig);};YAHOO.widget.MenuBar._DEFAULT_CONFIG = {"POSITION": { key: "position", value: "static", validator: YAHOO.widget.Menu._checkPosition, supercedes: ["visible"] }, "SUBMENU_ALIGNMENT": { key: "submenualignment", value: ["tl","bl"] },"AUTO_SUBMENU_DISPLAY": { key: "autosubmenudisplay", value: false, validator: YAHOO.lang.isBoolean }};YAHOO.lang.extend(YAHOO.widget.MenuBar, YAHOO.widget.Menu, {init: function(p_oElement, p_oConfig) {if(!this.ITEM_TYPE) {this.ITEM_TYPE = YAHOO.widget.MenuBarItem;}YAHOO.widget.MenuBar.superclass.init.call(this, p_oElement);this.beforeInitEvent.fire(YAHOO.widget.MenuBar);if(p_oConfig) {this.cfg.applyConfig(p_oConfig, true);}this.initEvent.fire(YAHOO.widget.MenuBar);},CSS_CLASS_NAME: "yuimenubar",_onKeyDown: function(p_sType, p_aArgs, p_oMenuBar) {var Event = YAHOO.util.Event,oEvent = p_aArgs[0],oItem = p_aArgs[1],oSubmenu;if(oItem && !oItem.cfg.getProperty("disabled")) {var oItemCfg = oItem.cfg;switch(oEvent.keyCode) {case 37:    case 39:    if(oItem == this.activeItem && !oItemCfg.getProperty("selected")) {oItemCfg.setProperty("selected", true);}else {var oNextItem = (oEvent.keyCode == 37) ? oItem.getPreviousEnabledSibling() : oItem.getNextEnabledSibling();if(oNextItem) {this.clearActiveItem();oNextItem.cfg.setProperty("selected", true);if(this.cfg.getProperty("autosubmenudisplay")) {oSubmenu = oNextItem.cfg.getProperty("submenu");if(oSubmenu) {oSubmenu.show();}}           oNextItem.focus();}}Event.preventDefault(oEvent);break;case 40:    if(this.activeItem != oItem) {this.clearActiveItem();oItemCfg.setProperty("selected", true);oItem.focus();}oSubmenu = oItemCfg.getProperty("submenu");if(oSubmenu) {if(oSubmenu.cfg.getProperty("visible")) {oSubmenu.setInitialSelection();oSubmenu.setInitialFocus();}else {oSubmenu.show();}}Event.preventDefault(oEvent);break;}}if(oEvent.keyCode == 27 && this.activeItem) { oSubmenu = this.activeItem.cfg.getProperty("submenu");if(oSubmenu && oSubmenu.cfg.getProperty("visible")) {oSubmenu.hide();this.activeItem.focus();}else {this.activeItem.cfg.setProperty("selected", false);this.activeItem.blur();}Event.preventDefault(oEvent);}},_onClick: function(p_sType, p_aArgs, p_oMenuBar) {YAHOO.widget.MenuBar.superclass._onClick.call(this, p_sType, p_aArgs, p_oMenuBar);var oItem = p_aArgs[1];if(oItem && !oItem.cfg.getProperty("disabled")) {var Event = YAHOO.util.Event,Dom = YAHOO.util.Dom,oEvent = p_aArgs[0],oTarget = Event.getTarget(oEvent),oActiveItem = this.activeItem,oConfig = this.cfg;if(oActiveItem && oActiveItem != oItem) {this.clearActiveItem();}oItem.cfg.setProperty("selected", true);var oSubmenu = oItem.cfg.getProperty("submenu");if(oSubmenu && oTarget != oItem.submenuIndicator) {if(oSubmenu.cfg.getProperty("visible")) {oSubmenu.hide();}else {oSubmenu.show();                    }}}},toString: function() {var sReturnVal = "MenuBar",sId = this.id;if(sId) {sReturnVal += (" " + sId);}return sReturnVal;},initDefaultConfig: function() {YAHOO.widget.MenuBar.superclass.initDefaultConfig.call(this);var oConfig = this.cfg,DEFAULT_CONFIG = YAHOO.widget.MenuBar._DEFAULT_CONFIG;	oConfig.addProperty(DEFAULT_CONFIG.POSITION.key, {handler: this.configPosition, value: DEFAULT_CONFIG.POSITION.value, validator: DEFAULT_CONFIG.POSITION.validator,supercedes: DEFAULT_CONFIG.POSITION.supercedes});oConfig.addProperty(DEFAULT_CONFIG.SUBMENU_ALIGNMENT.key, {value: DEFAULT_CONFIG.SUBMENU_ALIGNMENT.value});	oConfig.addProperty(	   DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.key, 	   {	       value: DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.value, 	       validator: DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.validator} );}}); YAHOO.widget.MenuBarItem = function(p_oObject, p_oConfig) {YAHOO.widget.MenuBarItem.superclass.constructor.call(this, p_oObject, p_oConfig);};YAHOO.lang.extend(YAHOO.widget.MenuBarItem, YAHOO.widget.MenuItem, {init: function(p_oObject, p_oConfig) {if(!this.SUBMENU_TYPE) {this.SUBMENU_TYPE = YAHOO.widget.Menu;}YAHOO.widget.MenuBarItem.superclass.init.call(this, p_oObject);  var oConfig = this.cfg;if(p_oConfig) {oConfig.applyConfig(p_oConfig, true);}oConfig.fireQueue();},CSS_CLASS_NAME: "yuimenubaritem",toString: function() {var sReturnVal = "MenuBarItem";if(this.cfg && this.cfg.getProperty("text")) {sReturnVal += (": " + this.cfg.getProperty("text"));}return sReturnVal;}}); YAHOO.register("menu", YAHOO.widget.Menu, {version: "2.2.2", build: "204"});