﻿// Update Control Focus After Async PostBack
var prm = Sys.WebForms.PageRequestManager.getInstance();
var postBackElement;
var focusedElement;

prm.add_endRequest(EndRequest);
prm.add_initializeRequest(InitializeRequest);

function InitializeRequest(sender, args) {
    focusedElement = $(":focus");

    postBackElement = args.get_postBackElement();
}

function EndRequest(sender, args) {
    var id = '';
    
    if ($(focusedElement).length > 0)
        id = $(focusedElement).attr("id");
    else if ($("#" + postBackElement.id).next("[id$='txtNumber']").length > 0)
        id = $("#" + postBackElement.id).next("[id$='txtNumber']").attr("id");
    else
        id = $("#" + postBackElement.id).next("[id]").attr("id");

    if (document.getElementById(id) != null)
        document.getElementById(id).focus();
}
