function AutoSuggestControl(oTextbox,oProvider){this.provider=oProvider;this.textbox=oTextbox;this.init();}AutoSuggestControl.prototype.autosuggest=function(aSuggestions){if(aSuggestions.length>0){this.typeAhead(aSuggestions[0]);}};AutoSuggestControl.prototype.handleKeyUp=function(oEvent){var iKeyCode=oEvent.keyCode;if(iKeyCode<32||(iKeyCode>=33&&iKeyCode<=46)||(iKeyCode>=112&&iKeyCode<=123)){}else{this.provider.requestSuggestions(this);}};AutoSuggestControl.prototype.init=function(){var oThis=this;this.textbox.onkeyup=function(oEvent){if(!oEvent){oEvent=window.event}oThis.handleKeyUp(oEvent);}};AutoSuggestControl.prototype.selectRange=function(iStart,iLength){if(this.textbox.createTextRange){var oRange=this.textbox.createTextRange();oRange.moveStart("character",iStart);oRange.moveEnd("character",iLength-this.textbox.value.length);oRange.select();}else if(this.textbox.setSelectionRange){this.textbox.setSelectionRange(iStart,iLength);}this.textbox.focus();};AutoSuggestControl.prototype.typeAhead=function(sSuggestion){if(this.textbox.createTextRange||this.textbox.setSelectionRange){var iLen=this.textbox.value.length;this.textbox.value=sSuggestion;this.selectRange(iLen,sSuggestion.length);}};