﻿function serviceProxy(serviceUrl) {
    var _I = this; this.serviceUrl = serviceUrl;
    this.invoke = function (method, data, callback, error, bare) {
        var json = JSON2.stringify(data);
        var url = _I.serviceUrl + method; $.ajax({ url: url, data: json, type: "POST", processData: false, contentType: "application/json", timeout: 10000, dataType: "text",
            success: function (res) {
                if (!callback) return;
                var result = JSON2.parse(res);
                if (bare) { callback(result); return; }
                for (var property in result) { callback(result[property]); break; } 
            }, error: function (xhr) { if (!error) return; if (xhr.responseText) { var err = JSON2.parse(xhr.responseText); if (err) error(err); else error({ Message: "Unknown server error." }) } return; } 
        });
    } 
}
// *** Create a static instance
// var Proxy = new serviceProxy("JsonStockService.svc/");