
Type.registerNamespace('AjaxControlToolkit');AjaxControlToolkit.TextBoxWatermarkBehavior=function(element){
AjaxControlToolkit.TextBoxWatermarkBehavior.initializeBase(this,[element]);this._watermarkText=null;this._watermarkCssClass=null;this._focusHandler=null;this._blurHandler=null;this._keyPressHandler=null;this._propertyChangedHandler=null;this._watermarkChangedHandler=null;this._oldClassName=null;this._clearedForSubmit=null;this._maxLength=null;if((typeof(WebForm_OnSubmit)=='function')&&!AjaxControlToolkit.TextBoxWatermarkBehavior._originalWebForm_OnSubmit){
AjaxControlToolkit.TextBoxWatermarkBehavior._originalWebForm_OnSubmit=WebForm_OnSubmit;WebForm_OnSubmit=AjaxControlToolkit.TextBoxWatermarkBehavior.WebForm_OnSubmit;}}
AjaxControlToolkit.TextBoxWatermarkBehavior.prototype={
initialize:function(){
AjaxControlToolkit.TextBoxWatermarkBehavior.callBaseMethod(this,'initialize');var e=this.get_element();var hasInitialFocus=false;var clientState=AjaxControlToolkit.TextBoxWatermarkBehavior.callBaseMethod(this,'get_ClientState');if(clientState!=null&&clientState!=""){
hasInitialFocus=(clientState=="Focused");AjaxControlToolkit.TextBoxWatermarkBehavior.callBaseMethod(this,'set_ClientState',null);}
this._oldClassName=e.className;this._focusHandler=Function.createDelegate(this,this._onFocus);this._blurHandler=Function.createDelegate(this,this._onBlur);this._keyPressHandler=Function.createDelegate(this,this._onKeyPress);$addHandler(e,'focus',this._focusHandler);$addHandler(e,'blur',this._blurHandler);$addHandler(e,'keypress',this._keyPressHandler);this.registerPropertyChanged();var currentValue=AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_Current();var wrapper=AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element());if((""==currentValue)||(this._watermarkText==currentValue)){
wrapper.set_Watermark(this._watermarkText)
wrapper.set_IsWatermarked(true);}
if(hasInitialFocus){
this._onFocus();}else{
e.blur();this._onBlur();}
this._clearedForSubmit=false;this.registerPartialUpdateEvents();this._watermarkChangedHandler=Function.createDelegate(this,this._onWatermarkChanged);wrapper.add_WatermarkChanged(this._watermarkChangedHandler);},
dispose:function(){
var e=this.get_element();if(this._watermarkChangedHandler){
AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).remove_WatermarkChanged(this._watermarkChangedHandler);this._watermarkChangedHandler=null;}
if(e.control&&this._propertyChangedHandler){
e.control.remove_propertyChanged(this._propertyChangedHandler);this._propertyChangedHandler=null;}
if(this._focusHandler){
$removeHandler(e,'focus',this._focusHandler);this._focusHandler=null;}
if(this._blurHandler){
$removeHandler(e,'blur',this._blurHandler);this._blurHandler=null;}
if(this._keyPressHandler){
$removeHandler(e,'keypress',this._keyPressHandler);this._keyPressHandler=null;}
if(AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_IsWatermarked()){
this.clearText(false);}
AjaxControlToolkit.TextBoxWatermarkBehavior.callBaseMethod(this,'dispose');},
_onWatermarkChanged:function(sender,eventArgs){
if(AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_IsWatermarked()){
this._onBlur();}else{
this._onFocus();}},
clearText:function(focusing){
var element=this.get_element();var wrapper=AjaxControlToolkit.TextBoxWrapper.get_Wrapper(element);wrapper.set_Value("");wrapper.set_IsWatermarked(false);if(focusing){
element.setAttribute("autocomplete","off");element.select();}},
_onFocus:function(evt){
var e=this.get_element();if(AjaxControlToolkit.TextBoxWrapper.get_Wrapper(e).get_IsWatermarked()){
this.clearText(evt?true:false);}
e.className=this._oldClassName;if(this._maxLength>0){
this.get_element().maxLength=this._maxLength;this._maxLength=null;}},
_onBlur:function(){
var wrapper=AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element());if((""==wrapper.get_Current())||wrapper.get_IsWatermarked()){
if(this.get_element().maxLength>0&&this._watermarkText.length>this.get_element().maxLength){
this._maxLength=this.get_element().maxLength;this.get_element().maxLength=this._watermarkText.length;}
this._applyWatermark();}},
_applyWatermark:function(){
var wrapper=AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element());wrapper.set_Watermark(this._watermarkText);wrapper.set_IsWatermarked(true);if(this._watermarkCssClass){
this.get_element().className=this._watermarkCssClass;}},
_onKeyPress:function(){
AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).set_IsWatermarked(false);},
registerPropertyChanged:function(){
var e=this.get_element();if(e.control&&!this._propertyChangedHandler){
this._propertyChangedHandler=Function.createDelegate(this,this._onPropertyChanged);e.control.add_propertyChanged(this._propertyChangedHandler);}},
_onPropertyChanged:function(sender,propertyChangedEventArgs){
if("text"==propertyChangedEventArgs.get_propertyName()){
this.set_Value(AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_Current());}},
_onSubmit:function(){
if(AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_IsWatermarked()){
this.clearText(false);this._clearedForSubmit=true;}},
_partialUpdateEndRequest:function(sender,endRequestEventArgs){
AjaxControlToolkit.TextBoxWatermarkBehavior.callBaseMethod(this,'_partialUpdateEndRequest',[sender,endRequestEventArgs]);if(this.get_element()&&this._clearedForSubmit){
this.get_element().blur();this._onBlur();this._clearedForSubmit=false;}},
get_WatermarkText:function(){
return this._watermarkText;},
set_WatermarkText:function(value){
if(this._watermarkText!=value){
this._watermarkText=value;if(AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_IsWatermarked()){
this._applyWatermark();}
this.raisePropertyChanged('WatermarkText');}},
get_WatermarkCssClass:function(){
return this._watermarkCssClass;},
set_WatermarkCssClass:function(value){
if(this._watermarkCssClass!=value){
this._watermarkCssClass=value;if(AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_IsWatermarked()){
this._applyWatermark();}
this.raisePropertyChanged('WatermarkCssClass');}},
get_Text:function(){
return AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_Value();},
set_Text:function(value){
if(""==value){
AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).set_Current("");this.get_element().blur();this._onBlur();}else{
this._onFocus();AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).set_Current(value);}}}
AjaxControlToolkit.TextBoxWatermarkBehavior.registerClass('AjaxControlToolkit.TextBoxWatermarkBehavior',AjaxControlToolkit.BehaviorBase);AjaxControlToolkit.TextBoxWatermarkBehavior.WebForm_OnSubmit=function(){
var result=AjaxControlToolkit.TextBoxWatermarkBehavior._originalWebForm_OnSubmit();if(result){
var components=Sys.Application.getComponents();for(var i=0;i<components.length;i++){
var component=components[i];if(AjaxControlToolkit.TextBoxWatermarkBehavior.isInstanceOfType(component)){
component._onSubmit();}}}
return result;}