﻿    var localizedStrings = {
        error: {
            'nl': 'Er is een fout opgetreden',
            'fr': 'Une erreur s\'est produite',
            'en': 'An error occured',
            'de': 'Ein Fehler ist aufgetreten',
            'es': 'Ha ocurrido un error',
            'ru': 'Ошибка'
        }
    }


options = {
    data: {
        jq: 'true'
    },
    beforeSubmit: validator,
    //success: showResponse,
    error: showError,
    dataType: 'script'
};

var lang = $('meta[http-equiv=content-language]').attr("content");


$.validator.methods.range = function (value, element, param) {
    var globalizedValue = value.replace(",", ".");
    return this.optional(element) || (globalizedValue >= param[0] && globalizedValue <= param[1]);
}
$.validator.methods.number = function (value, element) {
    return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:[\s\.,]\d{3})+)(?:[\.,]\d+)?$/.test(value);
}

function validator(formData, jqForm, options) {
    return jqForm.validate({
        errorElement: "div",
        wrapper: "div",
        errorPlacement: function (error, element) {
            if (element.is(":radio") || element.is(":checkbox")) {
                error.insertAfter(element.parent()).animate({
                    opacity: 0.25,
                    left: '+=50'
                });
            } else {
                error.insertAfter(element).animate({
                    opacity: 0.25,
                    left: '+=50'
                });
            }
        }
    }).form();
}

function showMessage(str) {
    $("body").append("<div class=\"jq_message\">" + str + "</div>");
	setTimeout(function() { $(".jq_message").fadeOut(250); },3000);
}

function showError(responseText, statusText, xhr, $form) {
showMessage(localizedStrings['error'][lang]);
}

function showResponse(responseText, statusText, xhr, $form) {
    //alert('status: ' + statusText + '\n\nresponseText: \n' + responseText + '\n\nThe output div should have already been updated with the responseText.');
}
$(document).ready(function () {					
							
    $("form.ajaxsubmit").on("submit", function (e) {
        e.preventDefault();
    });
    $("form.ajaxsubmit:not(.autosave)").on("submit", function (e) {												   
        form = $(this).closest("form");
        options.url = $(form).attr("action");
        $(this).ajaxSubmit(options);
    });
    $("form.ajaxsubmit.autosave").on("change", function (e) {												 
        form = $(this).closest("form");
        options.url = $(form).attr("action");
        $(form).ajaxSubmit(options);
    });
});
