﻿Type.registerNamespace('AjaxControlToolkit');AjaxControlToolkit.DynamicPopulateBehavior=function(element){AjaxControlToolkit.DynamicPopulateBehavior.initializeBase(this,[element]);this._servicePath=null;this._serviceMethod=null;this._contextKey=null;this._populateTriggerID=null;this._setUpdatingCssClass=null;this._clearDuringUpdate=true;this._customScript=null;this._clickHandler=null;this._callID=0;this._currentCallID=-1;};AjaxControlToolkit.DynamicPopulateBehavior.prototype={initialize:function(){AjaxControlToolkit.DynamicPopulateBehavior.callBaseMethod(this,'initialize');if(this._populateTriggerID){var populateTrigger=$get(this._populateTriggerID);if(populateTrigger){this._clickHandler=Function.createDelegate(this,this._onPopulateTriggerClick);$addHandler(populateTrigger,"click",this._clickHandler);}}},dispose:function(){if(this._populateTriggerID&&this._clickHandler){var populateTrigger=$get(this._populateTriggerID);if(populateTrigger){$removeHandler(populateTrigger,"click",this._clickHandler);}this._populateTriggerID=null;this._clickHandler=null;}AjaxControlToolkit.DynamicPopulateBehavior.callBaseMethod(this,'dispose');},add_populated:function(handler){this.get_events().addHandler("populated",handler);},remove_populated:function(handler){this.get_events().removeHandler("populated",handler);},raisePopulated:function(arg){var handler=this.get_events().getHandler("populated");if(handler)handler(this,arg);},add_populating:function(handler){this.get_events().addHandler("populating",handler);},remove_populating:function(handler){this.get_events().removeHandler("populating",handler);},raisePopulating:function(arg){var handler=this.get_events().getHandler("populating");if(handler)handler(this,arg);},populate:function(contextKey){if(this._currentCallID==-1){this._setUpdating(true);}if(this._customScript){var scriptResult=eval(this._customScript);this.get_element().innerHTML=scriptResult;this._setUpdating(false);}else{this._currentCallID=++this._callID;if(this._servicePath&&this._serviceMethod){Sys.Net.WebServiceProxy.invoke(this._servicePath,this._serviceMethod,false,{contextKey:(contextKey?contextKey:this._contextKey)},Function.createDelegate(this,this._onMethodComplete),Function.createDelegate(this,this._onMethodError),this._currentCallID);}}},_onMethodComplete:function(result,userContext,methodName){if(userContext!=this._currentCallID)return;var e=this.get_element();if(e){e.innerHTML=result;}this._setUpdating(false);},_onMethodError:function(webServiceError,userContext,methodName){if(userContext!=this._currentCallID)return;var e=this.get_element();if(e){if(webServiceError.get_timedOut()){e.innerHTML=AjaxControlToolkit.Resources.DynamicPopulate_WebServiceTimeout;}else{e.innerHTML=String.format(AjaxControlToolkit.Resources.DynamicPopulate_WebServiceError,webServiceError.get_statusCode());}}this._setUpdating(false);},_onPopulateTriggerClick:function(){this.populate(this._contextKey);},_setUpdating:function(updating){var e=this.get_element();if(this._setUpdatingCssClass){if(!updating){e.className=this._oldCss;this._oldCss=null;}else{this._oldCss=e.className;e.className=this._setUpdatingCssClass;}}if(updating&&this._clearDuringUpdate){e.innerHTML="";}if(updating){this.raisePopulating(this,Sys.EventArgs.Empty);}else{this._currentCallID=-1;this.raisePopulated(this,Sys.EventArgs.Empty);}},get_ClearContentsDuringUpdate:function(){return this._clearDuringUpdate;},set_ClearContentsDuringUpdate:function(value){if(this._clearDuringUpdate!=value){this._clearDuringUpdate=value;this.raisePropertyChanged('ClearContentsDuringUpdate');}},get_ContextKey:function(){return this._contextKey;},set_ContextKey:function(value){if(this._contextKey!=value){this._contextKey=value;this.raisePropertyChanged('ContextKey');}},get_PopulateTriggerID:function(){return this._populateTriggerID;},set_PopulateTriggerID:function(value){if(this._populateTriggerID!=value){this._populateTriggerID=value;this.raisePropertyChanged('PopulateTriggerID');}},get_ServicePath:function(){return this._servicePath;},set_ServicePath:function(value){if(this._servicePath!=value){this._servicePath=value;this.raisePropertyChanged('ServicePath');}},get_ServiceMethod:function(){return this._serviceMethod;},set_ServiceMethod:function(value){if(this._serviceMethod!=value){this._serviceMethod=value;this.raisePropertyChanged('ServiceMethod');}},get_UpdatingCssClass:function(){return this._setUpdatingCssClass;},set_UpdatingCssClass:function(value){if(this._setUpdatingCssClass!=value){this._setUpdatingCssClass=value;this.raisePropertyChanged('UpdatingCssClass');}},get_CustomScript:function(){return this._customScript;},set_CustomScript:function(value){if(this._customScript!=value){this._customScript=value;this.raisePropertyChanged('CustomScript');}}};AjaxControlToolkit.DynamicPopulateBehavior.registerClass('AjaxControlToolkit.DynamicPopulateBehavior',AjaxControlToolkit.BehaviorBase);
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();