﻿function mailForm(controllerPath, pageID, moduleID) {
    this.controllerPath = controllerPath;
    this.pageID = pageID;
    this.moduleID = moduleID
}

mailForm.prototype.submit = function() {
    var manager = this;
    var formData = jQuery("#form" + manager.moduleID + " form").serialize();
    jQuery.ajax({
        type: "POST",
        url: this.controllerPath + "/Submit/" + manager.moduleID,
        data: formData,
        success: function(data) {
            window.location.href = data;
        },
        error: function(data) {
            try {
                var modelState = window["eval"]("(" + data.responseText + ")");
                jQuery("#form" + manager.moduleID + " form .errorMessage").remove();
                jQuery("#form" + manager.moduleID + " form .error").removeClass("error");
                for (var i = 0; i < modelState.length; i++) {
                    var modelStateItem = modelState[i];
                    if (modelStateItem.value.errors.length > 0) {
                        for (var j = 0; j < modelStateItem.value.errors.length; j++) {
                            jQuery(jQuery("#" + modelStateItem.key)[0].parentNode).append(jQuery("<div/>").addClass("errorMessage").text(modelStateItem.value.errors[j].errorMessage));
                        }
                        jQuery("#" + modelStateItem.key).addClass("error");
                    }
                }
            }
            catch (ex) {
                alert(data.responseText);
            }
        }
    })
};
