﻿Type.registerNamespace('Infragistics.Web.UI');var $IG=Infragistics.Web.UI;$IG.DataMenuProps=new function(){this.Enabled=[$IG.NavControlProps.Count+1,0];this.EnableExpandOnClick=[$IG.NavControlProps.Count+2,0];this.IsContextMenu=[$IG.NavControlProps.Count+3,false];this.Count=$IG.NavControlProps.Count+4;};$IG.DataMenuItemProps=new function(){this.Expanded=[$IG.NavItemProps.Count+0,0];this.ClientLevel=[$IG.NavItemProps.Count+1,0];this.HoverCssClass=[$IG.NavItemProps.Count+2,''];this.IsSeparator=[$IG.NavItemProps.Count+3,false];this.Clicked=[$IG.NavItemProps.Count+4,0];this.Count=$IG.NavItemProps.Count+5;};$IG.DataMenuGroupSettingsProps=new function(){this.OffsetX=[$IG.DataMenuItemProps.Count+0,0];this.OffsetY=[$IG.DataMenuItemProps.Count+1,0];this.Height=[$IG.DataMenuItemProps.Count+2,0];this.Width=[$IG.DataMenuItemProps.Count+3,0];this.Orientation=[$IG.DataMenuItemProps.Count+4,0];this.ExpandDirection=[$IG.DataMenuItemProps.Count+5,0];this.EnableAnimation=[$IG.DataMenuItemProps.Count+6,0];this.AnimationType=[$IG.DataMenuItemProps.Count+7,0];this.AnimationDuration=[$IG.DataMenuItemProps.Count+8,0];this.AnimationEquationType=[$IG.DataMenuItemProps.Count+9,0];this.ItemsFullAddress=[$IG.DataMenuItemProps.Count+10,0];this.Count=$IG.DataMenuItemProps.Count+11;};$IG.DataMenuItemSettingsProps=new function(){this.CssClass=[$IG.DataMenuGroupSettingsProps.Count+0,""];this.DisabledCssClass=[$IG.DataMenuGroupSettingsProps.Count+1,""];this.HoverCssClass=[$IG.DataMenuGroupSettingsProps.Count+2,""];this.ImageUrl=[$IG.DataMenuGroupSettingsProps.Count+3,""];this.Target=[$IG.DataMenuGroupSettingsProps.Count+4,""];this.NavigateUrl=[$IG.DataMenuGroupSettingsProps.Count+5,""];this.SelectedCssClass=[$IG.DataMenuGroupSettingsProps.Count+6,""];this.ImageToolTip=[$IG.DataMenuGroupSettingsProps.Count+7,""];this.Count=$IG.DataMenuGroupSettingsProps.Count+8;};$IG.DataMenuAnimationtype=new function(){this.OpacityAnimation=0;this.ExpandAnimation=1;};$IG.MenuExpandDirection=new function(){this.Auto=0;this.Up=1;this.Down=2;this.Left=3;this.Right=4;};$IG.DataMenuItemSettings=function(element,props,control){var csm=new $IG.ObjectClientStateManager(props[0]);$IG.DataMenuItemSettings.initializeBase(this,["itemSettings",element,props,control,csm]);this.initialize();};$IG.DataMenuItemSettings.prototype={initialize:function(){$IG.DataMenuItemSettings.callBaseMethod(this,'initialize');},get_CssClass:function(){return this._get_value($IG.DataMenuItemSettingsProps.CssClass);},get_DisabledCssClass:function(){return this._get_value($IG.DataMenuItemSettingsProps.DisabledCssClass);},get_HoverCssClass:function(){return this._get_value($IG.DataMenuItemSettingsProps.HoverCssClass);},get_SelectedCssClass:function(){return this._get_value($IG.DataMenuItemSettingsProps.SelectedCssClass);},get_ImageUrl:function(){return this._get_value($IG.DataMenuItemSettingsProps.ImageUrl);},get_NavigateUrl:function(){return this._get_value($IG.DataMenuItemSettingsProps.NavigateUrl);},get_Target:function(){return this._get_value($IG.DataMenuItemSettingsProps.Target);}};$IG.DataMenuItemSettings.registerClass('Infragistics.Web.UI.DataMenuItemSettings',$IG.ObjectBase);$IG.DataMenuGroupSettings=function(element,props,control){var csm=new $IG.ObjectClientStateManager(props[0]);$IG.DataMenuGroupSettings.initializeBase(this,["groupSettings",element,props,control,csm]);this.initialize();};$IG.DataMenuGroupSettings.prototype={initialize:function(){$IG.DataMenuGroupSettings.callBaseMethod(this,'initialize');},get_offsetX:function(){return this._get_value($IG.DataMenuGroupSettingsProps.OffsetX);},get_offsetY:function(){return this._get_value($IG.DataMenuGroupSettingsProps.OffsetY);},get_height:function(){return this._get_value($IG.DataMenuGroupSettingsProps.Height);},get_width:function(){return this._get_value($IG.DataMenuGroupSettingsProps.Width);},get_orientation:function(){return this._get_value($IG.DataMenuGroupSettingsProps.Orientation);},get_expandDirection:function(){return this._get_value($IG.DataMenuGroupSettingsProps.ExpandDirection);},get_enableAnimation:function(){return this._get_value($IG.DataMenuGroupSettingsProps.EnableAnimation);},get_animationDuration:function(){return this._get_value($IG.DataMenuGroupSettingsProps.AnimationDuration);},get_animationType:function(){return this._get_value($IG.DataMenuGroupSettingsProps.AnimationType);},get_animationEquationType:function(){return this._get_value($IG.DataMenuGroupSettingsProps.AnimationEquationType);},get_itemsFullAddress:function(){return this._get_value($IG.DataMenuGroupSettingsProps.ItemsFullAddress);}};$IG.DataMenuGroupSettings.registerClass('Infragistics.Web.UI.DataMenuGroupSettings',$IG.ObjectBase);$IG.WebDataMenu=function(element){$IG.WebDataMenu.initializeBase(this,[element]);};$IG.WebDataMenu.prototype={_thisType:'menu',__animation:$IG.DataMenuAnimations,_menuGroupSettings:$IG.DataMenuGroupSettings,_itemSettings:$IG.DataMenuItemSettings,_selectedItem:$IG.DataMenuItem,_hoveredItem:$IG.DataMenuItem,_activeItem:$IG.DataMenuItem,_itemsGroupSettings:null,_focusElement:null,__controlActive:false,__form:null,__submit:null,__defaultContextHandler:null,__defaultMouseUpHandler:null,initialize:function(){this._visibleItems=new Array();this.__currentFocusedItem=null;this._selectedItem=null;this._activeItem=null;this._hoveredItem=null;this._itemSettings=new $IG.DataMenuItemSettings(this._element,this._objectsManager.get_objectProps(0),this);this._objectsManager.register_object(0,this._itemSettings);this._menuGroupSettings=new $IG.DataMenuGroupSettings(this._element,this._objectsManager.get_objectProps(1),this);this._objectsManager.register_object(1,this._menuGroupSettings);var itemsGroupSettingsCount=parseInt(this._get_clientOnlyValue("gsc"));if(itemsGroupSettingsCount>0){this._itemsGroupSettings=new Array();for(var i=0;i<itemsGroupSettingsCount;i++){var gc=new $IG.DataMenuGroupSettings(null,this._objectsManager.get_objectProps(i+2),this);this._objectsManager.register_object(i+2,gc);this._itemsGroupSettings[i]=gc;gc=null;}}$IG.WebDataMenu.callBaseMethod(this,'initialize');this._sizer=document.createElement("DIV");this._sizer.style.position='absolute';this._sizer.style.visibility='hidden';this._sizer.zIndex=0;this._sizer.className=this._element.className;if(this.get_isContextMenu()){var el=this._element;this._element.parentNode.removeChild(el);document.body.appendChild(el);}this.__createFocusEl();if(this._focusElement!=null){this._onFocusFn=Function.createDelegate(this,this._onFocusHandler);$addHandler(this._focusElement,'focus',this._onFocusFn);this._onBlurFn=Function.createDelegate(this,this._onBlurHandler);$addHandler(this._focusElement,'blur',this._onBlurFn);}this._onKeydownFn=Function.createDelegate(this,this._onKeydownHandler);$addHandler(this.get_element(),'keydown',this._onKeydownFn);if(this.getItems().getItem(0)!=null&&typeof(this.getItems().getItem(0))!=undefined){if(this._menuGroupSettings.get_orientation()==$IG.Orientation.Vertical)this._resizeSeparators(this.getItems().getItem(0),this.getItems().getItem(0)._element.offsetWidth,"1px",1);else this._resizeSeparators(this.getItems().getItem(0),"1px",this.getItems().getItem(0)._element.offsetHeight,1);}this._raiseClientEvent('Initialize','DataMenuItemCancel',null,null,null);},__createFocusEl:function(){var inputEl=document.createElement("INPUT");inputEl.style.position="absolute";inputEl.style.top="-1000px";inputEl.style.left="-1000px";this._element.appendChild(inputEl);this._focusElement=inputEl;},_onFocusHandler:function(browserEvent){var el=this.get_element();this.__controlActive=true;var aItem=this._activeItem;if(aItem==null){aItem=this.getItems().getItem(0);}this.__setActiveItem(aItem,false);aItem.open();},_onBlurHandler:function(){if(this.__cancelBlur){this.__cancelBlur=false;}else{var el=this.get_element();this.__controlActive=false;if(this._activeItem!=null){this._activeItem.set_active(false);}if(this.get_isContextMenu())this.__hideAll();else this._timeoutID=setTimeout(Function.createDelegate(this,this.__hideAll),1000);}},dispose:function(){this.__clearAnimations();$clearHandlers(this.get_element());$IG.WebDataMenu.callBaseMethod(this,'dispose');},showAt:function(x,y,browserEvent){this.__defaultContextHandler=document.oncontextmenu;this.__defaultMouseUpHandler=document.body.onmouseup;var f=function(){return false;};document.oncontextmenu=f;document.body.onmouseup=f;if(typeof(x)=="undefined"||x==null){if(browserEvent!=null&&typeof(browserEvent)!="undefined"){try{x=browserEvent.clientX+2;}catch(e){x=0;}}else{if(window.event)x=window.event.clientX;else if(window.Event){try{x=window.Event.clientX+2;}catch(e){x=0;}}else x=0;}}if(typeof(y)=="undefined"||y==null){if(browserEvent!=null&&typeof(browserEvent)!="undefined"){try{y=browserEvent.clientY+2;}catch(e){y=2;}}else{if(window.event)y=window.event.clientY;else if(window.Event){try{y=window.Event.clientY+2;}catch(e){y=2;}}else y=0;}}var pageDims=this.__calcPageDimensions();y+=pageDims.ScrollTop;x+=pageDims.ScrollLeft;this._element.style.position="absolute";this._element.style.zIndex="12000";this._element.style.top=y+"px";this._element.style.left=x+"px";if(this._menuGroupSettings.get_orientation()==$IG.Orientation.Horizontal){this._sizer.style.display="block";this._sizer.style.visibility="visible";this._sizer.style.position="absolute";this._sizer.style.border="solid";this._sizer.style.left="-4000px";this._sizer.style.width="2000px";this._sizer.appendChild(this._element);this._element.style.visibility="visible";this._element.style.display="block";document.body.appendChild(this._sizer);var elBounds=Sys.UI.DomElement.getBounds(this._element);this._element.style.visibility="hidden";document.body.appendChild(this._element);document.body.removeChild(this._sizer);this._element.style.width=elBounds.width+'px';delete elBounds;}this.__clearActiveItem();this._element.style.display="block";this._element.style.visibility="visible";this._element.style.overflow="visible";var that=this;var f=function(){that._focusElement.focus();};window.setTimeout(f,1);},hide:function(){if(this.get_isContextMenu){document.oncontextmenu=this.__defaultContextHandler;document.body.onmouseup=this.__defaultMouseUpHandler;this._element.style.display="none";this._element.style.visibility="hidden";}},_addHandlers:function(){$IG.WebDataMenu.callBaseMethod(this,'_addHandlers');this._registerHandlers(["keyup","keypress","mousedown"]);},getItems:function(){return this._itemCollection;},get_isContextMenu:function(){if(this._get_value($IG.DataMenuProps.IsContextMenu)<1)return false;return true;},get_enableExpandOnClick:function(){if(this._get_value($IG.DataMenuProps.EnableExpandOnClick)<1)return false;return true;},get_selectedItem:function(){return this._selectedItem;},get_activeItem:function(){return this._activeItem;},__clearActiveItem:function(){if(this._activeItem!=null){this._activeItem.set_active(false);this._selectItem(this._activeItem,false);this._activeItem=null;}},__setActiveItem:function(item,force){if(this._activeItem!=null){this._activeItem.set_active(false);}item.set_active(true,force);this._activeItem=item;},_selectItem:function(item,val){if(!item.get_isSeparator())this.__selectItem(item,val);},__selectItem:function(item,val,force){var selAddr=(this._selectedItem!=null)?this._selectedItem._address:"";var realForce=(force!=null&&typeof(force)!="undefined")?force:false;if(val&&(item._address!=selAddr||realForce)){var args=this._raiseClientEvent('ItemSelecting','DataMenuItemCancel',null,null,item);var cancel=args?args.get_cancel():false;if(!cancel){this._raiseClientEvent('ItemSelected','DataMenuItemCancel',null,null,item);this.__unselectAll(this.getItems()._items);item.set_selected(true);this._selectedItem=item;}}else if(!val){item.set_selected(false);}},__unselectAll:function(items){for(var i=0;i<items.length;i++){if(items[i]==null||typeof(items[i])=="undefined")continue;items[i].set_selected(false);if(items[i].hasChildren){this.__unselectAll(items[i].getItems()._items);}}},__hideElement:function(subgroup,item){args=this._raiseClientEvent('ItemCollapsing','DataMenuItemCancel',null,null,item);if(args&&args.get_cancel())return;this.__clearAnimations();if(subgroup!=null){subgroup.style.display='none';subgroup.style.visibility='hidden';this._raiseClientEvent('ItemCollapsed','DataMenuItemCancel',null,null,item);}},__calcPageDimensions:function(){var pageHeight=0;var pageScrollTop=0;var pageWidth=0;var pageScrollLeft=0;var pageScrollWidth=document.body.scrollWidth;var pageScrollHeight=document.body.scrollHeight;if(document.compatMode=="BackCompat"){pageHeight=document.body.clientHeight;pageScrollTop=document.body.scrollTop+document.body.parentNode.scrollTop;pageWidth=document.body.clientWidth;pageScrollLeft=document.body.scrollLeft+document.body.parentNode.scrollLeft;}else{pageHeight=window.innerHeight;pageScrollTop=window.pageYOffset;pageWidth=window.innerWidth;pageScrollLeft=window.pageXOffset;if($util.IsIE){pageHeight=document.documentElement.clientHeight;pageScrollTop=document.documentElement.scrollTop;pageWidth=document.documentElement.clientWidth;pageScrollLeft=document.documentElement.scrollLeft;pageScrollHeight=document.documentElement.scrollHeight;pageScrollWidth=document.documentElement.scrollWidth;}}var dims=new Object();dims.Width=pageWidth;dims.Height=pageHeight;dims.ScrollLeft=pageScrollLeft;dims.ScrollTop=pageScrollTop;dims.ScrollWidth=pageScrollWidth;dims.ScrollHeight=pageScrollHeight;dims.X=pageScrollWidth-pageScrollLeft;dims.Y=pageScrollHeight-pageScrollTop;dims.MaxX=dims.ScrollLeft+dims.Width;dims.MaxY=dims.ScrollTop+dims.Height;return dims;},_resizeSeparators:function(item,width,height,roots){width-=2;height-=2;var childItem=this.getItems().getItem(0);var grpSettings=this._menuGroupSettings;if(typeof(roots)=="undefined"||roots==null){childItem=item.get_childItem(0);grpSettings=item.get_itemsGroupSettings();}while(childItem!=null){if(childItem.get_isSeparator()){if(grpSettings.get_orientation()==$IG.Orientation.Vertical){childItem._element.style.width=width+'px';var nItem=childItem.get_nextItem();if(nItem!=null&&!nItem.get_isSeparator()&&nItem._element.style.marginTop==""){nItem._element.style.marginTop="1px";}}else{childItem._element.style.height=height+'px';}}childItem=childItem.get_nextItem();}},__showElement:function(sg,item,isFromKeyboard){if(sg==null||typeof(sg)=="undefined"||sg.style.display!='none')return;if(item!=null&&typeof(item)!="undefined"){args=this._raiseClientEvent('ItemExpanding','DataMenuItemCancel',null,null,item);if(args&&args.get_cancel())return;}var pageDims=this.__calcPageDimensions();var itemElement=item.get_element();var orientation=item.get_itemsGroupSettings().get_orientation();var bounds=Sys.UI.DomElement.getBounds(itemElement);sg.style.position='absolute';sg.style.display='block';sg.style.visibility='hidden';sg.style.zIndex="10000";if(sg.style.width==""&&item.get_itemsGroupSettings().get_orientation()==$IG.Orientation.Horizontal){this._sizer.style.display="block";this._sizer.style.visibility="visible";this._sizer.style.position="absolute";this._sizer.style.border="solid";this._sizer.style.left="-4000px";this._sizer.style.width="2000px";this._sizer.appendChild(sg);sg.style.visibility="visible";document.body.appendChild(this._sizer);var sgBounds=Sys.UI.DomElement.getBounds(sg);sg.style.visibility="hidden";itemElement.appendChild(sg);document.body.removeChild(this._sizer);sg.style.width=sgBounds.width+'px';delete sgBounds;}this._resizeSeparators(item,sg.offsetWidth,item._element.offsetHeight);sg.style.marginTop="0px";sg.style.marginLeft="0px";var x=0,y=0;if(item.get_orientation()==$IG.Orientation.Vertical||(item._get_level()==1&&this.get_orientation()==$IG.Orientation.Vertical)){x+=bounds.width;}else{y+=bounds.height;}var p0=Sys.UI.DomElement.getLocation(itemElement);var p1=Sys.UI.DomElement.getLocation(sg);x+=p0.x-p1.x;y+=p0.y-p1.y;if(!$util.IsIE&&item._get_level()>1){scrolls=item.calcScrolls();x+=scrolls.Left;y+=scrolls.Top;}x+=item.get_itemsGroupSettings().get_offsetX();y+=item.get_itemsGroupSettings().get_offsetY();sg.style.marginTop=y+'px';sg.style.marginLeft=x+'px';var expandDirection=item.get_itemsGroupSettings().get_expandDirection();var sgBounds=Sys.UI.DomElement.getBounds(sg);var itemsBounds=Sys.UI.DomElement.getBounds(itemElement);var switched=false;if(expandDirection==$IG.MenuExpandDirection.Auto){if((sgBounds.x+sgBounds.width)>pageDims.MaxX){var substractX=0;if(item.get_itemsGroupSettings().get_orientation()==$IG.Orientation.Horizontal)substractX=(sgBounds.x+sgBounds.width)-pageDims.MaxX;else{substractX=itemsBounds.width+sgBounds.width;switched=true;}x-=substractX;}if((sgBounds.y+sgBounds.height)>pageDims.MaxY){var substractY=0;if(item.get_itemsGroupSettings().get_orientation()==$IG.Orientation.Horizontal){substractY=itemsBounds.height+sgBounds.height;switched=true}else substractY=(sgBounds.y+sgBounds.height)-pageDims.MaxY;y-=substractY;}}else if(item.get_orientation()==$IG.Orientation.Horizontal){switch(expandDirection){case $IG.MenuExpandDirection.Down:break;case $IG.MenuExpandDirection.Up:substractY=itemsBounds.height+sgBounds.height;y-=substractY;switched=true;break;}}else if(item.get_orientation()==$IG.Orientation.Vertical){switch(expandDirection){case $IG.MenuExpandDirection.Left:substractX=itemsBounds.width+sgBounds.width;x-=substractX;switched=true;break;case $IG.MenuExpandDirection.Right:break;}}sg.style.marginTop=y+'px';sg.style.marginLeft=x+'px';delete sgBounds;delete itemsBounds;delete expandDirection;delete pageDims;delete p0;delete p1;this._visibleItems[item._get_address()]=item;if(item.get_itemsGroupSettings().get_enableAnimation()){this.__animate(sg,item,isFromKeyboard,switched);}else{sg.style.visibility='visible';this._raiseClientEvent("ItemExpanded","DataMenuItemCancel",null,null,item);}},__isInScrolledContainer:function(){var isScrolled=false;var parent=this.get_element().parentNode;while(parent!=null&&parent.nodeName!="BODY"){if(parent.clientHeight<parent.scrollHeight||parent.clientWidth<parent.scrollWidth){isScrolled=true;break;}parent=parent.parentNode;}return isScrolled;},__isInFixedContainer:function(){var isFixed=false;var parent=this.get_element().parentNode;if(parent.nodeName=="BODY"&&this.get_element().style.position!="static")return true;while(parent!=null&&parent.nodeName!="BODY"){if(parent.style.position!="static"){isFixed=true;break;}parent=parent.parentNode;}return isFixed;},__focusLink:function(item,fromParent){clearTimeout(this._timeoutID);var isChild=false;if(fromParent!=null&&typeof(fromParent)!="undefined"){if(fromParent)isChild=true;}if(item!=null&&!item.get_isSeparator()){if(this._activeItem!=null&&!isChild){$util.removeCompoundClass(this._activeItem.get_element(),this._activeItem.get_stateCssClass("Active"));}this.__hideUpLevelItems(item);$util.addCompoundClass(item.get_element(),item.get_stateCssClass("Active"));this._activeItem=item;this.__setActiveItem(this._activeItem);}},_onMousedownHandler:function(elem,adr,event){if(!this.get_isInitialized())return false;var item=this.getItems()._getObjectByAdr(adr);if(item!="undefined"&&item!=null&&item._getFlags().getEnabled(this)){item._toggleClicked();var args=this._raiseClientEvent("ItemClick","DataMenuItemCancel",null,null,item,item._get_address());this.__focusLink(item);if(args&&args.get_cancel()==true){return false;}}if(this.get_isContextMenu()&&!this.get_enableExpandOnClick()){window.setTimeout(Function.createDelegate(this,this.hide),100);}if(this.get_enableExpandOnClick()){this.__showElement(item._get_subgroup(),item,false);this.__hideUpLevelItems(item);}},_onKeydownHandler:function(event){if(!this.get_isInitialized())return false;var shouldPreventDefault=true;var item=(this._activeItem)?this._activeItem:this.getItems().getItem(0);this.__setActiveItem(item);args=this._raiseClientEvent("KeyDown","DataMenuItemCancel",null,null,item);if(args&&args.get_cancel()){return false;}switch(event.keyCode){case Sys.UI.Key.space:{this.__selectItem(item,!item.get_selected(),true);break;}case Sys.UI.Key.left:{if(item.get_orientation()==$IG.Orientation.Horizontal){this.__focusPrevious(item);}else{this.__focusParent(item);}break;}case Sys.UI.Key.right:{if(item.get_orientation()==$IG.Orientation.Horizontal){this.__focusNext(item);}else if(item.get_orientation()==$IG.Orientation.Vertical&&item.hasChildren()){this.__focusChild(item);}else if(item.get_orientation()==$IG.Orientation.Vertical&&!item.hasChildren()){this.__focusParent(item);}break;}case Sys.UI.Key.enter:{item._toggleClicked();var args=this._raiseClientEvent("ItemClick","DataMenuItemCancel",null,null,item);if(args&&args.get_cancel()==true){return false;}this.__selectItem(item,true,true);this.__focusLink(item);var iLink=item.get_anchorElement();if(iLink!=null&&typeof(iLink)!="undefined"){var formElement=document.createElement("FORM");formElement.style.position="absolute";formElement.style.top="-1000px";formElement.style.left="-1000px";var submitEl=document.createElement("INPUT");submitEl.type="SUBMIT";formElement.appendChild(submitEl);document.body.appendChild(formElement);formElement.action=iLink.href;formElement.target=iLink.target;submitEl.focus();submitEl.click();document.body.removeChild(formElement);formElement.removeChild(submitEl);delete formElement;delete submitEl;}shouldPreventDefault=true;break;}case Sys.UI.Key.esc:{this.__hideAll();var firstItem=this.getItems()._getObjectByIndex(0);this.__focusLink(firstItem);break;}case Sys.UI.Key.tab:{shouldPreventDefault=false;break;}case Sys.UI.Key.up:{if(item.get_orientation()==$IG.Orientation.Vertical){this.__focusPrevious(item);}else if(item.hasChildren()){this.__focusChild(item);}else{this.__focusParent(item);}break;}case Sys.UI.Key.down:{if(item.get_orientation()==$IG.Orientation.Vertical){this.__focusNext(item);}else if(item.hasChildren()){this.__focusChild(item);}else{this.__focusParent(item);}break;}default:break;}if(shouldPreventDefault){$util.cancelEvent(event);}},__focusParent:function(item){var parent=item.get_parentItem();if(parent!=null){item.set_selected(false);var subgroup=parent._get_subgroup();this.__hideElement(subgroup,item);this.__focusLink(parent);item.restore_style();}},__focusChild:function(item){var firstChild=item;if(firstChild!=null){item.set_selected(false);var subgroup=firstChild._get_subgroup();this.__showElement(subgroup,firstChild,true);this.__focusLink(firstChild.get_childItem(0),true);}},__focusPrevious:function(item){item.set_selected(false);item.restore_style();var parentItem=item.get_parentItem();var collection;if(parentItem==null)collection=this.getItems();else collection=parentItem.getItems();var index=collection.get_indexOf(item);index--;if(index<0)index=collection._items.length-1;var prevItem=this.__findPrevItem(collection,item);this.__focusLink(prevItem);},__findPrevItem:function(collection,item){var index=collection.get_indexOf(item);var initialIndex=index;index--;if(index<0)index=collection._items.length-1;var nextItem=collection._items[index];while(!nextItem._getFlags().getEnabled(this)||nextItem.get_isSeparator()){nextItem=collection._items[--index];if(index==initialIndex||nextItem==item)break;if(index<0)index=collection._items.length-1;}return nextItem;},__focusNext:function(item){item.set_selected(false);item.restore_style();var parentItem=item.get_parentItem();var collection;if(parentItem==null)collection=this.getItems();else collection=parentItem.getItems();var nextItem=this.__findNextItem(collection,item);this.__focusLink(nextItem);},__findNextItem:function(collection,item){var index=collection.get_indexOf(item);var initialIndex=index;index++;if(index>=collection._items.length)index=0;var nextItem=collection._items[index];while(!nextItem._getFlags().getEnabled(this)||nextItem.get_isSeparator()){nextItem=collection._items[++index];if(index==initialIndex||nextItem==item)break;if(index>=collection._items.length)index=0;}return nextItem;},_onKeyupHandler:function(elem,adr,event){},_onKeypressHandler:function(elem,adr,event){},_createItem:function(element,adr){this._itemCollection._addObject($IG.DataMenuItem,element,adr);},_setupCollections:function(){this._itemCollection=this._collectionsManager.register_collection(0,$IG.DataMenuItemCollection);this._collectionsManager.registerUIBehaviors(this._itemCollection);},__hideAll:function(){clearTimeout(this._timeoutID);this.__clearAnimations();for(var key in this._visibleItems){if(this._visibleItems[key]!=null&&typeof(this._visibleItems[key])!="undefined"){args=this._raiseClientEvent("ItemCollapsing","DataMenuItemCancel",null,null,this._visibleItems[key]);if(args&&args.get_cancel())continue;this._visibleItems[key].set_expanded(false);this._visibleItems[key].set_hover(false);var subgroup=this._visibleItems[key]._get_subgroup();if(subgroup!=null&&subgroup.style.display!='none'){subgroup.style.display='none';subgroup.style.visibility='hidden';}this._raiseClientEvent("ItemCollapsed","DataMenuItemCancel",null,null,this._visibleItems[key]);this._visibleItems[key]=null;delete this._visibleItems[key];}}if(this.get_isContextMenu()){this.hide();}},__hideUpLevelItems:function(currentItem){var currSubGroup=currentItem._get_subgroup();var currentLevel=currentItem._get_level();for(var key in this._visibleItems){if(this._visibleItems[key]!=null&&typeof(this._visibleItems[key])!="undefined"&&this._visibleItems[key]!=currentItem){var level=this._visibleItems[key]._get_level();if(level>=currentLevel){if(currentItem.isDescendant(this._visibleItems[key]))continue;args=this._raiseClientEvent("ItemCollapsing","DataMenuItemCancel",null,null,this._visibleItems[key]);if(args&&args.get_cancel())continue;this._visibleItems[key].set_expanded(false);this._visibleItems[key].set_hover(false);var subgroup=this._visibleItems[key]._get_subgroup();if(subgroup!=null&&subgroup.style.display!='none'&&subgroup!=currSubGroup){subgroup.style.display='none';subgroup.style.visibility='hidden';}this._raiseClientEvent("ItemCollapsed","DataMenuItemCancel",null,null,this._visibleItems[key]);delete this._visibleItems[key];}}}},_shouldHover:function(item,e){if(!this.get_isInitialized())return false;e.cancelBubble=true;if(item.get_isSeparator())return false;if(e.type=="mouseover"){if(item._getFlags().getHovered())return false;else return true;}else if(e.type=="mouseout"){if(!item._getFlags().getHovered())return false;if(!$util.IsIE){var bounds=new Object();var itemPos=$util.getPosition(item._element);bounds.xZero=itemPos.x-itemPos.scrollX;bounds.xLimit=bounds.xZero+item._element.offsetWidth;bounds.yZero=itemPos.y-itemPos.scrollY;bounds.yLimit=bounds.yZero+item._element.offsetHeight;if(e.rawEvent.clientX>bounds.xZero&&e.rawEvent.clientX<bounds.xLimit&&e.rawEvent.clientY>bounds.yZero&&e.rawEvent.clientY<bounds.yLimit){}else{return true;}}else{if(((e.offsetX>item._element.offsetLeft&&e.offsetX<(item._element.offsetWidth+item._element.offsetLeft))&&(e.offsetY<(item._element.offsetHeight+item._element.offsetTop)))){}else{return true;}}}return false;},_hoverItem:function(item,shouldHover){var subgroup=item._get_subgroup();if(shouldHover){if(this._hoveredItem!=null&&this._hoveredItem._get_address()!=item._get_address()){this._hoveredItem._getFlags().setHovered(false);this._hoveredItem.restore_style();}this._raiseClientEvent("ItemHovered","DataMenuItemCancel",null,null,item);clearTimeout(this._timeoutID);if(subgroup!=null&&!this.get_enableExpandOnClick()){this.__showElement(subgroup,item,false);item.set_expanded(true);}if(!this.get_enableExpandOnClick())this.__hideUpLevelItems(item);this._hoveredItem=item;}else{this._hoveredItem=null;this._raiseClientEvent("ItemUnhovered","DataMenuItemCancel",null,null,item);this._timeoutID=setTimeout(Function.createDelegate(this,this.__hideAll),1000);}item.set_hover(shouldHover);},__animate:function(elem,item,isFromKeyboard,switched){if(!this.get_menuGroupSettings().get_enableAnimation()&&!this._get_itemsGroupSettins(item._get_address()).get_enableAnimation()){return;}this.__clearAnimations();this.__animation=new $IG.DataMenuAnimations(this,item,elem,isFromKeyboard);this.__animation.play();},_animationEnded:function(item){this._raiseClientEvent("ItemExpanded","DataMenuItemCancel",null,null,item);this._visibleItems[item._get_address()]=item;this.__clearAnimations();},__clearAnimations:function(){if(this.__animation!=null){try{this.__animation.clearAnimation();}catch(e){}this.__animation=null;}},get_menuGroupSettings:function(){if(this._menuGroupSettings==null||typeof(this._menuGroupSettings)=="undefined"){this._menuGroupSettings=new $IG.DataMenuGroupSettings(this._element,this._objectsManager.get_objectProps(1),this);this._objectsManager.register_object(1,this._menuGroupSettings);}return this._menuGroupSettings;},get_orientation:function(){return this.get_menuGroupSettings().get_orientation()},_get_itemsGroupSettins:function(fullAddress){if(this._itemsGroupSettings==null||this._itemsGroupSettings.length<1)return null;for(var i=0;i<this._itemsGroupSettings.length;i++){if(this._itemsGroupSettings[i].get_itemsFullAddress()==fullAddress){return this._itemsGroupSettings[i];}}return null;},removeItem:function(item){var adr=item._get_address();var cbo=this._callbackManager.createCallbackObject();cbo.serverContext.type=cbo.clientContext.type="remove";cbo.serverContext.address=adr;cbo.clientContext.item=item;this._callbackManager.execute(cbo);},addItem:function(txt,parentItem){var adr="";if(parentItem!=null&&typeof(parentItem)!="undefined")adr=parentItem._get_address();var cbo=this._callbackManager.createCallbackObject();cbo.serverContext.type=cbo.clientContext.type="add";cbo.serverContext.address=adr;cbo.serverContext.text=txt;cbo.clientContext.parentItem=parentItem;this._callbackManager.execute(cbo);},removeItem:function(item){var cbo=this._callbackManager.createCallbackObject();cbo.serverContext.type=cbo.clientContext.type="remove";cbo.serverContext.address=item._get_address();var parentItem=item.get_parentItem();cbo.clientContext.parentItem=parentItem;this._callbackManager.execute(cbo);},_responseComplete:function(callbackObject,responseObject){switch(callbackObject.serverContext.type){case "add":var html=responseObject.context[0];var parentItem=callbackObject.clientContext.parentItem;var element=this.get_element().getElementsByTagName("UL")[0];if(parentItem!=null&&typeof(parentItem)!="undefined"){element=parentItem.get_element();}else{element=document.createElement("LI");this.get_element().getElementsByTagName("UL")[0].appendChild(element);}var helperEl=document.createElement("DIV");helperEl.innerHTML=html;element.id=helperEl.firstChild.id;element.className=helperEl.firstChild.className;element.innerHTML=helperEl.firstChild.innerHTML;delete helperEl;var itemsCount=responseObject.context.length;for(var i=1;i<itemsCount;i++){var response=eval(responseObject.context[i]);var adr=response[0];var props=response[1];this._itemCollection._csm.set_itemProps(adr,props);}$util._initAttr(element);this._ensureItem(element,element.getAttribute("adr"));break;case "remove":var html=responseObject.context[0];var itemsCount=responseObject.context.length;for(var i=2;i<itemsCount;i++){var response=eval(responseObject.context[i]);var adr=response[0];var props=response[1];this._itemCollection._csm.set_itemProps(adr,props);}var parentItem=callbackObject.clientContext.parentItem;var element=this.get_element();if(parentItem!=null&&typeof(parentItem)!="undefined"){element=parentItem.get_element();var helperEl=document.createElement("DIV");helperEl.innerHTML=html;element.id=helperEl.firstChild.id;element.className=helperEl.firstChild.className;element.innerHTML=helperEl.firstChild.innerHTML;delete helperEl;$util._initAttr(element);this._ensureItem(element,element.getAttribute("adr"));}else{element.innerHTML=html;}break;}this.getItems()._items=[];var children=this.get_element().getElementsByTagName("LI");for(i=0;i<children.length;i++){var child=children[i];$util._initAttr(child);this._ensureItem(child,child.getAttribute("adr"));}},_ensureItem:function(e,adr){var item=this._itemCollection._getObjectByAdr(adr);if(item==null||e!=null)item=this._itemCollection._addObject($IG.DataMenuItem,e,adr);return item;}};$IG.WebDataMenu.registerClass('Infragistics.Web.UI.WebDataMenu',$IG.NavControl);$IG.DataMenuItemCollection=function(control,clientStateManager,index,manager){$IG.DataMenuItemCollection.initializeBase(this,[control,clientStateManager,index,manager]);};$IG.DataMenuItemCollection.prototype={_createNewCollection:function(){var nodes=new $IG.DataMenuItemCollection(this._control,this._csm,this._index,this._manager);nodes._ownerNode=this;return nodes;},getItem:function(index){if(index.toString().indexOf(".")>=0){var indeces=index.toString().split(".");var itemsCollection=this._control.getItems();var item=null;for(var i=0;i<indeces.length;i++){item=itemsCollection.getItem(indeces[i]);if(item!=null)itemsCollection=item.getItems();else break;if(itemsCollection==null||typeof(itemsCollection)=="undefined")break;}return item;}else{if(index>=0&&index<this.get_length())return this._items[index];}return null;},getChildrenCount:function(){if(this._items!=null&&typeof(this._items)!="undefined"&&typeof(this._items.length)!="undefned")return this._items.length;return 0;}};$IG.DataMenuItemCollection.registerClass('Infragistics.Web.UI.DataMenuItemCollection',$IG.NavItemCollection);$IG.DataMenuItemCancelEventArgs=function(){$IG.DataMenuItemCancelEventArgs.initializeBase(this);};$IG.DataMenuItemCancelEventArgs.prototype={getItem:function(){return this._props[2];},dispose:function(){this._props[0]=null;this._props[1]=null;this._props[2]=null;},_getPostArgs:function(){return ':'+this.getItem()._get_address();}};$IG.DataMenuItemCancelEventArgs.registerClass('Infragistics.Web.UI.DataMenuItemCancelEventArgs',$IG.CancelEventArgs);$IG.DataMenuAnimations=function(control,dmItem,elem,isFromKB){$IG.DataMenuAnimations.initializeBase(this);this._dmItem=dmItem;this._groupSettings=control._get_itemsGroupSettins(this._dmItem._get_address());this._orientation=this._groupSettings.get_orientation();this._control=control;this._isFromKB=isFromKB;this._elementToAnimate=elem;};$IG.DataMenuAnimations.prototype={_groupSettings:$IG.DataMenuGroupSettings,_dmItem:$IG.DataMenuItem,_orientation:0,_control:$IG.WebDataMenu,_isFromKB:false,_animation:null,_elementToAnimate:null,add_onStop:function(handler){this.get_events().addHandler("onStop",handler);},remove_onStop:function(handler){this.get_events().removeHandler("onStop",handler);},get_item:function(){return this._dmItem;},clearAnimation:function(){if(this._animation!=null){try{this._animation.stop();}catch(e){};}this._animation=null;},play:function(){var item=this._dmItem;var menu=this._control;var that=this;if(this._groupSettings.get_animationType()==$IG.DataMenuAnimationtype.ExpandAnimation){this._animation=new $IG.DataMenuExpandAnimator(this._control,this._elementToAnimate,this._dmItem,this._isFromKB);this._animation.onEnd=function(){that.onStop(item,menu);};this._animation.play(this._groupSettings.get_animationDuration(),this._groupSettings.get_animationEquationType(),true);window.setTimeout(function(){that._dmItem._get_subgroup().style.visibility="visible";},100);}else if(this._groupSettings.get_animationType()==$IG.DataMenuAnimationtype.OpacityAnimation){this._animation=new $IG.OpacityAnimation(this._elementToAnimate);this._animation.set_duration(this._groupSettings.get_animationDuration());this._animation.onEnd=function(){that.onStop(item,menu);};this._animation.play(0,100,true);this._dmItem._get_subgroup().style.visibility="visible";}},dispose:function(){this.clearAnimation();$IG.DataMenuAnimations.callBaseMethod(this,'dispose');},onStop:function(item,menu){menu._animationEnded(item);}};$IG.DataMenuAnimations.registerClass("Infragistics.Web.UI.DataMenuAnimations",Sys.Component);$IG.DataMenuExpandAnimator=function(control,element,containingItem,isFromKB){this._containingItem=containingItem;this._orientation=containingItem.get_orientation();this._control=control;this._isFromKB=isFromKB;$IG.DataMenuExpandAnimator.initializeBase(this,[element]);};$IG.DataMenuExpandAnimator.prototype={_init:function(){this._oldStyle=this._element.style;var bounds=Sys.UI.DomElement.getBounds(this._element);this._begin=0;this._currentValue=0;this._animatingContainer=document.createElement("div");this._animatingContainer.style.position="absolute";this._animatingContainer.style.display="block";this._animatingContainer.style.visibility="visible";if(this._orientation==$IG.Orientation.Vertical||this._containingItem._get_level()>1){this._end=bounds.width;this._animatingContainer.style.width="0px";this._animatingContainer.style.height=bounds.height+"px";}else{this._end=bounds.height;this._animatingContainer.style.width=bounds.width+"px";this._animatingContainer.style.height="0px";}this._animatingContainer.style.marginLeft=this._element.style.marginLeft;this._animatingContainer.style.marginTop=this._element.style.marginTop;this._animatingContainer.style.overflow="hidden";this._animatingContainer.style.border="0px none";this._containingItem._element.appendChild(this._animatingContainer);this._animatingContainer.appendChild(this._element);this._element.style.position="relative";this._element.style.marginLeft="0px";this._element.style.marginTop="0px";},_next:function(){this._currentValue=$IG.DataMenuExpandAnimator.callBaseMethod(this,"_calc",[1,this._time,this._begin,this._end,this._duration]);if(this._orientation==$IG.Orientation.Vertical||this._containingItem._get_level()>1){this._animatingContainer.style.width=this._currentValue+"px";}else{this._animatingContainer.style.height=this._currentValue+"px";}if((this._begin<this._end&&this._currentValue>=this._end)||(this._begin>this._end&&this._currentValue<=this._end)){this.stop();}},play:function(duration,equationType,unattach){if(!this.get_isAnimating()){this.set_duration(duration);this._equationType=equationType;$IG.DataMenuExpandAnimator.callBaseMethod(this,"play");}},stop:function(){this._containingItem._element.appendChild(this._element);this._containingItem._element.removeChild(this._animatingContainer);this._element.style.position="absolute";this._element.style.marginLeft=this._animatingContainer.style.marginLeft;this._element.style.marginTop=this._animatingContainer.style.marginTop;if(this._isFromKB)this._control.__focusLink(this._containingItem.get_childItem(0));$IG.DataMenuExpandAnimator.callBaseMethod(this,"stop");},get_item:function(){return this._containingItem;}};$IG.DataMenuExpandAnimator.registerClass("Infragistics.Web.UI.DataMenuExpandAnimator",$IG.AnimationBase); 
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();