                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                

if(!window.__td){window.__MT=100;window.__ti=0;window.__td=[];window.__td.length=__MT;window.__noTrace=false;}
if(typeof(vp)=="undefined")
{var vp={};}
if(!vp.controls)
{vp.controls={};}
vp.controls.FlyoutMenu=function controls_FlyoutMenu(strHtmlElementId,nHoverDelay,bCloseMenusOnMouseOut,bAllowScrollBars,bRenderForSpider)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var me=this;this.RootElement=vp.ui.get(strHtmlElementId);this.ActiveMenuItems=new Array();this.HoverDelay=nHoverDelay;this.CloseMenusOnMouseOut=bCloseMenusOnMouseOut;this.AllowSubMenuScrollBars=bAllowScrollBars;var _subMenuIdToParentElement=new Array();var _menuIdToCssClass=new Array();var _menuItems=new Array();var _parentMenuItemIdToSubMenu=new Array();var _subMenuIdToOptions=new Array();var _displayedMenuDictionary=new Array();var _pendingMenuDisplay=null;var _pendingMenuItemClear=null;var CLEAR_ITEM_EVENT_DELAY=300;var SUBMENU_REMOVAL_DELAY=200;var _mouseIsInMenu=false;var _subMenuIdToClearTimeOut={};var _isSpider=bRenderForSpider;this.onchange=new vp.events.CustomEvent(this,"onchange");this.addSubMenu=function pb_this_addSubMenu(strSubMenuElementId,strParentMenuItemId,nParentItemHorizontalDockPoint,nParentItemVerticalDockPoint,nSubMenuHorizontalDockPoint,nSubMenuVerticalDockPoint,bShowOnHover)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var subMenuElement=vp.ui.get(strSubMenuElementId);var parentElement=vp.ui.get(strParentMenuItemId);if(!subMenuElement)
{throw new Error("Invalid HTML element id passed to FlyoutMenu.addSubMenu : "+strSubMenuElementId);}
if(!parentElement)
{throw new Error("Invalid HTML element id passed to FlyoutMenu.addSubMenu : "+strParentMenuItemId);}
if(!_isSpider)
{subMenuElement.style.display="none";vp.ui.moveToRoot(subMenuElement,false);}
_subMenuIdToParentElement[strSubMenuElementId]=parentElement;_parentMenuItemIdToSubMenu[strParentMenuItemId]=subMenuElement;var showSubMenu=function pv_showSubMenu()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
me.displaySubMenu(subMenuElement);}.getClosure(subMenuElement);if(!bShowOnHover)
{vp.events.add(parentElement,"click",showSubMenu);}
me.addMouseOutEvent(subMenuElement);_subMenuIdToOptions[subMenuElement.id]={ShowOnHover:bShowOnHover,ParentItemVerticalDockPoint:nParentItemVerticalDockPoint,ParentItemHorizontalDockPoint:nParentItemHorizontalDockPoint,SubMenuVerticalDockPoint:nSubMenuVerticalDockPoint,SubMenuHorizontalDockPoint:nSubMenuHorizontalDockPoint};};this.addMouseOutEvent=function pb_this_addMouseOutEvent(oElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(!oElement)
{throw new Error("Null element passed to addMouseOutEvent.");}
var deActivateMenuItem=function pv_deActivateMenuItem(e)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
me.beginPendingMenuClear(e,oElement);}.getClosure(oElement);vp.events.add(oElement,"mouseout",deActivateMenuItem);};this.addMenuItem=function pb_this_addMenuItem(strMenuItemId,strContainingMenuElementId,strActiveCssClass)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var menuItemElement=vp.ui.get(strMenuItemId);if(!menuItemElement)
{throw new Error("Invalid HTML element id passed to FlyoutMenu.addMenuItem : "+strMenuItemId);}
var activateMenuItem=function pv_activateMenuItem()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
me.setActiveMenuItem(menuItemElement);}.getClosure(menuItemElement);vp.events.add(menuItemElement,"mouseover",activateMenuItem);_menuItems[strMenuItemId]=strContainingMenuElementId;_menuIdToCssClass[strMenuItemId]=strActiveCssClass;};this.displaySubMenu=function pb_this_displaySubMenu(oSubMenuElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(!oSubMenuElement)
{throw new Error("Invalid element passed to displaySubMenu");}
if(_displayedMenuDictionary[oSubMenuElement.id])
{return;}
if(_isSpider)
{return;}
var parentMenuItem=_subMenuIdToParentElement[oSubMenuElement.id];if(!parentMenuItem)
{throw new Error("Specified element is not a sub-menu of this menu control");}
oSubMenuElement.style.position="absolute";oSubMenuElement.style.height="auto";oSubMenuElement.style.display="block";var oParentSubMenuRect=vp.ui.getRect(vp.ui.get(_menuItems[parentMenuItem.id]));var oParentElementRect=vp.ui.getRect(parentMenuItem);var oSubMenuRect=vp.ui.getRect(oSubMenuElement);var subMenuOptions=_subMenuIdToOptions[oSubMenuElement.id];var leftPos=0;var topPos=0;leftPos=oParentSubMenuRect.left-oSubMenuRect.width+
(subMenuOptions.SubMenuHorizontalDockPoint*oSubMenuRect.width)+
(subMenuOptions.ParentItemHorizontalDockPoint*oParentSubMenuRect.width);topPos=oParentElementRect.top-oSubMenuRect.height+
(subMenuOptions.SubMenuVerticalDockPoint*oSubMenuRect.height)+
(subMenuOptions.ParentItemVerticalDockPoint*oParentElementRect.height)-3;oSubMenuElement.style.left=leftPos+"px";oSubMenuElement.style.top=topPos+"px";oSubMenuRect=vp.ui.getRect(oSubMenuElement);var iMenuBottomY=topPos+oSubMenuRect.height;var iPageBottom=vp.ui.getScrollOffset().top+vp.ui.getViewportSize().height-5;if(iMenuBottomY>iPageBottom&&this.AllowSubMenuScrollBars)
{oSubMenuElement.style.height=Math.max(100,iPageBottom-oSubMenuRect.top)+"px";oSubMenuElement.style.overflowY="scroll";}
else
{oSubMenuElement.style.overflowY="visible";}
vp.ui.showIE6IFrame(oSubMenuElement,true);_displayedMenuDictionary[oSubMenuElement.id]=true;};this.hideSubMenu=function pb_this_hideSubMenu(oSubMenuElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(!oSubMenuElement)
{throw new Error("Null element passed to hideSubMenu");}
if(_isSpider)
{return;}
oSubMenuElement.style.display="none";vp.ui.showIE6IFrame(oSubMenuElement,false);_displayedMenuDictionary[oSubMenuElement.id]=false;};this.setActiveMenuItem=function pb_this_setActiveMenuItem(oMenuElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
_mouseIsInMenu=true;if(oMenuElement!==null&&me.ActiveMenuItems.length!==0&&me.ActiveMenuItems[me.ActiveMenuItems.length-1].id===oMenuElement.id)
{return;}
this.cancelPendingActions();var newActiveMenuItems=new Array();var itemToAdd=oMenuElement;var subMenusToHide=new Array();var present=false;var i=0;var j=0;var firstItem=true;while(itemToAdd)
{newActiveMenuItems.unshift(itemToAdd);var itemsSubMenu=_parentMenuItemIdToSubMenu[itemToAdd.id];present=false;for(i=0;i<me.ActiveMenuItems.length;i++)
{if(me.ActiveMenuItems[i]===itemToAdd)
{present=true;}}
if(!present)
{itemToAdd.className=itemToAdd.className+' '+_menuIdToCssClass[itemToAdd.id];if(itemsSubMenu&&firstItem&&_subMenuIdToOptions[itemsSubMenu.id].ShowOnHover)
{var subMenuToShow=itemsSubMenu;var showSubMenuWithDelayFn=function pv_showSubMenuWithDelayFn()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
me.displaySubMenu(subMenuToShow);}.getClosure(subMenuToShow);_pendingMenuDisplay=setTimeout(showSubMenuWithDelayFn,me.HoverDelay);}
var activateFunction=itemToAdd.getAttribute("onactivate");if(activateFunction&&typeof activateFunction=='function')
{activateFunction();}
else if(activateFunction)
{eval(activateFunction);}}
itemToAdd=_subMenuIdToParentElement[_menuItems[itemToAdd.id]];firstItem=false;}
for(i=0;i<me.ActiveMenuItems.length;i++)
{present=false;for(j=0;j<newActiveMenuItems.length;j++)
{if(me.ActiveMenuItems[i]===newActiveMenuItems[j])
{present=true;}}
if(!present)
{var itemToRemove=me.ActiveMenuItems[i];itemToRemove.className=itemToRemove.className.replace(' '+_menuIdToCssClass[itemToRemove.id],'');var subMenuToRemove=_parentMenuItemIdToSubMenu[itemToRemove.id];if(subMenuToRemove)
{subMenusToHide.push(subMenuToRemove);}
var deactivateFunction=itemToRemove.getAttribute("ondeactivate");if(deactivateFunction&&typeof deactivateFunction=='function')
{deactivateFunction();}
else if(deactivateFunction)
{eval(deactivateFunction);}}}
if(subMenusToHide.length>0)
{var removeSubMenuFn=function pv_removeSubMenuFn()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
for(var k=0;k<subMenusToHide.length;k++)
{var menuReactivated=false;for(var j=0;j<me.ActiveMenuItems.length;j++)
{if(_menuItems[me.ActiveMenuItems[j].id]===subMenusToHide[k].id)
{menuReactivated=true;}}
if(!menuReactivated)
{me.hideSubMenu(subMenusToHide[k]);}}}.getClosure(subMenusToHide);setTimeout(removeSubMenuFn,SUBMENU_REMOVAL_DELAY);}
me.ActiveMenuItems.splice(0,me.ActiveMenuItems.length);for(i=0;i<newActiveMenuItems.length;i++)
{me.ActiveMenuItems.push(newActiveMenuItems[i]);}
me.onchange.fire(oMenuElement);};this.cancelPendingActions=function pb_this_cancelPendingActions()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(_pendingMenuDisplay)
{clearTimeout(_pendingMenuDisplay);_pendingMenuDisplay=0;}
if(_pendingMenuItemClear)
{clearTimeout(_pendingMenuItemClear);_pendingMenuItemClear=0;}
for(var subMenuId in _subMenuIdToClearTimeOut)
{if(_subMenuIdToClearTimeOut[subMenuId])
{clearTimeout(_subMenuIdToClearTimeOut[subMenuId]);_subMenuIdToClearTimeOut[subMenuId]=null;}}};this.beginPendingMenuClear=function pb_this_beginPendingMenuClear(e,oSubMenuElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oEvent=vp.events.getEvent(e);if(oEvent.relatedTarget&&(oEvent.relatedTarget==oSubMenuElement||vp.ui.isChildOf(oEvent.relatedTarget,oSubMenuElement)))
{return;}
if(_subMenuIdToClearTimeOut[oSubMenuElement.id])
{return;}
_mouseIsInMenu=false;me.cancelPendingActions();if(me.CloseMenusOnMouseOut)
{var fnDelayedClearActiveMenuItem=function pv_fnDelayedClearActiveMenuItem()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
_subMenuIdToClearTimeOut[oSubMenuElement.id]=null;me.setActiveMenuItem(null);}.getClosure(oSubMenuElement);_subMenuIdToClearTimeOut[oSubMenuElement.id]=setTimeout(fnDelayedClearActiveMenuItem,CLEAR_ITEM_EVENT_DELAY);}};this.closeMenusOnClick=function pb_this_closeMenusOnClick()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(!me.CloseMenusOnMouseOut&&!_mouseIsInMenu)
{me.setActiveMenuItem(null);}};me.addMouseOutEvent(me.RootElement);vp.events.add(document.body,"click",me.closeMenusOnClick);};