// The following creates callbacks that will run before and after an async postback when using .NET AJAX
var req = Sys.WebForms.PageRequestManager.getInstance();
req.add_endRequest(OnFinishedRequest);
req.add_beginRequest(OnStartedRequest);
var tabs = null; // reference to tabbed panels widget
var selectedTab = -1; // index of tab selected before async postback
function OnFinishedRequest(sender, args)
{
    // refresh tabbed panel widget when there is an asyn postback
    tabs = new Spry.Widget.TabbedPanels("TabbedPanels1", { 
        tabSelectedClass : "selectedTab",
        tabHoverClass : "hoverTab",
        tabFocusedClass : "focusTab",
        panelVisibleClass : "tabContentVisible"
    });
    // parse query string into an object
    var q = window.location.search.substr(1);
    var p = q.split('&');
    var params = {};
    for (var i = 0; i < p.length; i++) {
        var pair = p[i].split('=');
        params[pair[0]] = pair[1];
    }
    // select appropriate tab
    if (selectedTab >= 0)
        tabs.showPanel(parseInt(selectedTab));
    else if (params.search)
        tabs.showPanel(parseInt(params.search));
    else
        tabs.showPanel(0);
}
function OnStartedRequest(sender, args)
{
    if (tabs != null)
        selectedTab = tabs.getCurrentTabIndex();
}
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(function(sender, args){
    
});