Type.registerNamespace("Sys.Extended.UI"),Sys.Extended.UI.FilteredTextBoxBehavior=function(e){Sys.Extended.UI.FilteredTextBoxBehavior.initializeBase(this,[e]),this._keypressHandler=null,this._changeHandler=null,this._intervalID=null,this._filterType=Sys.Extended.UI.FilterTypes.Custom,this._filterMode=Sys.Extended.UI.FilterModes.ValidChars,this._validChars=null,this._invalidChars=null,this._filterInterval=250,this.charTypes={},this.charTypes.LowercaseLetters="abcdefghijklmnopqrstuvwxyz",this.charTypes.UppercaseLetters="ABCDEFGHIJKLMNOPQRSTUVWXYZ",this.charTypes.Numbers="0123456789"},Sys.Extended.UI.FilteredTextBoxBehavior.prototype={initialize:function(){Sys.Extended.UI.FilteredTextBoxBehavior.callBaseMethod(this,"initialize");var e=this.get_element();this._keypressHandler=Function.createDelegate(this,this._onkeypress),$addHandler(e,"keypress",this._keypressHandler),this._changeHandler=Function.createDelegate(this,this._onchange),$addHandler(e,"change",this._changeHandler);var t=Function.createDelegate(this,this._intervalCallback);this._intervalID=window.setInterval(t,this._filterInterval)},dispose:function(){var e=this.get_element();$removeHandler(e,"keypress",this._keypressHandler),this._keypressHandler=null,$removeHandler(e,"change",this._changeHandler),this._changeHandler=null,window.clearInterval(this._intervalID),Sys.Extended.UI.FilteredTextBoxBehavior.callBaseMethod(this,"dispose")},_getValidChars:function(){if(this._validChars)return this._validChars;this._validChars="";for(type in this.charTypes){var e=Sys.Extended.UI.FilterTypes.toString(this._filterType);e.indexOf(type)!=-1&&(this._validChars+=this.charTypes[type])}return this._validChars},_getInvalidChars:function(){return this._invalidChars||(this._invalidChars=this.charTypes.Custom),this._invalidChars},_onkeypress:function(e){var t;if((0!=e.rawEvent.charCode&&(e.rawEvent.keyCode!=e.rawEvent.which||void 0!=e.rawEvent.charCode)||e.rawEvent.keyCode!=Sys.UI.Key.pageUp&&e.rawEvent.keyCode!=Sys.UI.Key.pageDown&&e.rawEvent.keyCode!=Sys.UI.Key.up&&e.rawEvent.keyCode!=Sys.UI.Key.down&&e.rawEvent.keyCode!=Sys.UI.Key.left&&e.rawEvent.keyCode!=Sys.UI.Key.right&&e.rawEvent.keyCode!=Sys.UI.Key.home&&e.rawEvent.keyCode!=Sys.UI.Key.end&&46!=e.rawEvent.keyCode)&&!e.ctrlKey){if("keyIdentifier"in e.rawEvent){if(e.rawEvent.ctrlKey||e.rawEvent.altKey||e.rawEvent.metaKey)return;if(t=e.rawEvent.charCode,63272==t)return}else t=e.charCode;if(t&&t>=32){var r=String.fromCharCode(t);this._processKey(r)||e.preventDefault()}}},_processKey:function(e){var t="",r=!1;this._filterMode==Sys.Extended.UI.FilterModes.ValidChars?(t=this._getValidChars(),r=t&&t.length>0&&t.indexOf(e)==-1):(t=this._getInvalidChars(),r=t&&t.length>0&&t.indexOf(e)>-1);var s=new Sys.Extended.UI.FilteredTextBoxProcessKeyEventArgs(e,Sys.Extended.UI.TextBoxWrapper.get_Wrapper(this.get_element()).get_Value(),r);return this.raise_processKey(s),!!s.get_allowKey()||(this.raise_filtered(new Sys.Extended.UI.FilteredTextBoxEventArgs(e)),!1)},_onchange:function(){for(var e=Sys.Extended.UI.TextBoxWrapper.get_Wrapper(this.get_element()),t=e.get_Value()||"",r=new Sys.StringBuilder,s=0;s