﻿function serializeFormData(form) {
    var body = "";
    for (i = 0; i < form.elements.length; i++) {
        body += form.elements[i].name + "=" + encodeURIComponent(form.elements[i].value) + "&";
    }
    body += "__ajax=true";
    return body;
}

(function($) {
    $.extend({
        uiLock: function(content) {
            if (content == 'undefined') content = '';
            $('<div></div>').attr('id', 'uiLockId').css({
                'position': 'absolute',
                'top': 0,
                'left': 0,
                'z-index': 1000,
                'opacity': 0.8,
                'width': '100%',
                'height': '100%',
                'color': 'white',
                'background-color': '#cecece'
            }).html(content).appendTo('body');
        },
        uiUnlock: function() {
            $('#uiLockId').remove();
        }
    });
})(jQuery);

(function($) {
    $.extend({
        mpValidate: function(validators, validator) {
            if (validator != null) { validator.valid(); }
            var valid = true;
            for (var i = 0; i < validators.length; i++) {
                if (!$(validators[i]).valid()) { valid = false; }
            }
            return valid;
        }
    });
})(jQuery);

(function($) {
    $.extend({
        mpAjax: function(ajaxPagePath, ajaxFunction, parameters, onSuccess, onFailure) {
            if (ajaxPagePath == 'undefined' || ajaxPagePath == null) { ajaxPagePath = "/AskMartinServices.asmx"; }
            var params = "";
            if (parameters.length > 0) {
                for (var i = 0; i < parameters.length; i += 2) {
                    if (params.length > 0) { params += ","; }
                    params += '"' + parameters[i] + '":"' + parameters[i + 1] + '"';
                }
            }

            $.ajax({
                type: "POST",
                url: ajaxPagePath + "/" + ajaxFunction,
                data: "{" + params + "}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: onSuccess,
                error: onFailure
            });
        }
    });
})(jQuery);