﻿function RemoveLastChar(mystr, chr) {
    var outstr = ((mystr.charAt(mystr.length - 1, 1) == chr) ? mystr.substring(0, mystr.length - 1) : mystr);
    return outstr;
}

function AddASPX(mystr) {
    mystr = mystr.toLowerCase();
    var outstr = ((mystr.indexOf(".aspx") < 0) ? mystr + ".aspx" : mystr);
    return outstr;
}

function CallPageMethod(methodName, onSuccess) {
    
    var args = '';
    var l = arguments.length;
    if (l > 2) {
        for (var i = 2; i < l - 1; i += 2) {
            if (args.length != 0) args += ',';
            args += '"' + arguments[i] + '":"' + arguments[i + 1].replace('"', "'") + '"';
        }
    }
    var loc = window.location.href.replace("#", "");
    loc = (loc.substr(loc.length - 1, 1) == "/") ? loc + "default.aspx" : loc;
    loc = loc.replace("#", "");
    loc = RemoveLastChar(loc, "/");
    loc = AddASPX(loc);

    
    $.ajax({
        type: "POST",
        url: loc + "/" + methodName,
        data: "{" + args + "}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {

            var data = $.parseJSON(msg.d);

            var Authenticated = data["Auth"];

            if (Authenticated == 'true') {
                onSuccess(data["Data"]);
            }
            else {
                $("#divTestFilterResults").empty();
                return;
            }
        },
        error: function (msg) {
            alert("This Page Failed to Contact the Server");
            $("#divTestFilterResults").empty();
        }
    });
}
