﻿function ServerProxy(clsname) {
    this.ClsName = clsname;    
}
ServerProxy.prototype =
{
    Invoke: function(methodname, args, callback) {
        var t = "";
        var url = window.location + ""
        var qstr = "";
        var c = this.ClsName;
        var a = "";
        var l = url.lastIndexOf("#");
        if (l < 0) {
            l = url.length;
        }
        if (url.indexOf("?") >= 0) {
            qstr = url.substring(url.indexOf("?") + 1, l);
        }
        for (var i = 0; i < args.length; i++) {
            t = t + escape(args[i]);
            if (i < args.length - 1)            
                t += "|";
        }
        //alert(args.length);
        $.post("/asmx/serverproxy.ashx?" + qstr, { D: t, C: c, M: methodname }, callback);
    },
    InvokeBySendQueryStr: function(methodname, queryargs, methodargs, callback) {
        var t = "";
        var url = window.location + ""
        var qstr = "";
        var c = this.ClsName;
        var a = "&";
        if (url.indexOf("?") >= 0) {
            qstr = url.substring(url.indexOf("?") + 1, url.length);
        }
        if (queryargs != null) {
            for (var ia in queryargs) {
                if (typeof (ia) != "function") {
                    a += ia + "=" + escape(queryargs[ia]) + "&";
                }
            }
        }
        if (methodargs != null) {
            for (var i = 0; i < methodargs.length; i++) {
                t = t + escape(methodargs[i]) + "|"
            }
        }
        $.post("/asmx/serverproxy.ashx?" + qstr + a, { D: t, C: c, M: methodname }, callback);
    }
}