﻿(function(Mobawaba) {
    Mobawaba.ajax = {
        doCallbackHtml: function(id, param, callback) {
            $.ajaxSetup({
            contentType: "application/x-www-form-urlencoded;charset=ISO-8859-15"// windows-1252  //ISO-8859-15
            });
            var postData = "__CALLBACKID=" + escape(id) +
			"&__CALLBACKPARAM=" + escape(param) + "&__VIEWSTATE=&";
            $.post(document.URL, postData, function(data, status) {
                if (data.charAt(0) == "s") {
                    status = "success";
                    data = data.substring(1);
                } else if (data.charAt(0) == "e") {
                    status = "error";
                    data = data.substring(1);
                } else {
                    var separatorIndex = data.indexOf("|");
                    if (separatorIndex != -1) {
                        var valLength = parseInt(data.substring(0, separatorIndex));
                        if (!isNaN(valLength)) {
                            data = data.substring(separatorIndex + valLength + 1);
                        }
                    }
                }
                if (callback != null)
                    callback(data, status);
            }, "html");
        },
        doCallbackJson: function(url, method, params, callback) {
            $.ajaxSetup({
                contentType: "application/json"
            });

            $.post(url + method, $.toJSON(params), function(data, status) {
                var res = eval(data);
                callback(res[method + "Result"], status);
            }, "json");
        },
        doCallbackJsona: function(url, params, callback) {
            if (params = '') {
                $.getJSON(url, callback);
            }
            else
                $.getJSON(url, params, callback);

        }
		,
        doCallback: function(url, method, params) {
            $.ajaxSetup({
                contentType: "application/json"
            });
            $.post(url + method, $.toJSON(params), null, "json");
        }
    }
    Mobawaba.services = {
        hostUrl: "http://localhost/Mobawaba/#SVCFileName#/#FunctionName#",
        // hostUrl: "http://10.2.20.231/Mobawaba/#SVCFileName#/#FunctionName#",
        CommentService: {
            ThumbRate: function(param, callback, callbackError) {
                $.ajaxSetup({
                contentType: "application/json"
                });
                $.ajax({
                    type: "Post",
                    url: Mobawaba.services.hostUrl.replace('#SVCFileName#', 'MobawabaCaller.svc').replace('#FunctionName#', 'ThumbRate'),
                    data: param,
//                    success: function(msg) {
//                        var res = eval(msg.replace('"', '').replace('"', ''));
//                        callback(res, status);
//                    },
                    complete: function(msg) {
                        if (msg.status == 200 && msg.statusText == 'OK') {
                            var res = eval(msg.responseText.replace('"', '').replace('"', ''));
                            callback(res, status);
                        }
                        else {
                            callbackError(res, status);
                        }
                    },
                    dataType: "application/json"
                });
            },
            ThumbRatewithNoLogin: function(param, callback, callbackError) {
                $.ajaxSetup({
                    contentType: "application/json"
                });
                $.ajax({
                    type: "Post",
                    url: Mobawaba.services.hostUrl.replace('#SVCFileName#', 'MobawabaCaller.svc').replace('#FunctionName#', 'ThumbRateCommentWithNoLogin'),
                    data: param,
                    //                    success: function(msg) {
                    //                        var res = eval(msg.replace('"', '').replace('"', ''));
                    //                        callback(res, status);
                    //                    },
                    complete: function(msg) {
                        if (msg.status == 200 && msg.statusText == 'OK') {
                            var res = eval(msg.responseText.replace('"', '').replace('"', ''));
                            callback(res, status);
                        }
                        else {
                            callbackError(res, status);
                        }
                    },
                    dataType: "application/json"
                });
            }
            ,
            AbuseCommentV3: function(param, callback, callbackError) {
                $.ajaxSetup({
                    contentType: "application/json"
                });
                $.ajax({
                    type: "Post",
                    url: Mobawaba.services.hostUrl.replace('#SVCFileName#', 'MobawabaCaller.svc').replace('#FunctionName#', 'AbuseComment'),
                    data: param,
//                    success: function(msg) {
//                        var res = eval(msg.replace('"', '').replace('"', ''));
//                        callback(res, status);
//                    },
                    complete: function(msg) {
                        if (msg.status == 200 && msg.statusText == 'OK') {
                            var res = eval(msg.responseText.replace('"', '').replace('"', ''));
                            callback(res, status);
                        }
                        else {
                            callbackError(res, status);
                        }
                    },
                    dataType: "application/json"
                });
            },
            OtherMethod: function(param, callback, callbackError) {
                $.ajaxSetup({
                    contentType: "application/json"
                });
                $.ajax({
                    type: "Post",
                    url: Mobawaba.services.hostUrl.replace('#SVCFileName#', 'MobawabaCaller.svc').replace('#FunctionName#', 'OtherMethod'),
                    data: param,
                    success: function(msg) {
                        var res = eval(msg.replace('"', '').replace('"', ''));
                        callback(res, status);
                    },
                    complete: function(msg) {
                        if (msg.status == 200 && msg.statusText == 'OK') {
                            var res = eval(msg.responseText.replace('"', '').replace('"', ''));
                            callback(res, status);
                        }
                        else {
                            callbackError(res, status);
                        }
                    },
                    dataType: "application/json"
                });
            }
        }
    }
})(Mobawaba);

