/*-----------------------------------------------------------------------------------*/
/*Copyright (C) Simplovation LLC (http://Simplovation.com) 2008. All rights reserved.*/
/*-----------------------------------------------------------------------------------*/
/*AsyncScriptControl.js*/
Type.registerNamespace("Simplovation.Web.Maps.VE");
Simplovation.Web.Maps.VE.AsyncScriptControl=function(element){Simplovation.Web.Maps.VE.AsyncScriptControl.initializeBase(this,[element]);this._hiddenFieldAlreadySet=false;this._lastPageLoadDataItem=null;this._pageLoadingHandler$delegate=Function.createDelegate(this,this._pageLoadingHandler);this._pageBeginRequestHandler$delegate=Function.createDelegate(this,this._pageBeginRequestHandler);};
Simplovation.Web.Maps.VE.AsyncScriptControl.prototype={
    initialize:function(){Simplovation.Web.Maps.VE.AsyncScriptControl.callBaseMethod(this,"initialize");Sys.WebForms.PageRequestManager.getInstance().add_pageLoading(this._pageLoadingHandler$delegate);Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(this._pageBeginRequestHandler$delegate);},
    dispose:function(){if(typeof(Sys.WebForms)!=="undefined"&&typeof(Sys.WebForms.PageRequestManager)!=="undefined"){Sys.WebForms.PageRequestManager.getInstance().remove_pageLoading(this._pageLoadingHandler$delegate);Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._pageBeginRequestHandler$delegate);}Simplovation.Web.Maps.VE.AsyncScriptControl.callBaseMethod(this,"dispose");},
    _triggerAsyncPostback:function(){var data=this._setHiddenFieldMapData(arguments);this._hiddenFieldAlreadySet=true;if (data!=null){/*TriggerPostback*/var lb=document.getElementById(this.get_id()+"_UP_LB");var s=lb.href.substring(lb.href.indexOf(":")+1);eval(s);}},
    _pageLoadingHandler:function(sender,args){var dataItems=args.get_dataItems();document.getElementById(this.get_id()+"_UP_HiddenField").value="";if(this._lastPageLoadDataItem!=dataItems[this.get_id()]){var data=dataItems[this.get_id()];this.LoadAsyncEventData(data);this._lastPageLoadDataItem=data;}},
    _pageBeginRequestHandler:function(sender,args){if(!this._hiddenFieldAlreadySet){this._setHiddenFieldMapData("");/*AddMapDataToRequest*/var hiddenField=document.getElementById(this.get_id()+'_UP_HiddenField');var hiddenFieldPostbackName=hiddenField.name;while(hiddenFieldPostbackName.indexOf("$")>-1){hiddenFieldPostbackName=hiddenFieldPostbackName.replace("$","%24");}var newHiddenFieldPostbackValue=hiddenFieldPostbackName+'='+hiddenField.value;var items=args.get_request().get_body().split("&");var newBody="";var hiddenFieldAlreadyIncluded=false;for(var i=0;i<items.length;i++){if(newBody.length!=0){newBody+="&";}if(items[i].substring(0,hiddenFieldPostbackName.length)==hiddenFieldPostbackName&&!hiddenFieldAlreadyIncluded){newBody+=newHiddenFieldPostbackValue;hiddenFieldAlreadyIncluded=true;}else{newBody+=items[i];}}args.get_request().set_body(newBody);}this._hiddenFieldAlreadySet=false;},
    _setHiddenFieldMapData:function(args){var hf=document.getElementById(this.get_id()+'_UP_HiddenField');var data=this.GetAsyncEventData(args);hf.value=data;return data;},
    GetAsyncEventData:function(args){return null;},LoadAsyncEventData:function(args){return null;}
};
Simplovation.Web.Maps.VE.AsyncScriptControl.registerClass("Simplovation.Web.Maps.VE.AsyncScriptControl",Sys.UI.Control);if(typeof(Sys)!=="undefined"){Sys.Application.notifyScriptLoaded();}
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();