
Type.registerNamespace('Monster.Client.Behavior');Monster.Client.Behavior.ReduxDropDownListAdapter=function(element){Monster.Client.Behavior.ReduxDropDownListAdapter.initializeBase(this,[element]);this._selectEntry=$(this._element).parent().prev().prev()[0];this._selectArrow=$(this._element).parent().prev()[0];this._isOpen=false;this.KEYCODES={Enter:13,Up:38,Down:40};}
Monster.Client.Behavior.ReduxDropDownListAdapter.prototype={initialize:function(){Monster.Client.Behavior.ReduxDropDownListAdapter.callBaseMethod(this,'initialize');$addHandlers(this._selectEntry,{click:this.handleEntryClick},this);$addHandlers(this._selectArrow,{click:this.handleEntryClick},this);var selEvents={click:this.handleSelectClick,keydown:this.handleSelectKeyDown,keyup:this.handleSelectKeyUp};$addHandlers(this._element,selEvents,this);},dispose:function(){Monster.Client.Behavior.ReduxDropDownListAdapter.callBaseMethod(this,'dispose');},handleEntryClick:function(evt){evt.preventDefault();var sel=$(this._element);if(this._isOpen){sel.parent().css("display","none");}else{sel.parent().css("display","block");sel.focus();}
this._isOpen=!this._isOpen;},handleSelectClick:function(evt){var entry=$(this._selectEntry);entry.text(this._element[this._element.selectedIndex].text);$(this._element).parent().css("display","none");this._isOpen=false;},handleSelectKeyDown:function(evt){var entry=$(this._selectEntry);switch(evt.keyCode){case this.KEYCODES.Up:var idx=this._element.selectedIndex-1;if(idx<0)idx=0;entry.text(this._element[idx].text);break;case this.KEYCODES.Down:var idx=this._element.selectedIndex+1;if(idx>=this._element.length)idx=this._element.length-1;entry.text(this._element[idx].text);break;default:break;}},handleSelectKeyUp:function(evt){var entry=$(this._selectEntry);switch(evt.keyCode){case this.KEYCODES.Enter:this.handleSelectClick(evt);break;default:entry.text(this._element[this._element.selectedIndex].text);break;}}}
Monster.Client.Behavior.ReduxDropDownListAdapter.registerClass('Monster.Client.Behavior.ReduxDropDownListAdapter',Monster.Client.Behavior.DataAdapterBase);if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();
;
