﻿$.ajaxWebRequest = function(url, methodName, param1, param2, param3) {
    var successCallback = null;
    var data = null;
    var errorCallback = null;

    if (param1) {
        if (typeof param1 == 'function') {
            if (!successCallback) {
                successCallback = param1;
            } else if (!errorCallback) {
                errorCallback = param1;
            }
        } else if (!data) {
            data = param1;
        }
    }
    if (param2) {
        if (typeof param2 == 'function') {
            if (!successCallback) {
                successCallback = param2;
            } else if (!errorCallback) {
                errorCallback = param2;
            }
        } else if (!data) {
            data = param2;
        }
    }
    if (param3) {
        if (typeof param3 == 'function') {
            if (!successCallback) {
                successCallback = param3;
            } else if (!errorCallback) {
                errorCallback = param3;
            }
        } else if (!data) {
            data = param3;
        }
    }


    if (!data) { data = '{}'; }
    else { data = JSON.stringify(data); }

    return $.ajax({
        type: "POST",
        url: url + '/' + methodName,
        data: data,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: successCallback,
        error: errorCallback
    });
}