﻿function ProcessListPaginationAsync(srcelement, container, source, query, xsltfilename, nooflinks, pagesize, path) {
    ProcessListPaginationAsync(srcelement, container, source, query, xsltfilename, nooflinks, pagesize, path, "")
}

function ProcessListPaginationAsync(srcelement, container, source, query, xsltfilename, nooflinks, pagesize, path, datamode) {
    ProcessListPaginationAsync(srcelement, container, source, query, xsltfilename, nooflinks, pagesize, path, datamode, "")
}

function ProcessListPaginationAsync(srcelement, container, source, query, xsltfilename, nooflinks, pagesize, path, datamode, associatedsource) {
    //alert("Pagination Processing .. " + "source: " + source + " xslt: " + xsltfilename + " datamode: " + datamode);
    if (associatedsource == undefined) {
        associatedsource = "";
    }
    if (datamode == undefined) {
        datamode = "";
    }
    var Random = Math.floor(Math.random() * 100000);
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "/Templates/ContentPlaceHolders/services/AsyncPostbackHandler.asmx/ProcessListPagination?" + query + "&random=" + Random,
        data: "{ '_Source': '" + source + "', '_Query': '" + query + "', '_XSLT': '" + xsltfilename + "', '_NoOfLinks': '" + nooflinks + "', '_PageSize': '" + pagesize + "', '_Path': '" + path + "', '_DataMode': '" + datamode + "', '_AssociatedSource': '" + associatedsource + "'}",
        dataType: "json",
        success: function (result) {
            $(container).html(result.d);
            $(srcelement).trigger(associatedsource + query.split("=")[0], { source: source, query: query });            
        }
    });
    $(container + " a").click(function (event) {
        event.preventDefault();
    });
    return false;
}

function ProcessListAsync(srcelement, container, source, query, xsltfilename, pagesize, path) {
    ProcessListAsync(srcelement, container, source, query, xsltfilename, pagesize, path, "");
}

function ProcessListAsync(srcelement, container, source, query, xsltfilename, pagesize, path, datamode) {
    ProcessListAsync(srcelement, container, source, query, xsltfilename, pagesize, path, datamode, "");
}

function ProcessListAsync(srcelement, container, source, query, xsltfilename, pagesize, path, datamode, associatedpagination) {
    //alert("List Processing .. " + "source: " + source + " xslt: " + xsltfilename + " datamode: " + datamode);

    if (associatedpagination == undefined) {
        associatedpagination = "";
    }
    if (datamode == undefined) {
        datamode = "";
    }
    var Random = Math.floor(Math.random() * 100000);
    $(srcelement).trigger(associatedpagination + query.split("=")[0] + "preeffect");
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "/Templates/ContentPlaceHolders/services/AsyncPostbackHandler.asmx/ProcessList?" + query + "&random=" + Random,
        data: "{ '_Source': '" + source + "', '_Query': '" + query + "', '_XSLT': '" + xsltfilename + "', '_PageSize': '" + pagesize + "', '_Path': '" + path + "', '_DataMode': '" + datamode + "', '_AssociatedPagination': '" + associatedpagination + "'}",
        dataType: "json",
        success: function (result) {
            $(container).html(result.d);
            $(srcelement).trigger(associatedpagination + query.split("=")[0] + "posteffect");
        },
        error: function (result) {
            window.location.reload();
        }
    });
    $(container + " a").click(function (event) {
        event.preventDefault();
    });
    return false;
}
