// Gaia Ajax Widgets Copyright (C) 2007 - 2008 Gaiaware AS. details at http://ajaxwidgets.com/
Gaia.TextBox=Class.create();Object.extend(Gaia.TextBox.prototype,Gaia.WebControl.prototype);Object.extend(Gaia.TextBox.prototype,{initialize:function(element,options){this.initializeTextBox(element,options);},initializeTextBox:function(element,options){options=Object.extend({keyChangeEvents:false,keyChangeEventsInterval:500},options||{});this.initializeWebControl(element,options);this.setKeyChangeEvents(this.options.keyChangeEvents);},setKeyChangeEvents:function(value){this.options.keyChangeEvents=value;if(value){this.lastServerCall=null;this.onKeyChange=this.keyChange.bind(this);Element.observe(this.element,'keyup',this.onKeyChange);this.onTimerTick=this._timerTick.bind(this);}else{if(this.onKeyChange){Element.stopObserving(this.element,'keyup',this.onKeyChange);delete this.onKeyChange;}}},setKeyChangeEventsInterval:function(value){this.options.keyChangeEventsInterval=value;},keyChange:function(){if(this._timer)
clearTimeout(this._timer);this._timer=setTimeout(this.onTimerTick,this.options.keyChangeEventsInterval);},_timerTick:function(){var elVal=$F(this.element);if(this.lastServerCall!=elVal){this.lastServerCall=elVal;this._onEventImpl(null,null,true);}},setText:function(value){this.element.value=value;return this;},setSelectAll:function(value){this.element.select();return this;},setTabIndex:function(value){this.element.tabIndex=value;return this;},setAutoPostBack:function(value){if(value){if((this._subscribedEvents==null)&&this.options.keyChangeEvents){this.observe('change');}}else{if(this._subscribedEvents){for(var idx=0,length=this._subscribedEvents.length;idx<length;++idx){var evt=this._subscribedEvents[idx];Element.stopObserving(this.element,evt.name,evt.evt);}
delete this._subscribedEvents;}}
return this;},_getElementPostValue:function(){return'&'+this.getCallbackName()+'='+encodeURIComponent($F(this.element.id));},_getElementPostValueEvent:function(){return'&'+this.getCallbackName()+'='+encodeURIComponent($F(this.element.id))+'&__EVENTTARGET='+this.getCallbackName();}});Gaia.TextBox.browserFinishedLoading=true;