/*
 * Translated default messages for the jQuery validation plugin.
 * Language: IT
 */
$.extend(jQuery.validator.messages, {
    required: "Questo campo è obbligatorio.",
    remote: "Riempire questo campo per continuare.",
    email: "Inserire un indirizzo email valido.",
    url: "Inserire un indirizzo URL valido.",
    date: "Inserire una data in formato mm-gg-aaaa.",
    dateDE: "Inserire una data in formato gg-mm-aaaa.",
    dateISO: "Inserire una data in formato aaaa-mm-gg.",
    number: "Inserire un numero.",
    digits: "Inserire (solo) un numero.",
    creditcard: "Inserire un numero di carta di credito valido.",
    equalTo: "Inserire lo stesso valore usato sopra.",
    accept: "Usare un'estensione valida.",
    maxlength: jQuery.format("Inserire al massimo {0} caratteri."),
    minlength: jQuery.format("Inserire almeno {0} caratteri."),
    rangelength: jQuery.format("Inserire da {0} a {1} caratteri."),
    range: jQuery.format("Inserire un numero compreso tra {0} e {1}."),
    max: jQuery.format("Inserire un numero minore o uguale a {0}."),
    min: jQuery.format("Inserire un numero maggiore o uguale a {0}.")
});

// definisco una nuova regola per la validazione:
$.validator.addMethod("check_username",
    function(value) {
        return check_username(value);
    },
    "L'email inserita è già registrata");


// definisco una nuova regola per la validazione:
$.validator.addMethod("check_mail_forgot_pwd",
    function(value) {
        return check_forgot_pwd(value);
    },
    "L'email inserita non è presente nel db");


$.validator.addMethod("check_newsletter",
    function(value) {
        return check_newsletter(value);
    },
    "L'email inserita è già presente nella newsletter");



$(document).ready(function() {

    $("form:not(.not_validate)").validate({

        errorElement: "em"

    });

    jQuery.each($("form[rel]"), function(){

        $(this).attr("action", $(this).attr("rel"));

    });

});


//controllo che la mail sia presente a db
function check_forgot_pwd(email){

    var val;

    $.ajax({

        type: "POST",
        url: '/ajax/check_username/',
        async: false,
        data: {
            email: email
        },
        success: function(data) {

            if(jQuery.trim(data) == 0)
                //Non ci sono altre email uguali
                val = false;

            else
                val = true;

        }
    });

    return val;

}


//controllo che la mail NON sia presente a db (wr_us_accounts) -> sito
function check_username(email){

    var val;

    $.ajax({

        type: "POST",
        url: '/ajax/check_username/',
        async: false,
        data: {
            email: email
        },
        success: function(data) {

            if(jQuery.trim(data) == 0)
                //Non ci sono altri username uguali
                val = true;

            else
                val = false;

        }
    });

    return val;

}


//controllo che la mail NON sia presente a db (wr_nl_destinatari) -> newsletter
function check_newsletter(email){

    var val;

    $.ajax({

        type: "POST",
        url: '/ajax/check_newsletter/',
        async: false,
        data: {
            email: email
        },
        success: function(data) {

            if(jQuery.trim(data) == 0)
                //Non ci sono altri username uguali
                val = true;

            else
                val = false;

        }
    });

    return val;

}



