﻿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
;}

if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();