var Page = null;

$(function(){
    if(!Sys || !Sys.Application) return;    
    var app = Sys.Application;
    //Sys.WebForms.InitializeRequestEventArgs
    var Page_InitializeRequest = function(sender,args){
        
    };
    //Sys.WebForms.BeginRequestEventArgs
    var Page_BeginRequest = function(sender,args){
        //window['Loading'].show();
        //save page setting;
        if(Page) Page.Save();
    };
    //Sys.WebForms.PageLoadingEventArgs
    var Page_PageLoading = function(sender,args){
    
    };
    //Sys.WebForms.PageLoadedEventArgs
    var Page_PageLoaded = function(sender,args){
        var panel = args.get_panelsUpdated();
        if(panel){
            /*for(var p in panel){
                $('>script:first',panel[p]).each(function(i){
                   if(this.innerHTML != ''){
                      try{
                       eval(this.innerHTML);}
                      catch(m){
                        alert(m);
                      }
                   }
                });
            }*/
            //Class.each('IRender');
        }
    };
    //Sys.WebForms.EndRequestEventArgs
    var Page_EndRequest = function(sender,args){
       // window['Loading'].hiden();
        if (args.get_error() != null && args.get_error() != undefined) {            
            /*if(args.get_error().message.substring(0, 51) == "Sys.WebForms.PageRequestManagerParserErrorException" 
            || args.get_error().name == "Sys.WebForms.PageRequestManagerParserErrorException") {                
                alert("Exception occurred, maybe network error or invalid data, Please try again!");
            }
            else if(args.get_error().message == 'An unknown error occurred.Please try again or contact system administrator.'){                
                alert("");
            }else{               
                alert(args.get_error().message);
            }*/
            alert(args.get_error().message);
            args.set_errorHandled(true); 
        }
    }; 
    var Application_Init = function (sender,args){
        var prm = Sys.WebForms.PageRequestManager.getInstance();        
        if (!prm.get_isInAsyncPostBack()){
            prm.add_initializeRequest(Page_InitializeRequest);
            prm.add_beginRequest(Page_BeginRequest);
            prm.add_pageLoading(Page_PageLoading);
            prm.add_pageLoaded(Page_PageLoaded);
            prm.add_endRequest(Page_EndRequest);/**/

            /*prm.orgDoPostBackFunction = window.__doPostBack;
            function $ADC_doPostBack(eventTarget, eventArgument) {
                if(theForm._EnableInvalid) {
                    alert(eventTarget);
                }
                this.orgDoPostBackFunction(eventTarget,eventArgument);
            };
            window.__doPostBack = Function.createDelegate(prm, $ADC_doPostBack);
            */
            prm._onFormSubmitHandlerFunction = prm._onFormSubmitHandler; 
            Sys.UI.DomEvent.removeHandler(prm._form, 'submit', prm._onFormSubmitHandler);
            prm._onFormSubmitFunction = prm._onFormSubmit; 
            function $ADC_onFormSubmitHandler(evt) { 
                 //var _onSubmitStatements =  this._onSubmitStatements;
                 if(theForm._EnableInvalid){
                    var setting = this._postBackSettings;
                    var doPostBackElement = setting.sourceElement;      
                    //alert($(theForm).valid()); 
                    if(!$(theForm).valid()){          
                        if (evt) {
                            evt.preventDefault();
                            return;
                        }
                    }
                    /*else{
                        this._onSubmitStatements = [];
                    }*/
                 }
                 /*for(var p in o){
                    alert(p +":"+o[p]);
                 }*/
                 
                 this._onFormSubmitFunction(evt);
                 //this._onSubmitStatements = _onSubmitStatements;
            };
            prm._onFormSubmitHandler = Function.createDelegate(prm, $ADC_onFormSubmitHandler);
            Sys.UI.DomEvent.addHandler(prm._form, 'submit', prm._onFormSubmitHandler);
         
            
        }
        //alert('Application_Init');        
    };           
    app.add_init(Application_Init);
    //Sys.ApplicationLoadEventArgs
    var Application_Load = function (sender,args){
       //alert('Application_Load');
       //if($("#dropdown")){ myDropdown = new ADC.Dropdown();}
    }; 
    app.add_load(Application_Load); 
    //
    var Application_Disposing = function (sender,args){
       //alert('Application_Disposing');
    }; 
    app.add_disposing(Application_Disposing);
    var Application_Unload = function (sender,args){
       //alert('Application_Unload');
       //if a link redirect ,save my profile       
       //if(Page) Page.Save();
    };
    app.add_unload(Application_Unload);
});
//$(window).unload(function(){if(Page) Page.Save();});


