﻿        var app = Sys.Application;
        
        var PanelBeforeLoadHandlers = new Hash();
        var PanelAfterLoadHandlers = new Hash();
        
        app.add_init(App_Init);
        function App_Init(sender)
        {
            var prm = Sys.WebForms.PageRequestManager.getInstance();
            prm.add_pageLoading(Page_Loading);            
            prm.add_pageLoaded(Page_Loaded);
        }
        function Page_Loading(sending, args)
        {
            var UpdatedPanels = args.get_panelsUpdating();
            for(i=0;i<UpdatedPanels.length;i++)
            {
                if(PanelBeforeLoadHandlers.contains(UpdatedPanels[i].id))
                {
                    var MyFun = PanelBeforeLoadHandlers.getItem(UpdatedPanels[i].id);
                    MyFun();
                }
            }            
        }
        function Page_Loaded(sender, args)
        {
            var UpdatedPanels = args.get_panelsUpdated();
            for(i=0;i<UpdatedPanels.length;i++)
            {
                if(PanelAfterLoadHandlers.contains(UpdatedPanels[i].id))
                {
                    var MyFun = PanelAfterLoadHandlers.getItem(UpdatedPanels[i].id);
                    MyFun();
                }
            }
        }
        function RegisterPanelBeforeLoadHandler(panelID,handler)
        {
            PanelBeforeLoadHandlers.setItem(panelID,handler);
        }
        function RegisterPanelAfterLoadHandler(panelID,handler)
        {
            PanelAfterLoadHandlers.setItem(panelID,handler);
        }
