$.ajaxSetup({
    type: "GET",
    timeout: 5000,
    dataType: "json"
});

var config = {
    url: {
        checkNick: "getProposeNick.do",
        checkCaptcha: "verifyCaptcha.do"
    },

    messages: {
        nick: {
            required: "Il nick deve essere fra 2 e 15 caratteri. Puoi usare lettere minuscole, numeri (non pi&ugrave; di 4 cifre) e un trattino (-) all'interno",
            rangelength: "Il nick deve essere fra 2 e 15 caratteri. Puoi usare lettere minuscole, numeri (non pi&ugrave; di 4 cifre) e un trattino (-) all'interno",
            rexpNick: "Il nick deve essere fra 2 e 15 caratteri. Puoi usare lettere minuscole, numeri (non pi&ugrave; di 4 cifre) e un trattino (-) all'interno"
        },
        cellulare: {
            required: "Attenzione! Numero di cellulare non corretto",
            rangelength: "Attenzione! Numero di cellulare non corretto"
        },
        flagDeveloper: {required:" Attenzione! Per proseguire con la registrazione &egrave; necessario selezionare una tipologia di utente"},
        captcha: {
            required: "Attenzione! Codice non corrispondente",
            remote: "Attenzione! Codice non corrispondente"
        },
        consensoCondizioniContrattuali: {
            required: "Attenzione! Per proseguire con la registrazione &egrave; necessario accettare le Condizioni contrattuali"
        },
        consensoClausoleVessatorie: {
            required: "Attenzione! Per proseguire con la registrazione č necessario accettare le Clausole della Community"
        },
        consensoTrattamentoDati: {
            required: 'Attenzione! Per proseguire con la registrazione &egrave; necessario selezionare "Acconsento" o "Non accosento"'
        },
        email: {
            required:"Attenzione! Indirizzo e-mail non valido. Verifica che l'indirizzo email inserito sia corretto",
            email:"Attenzione! Indirizzo e-mail non valido. Verifica che l'indirizzo email inserito sia corretto"
        },
        password: {
            required: "Attenzione! Password non valida. La password deve essere composta tra 6 e 24 caratteri. Pu&ograve; contenre lettere, numeri e caratteri speciali (.-_)",
            rangelength: "Attenzione! Password non valida. La password deve essere composta tra 6 e 24 caratteri. Pu&ograve; contenre lettere, numeri e caratteri speciali (.-_)"
        },
        passwordConfirm: {
            required: "Attenzione! Password non valida",
            equalTo: "Attenzione! La password non coincide con quella precedentemente inserita."
        },
        currentPassword: {
            required: "Attenzione! Password non valida. La password deve essere composta tra 6 e 24 caratteri. Pu&ograve; contenre lettere, numeri e caratteri speciali (.-_)"
        },
        passwordNew: {
            required: "Attenzione! Password non valida. La password deve essere composta tra 6 e 24 caratteri. Pu&ograve; contenre lettere, numeri e caratteri speciali (.-_)",
            rangelength: "Attenzione! Password non valida. La password deve essere composta tra 6 e 24 caratteri. Pu&ograve; contenre lettere, numeri e caratteri speciali (.-_)"
        },
        passwordConfirmNew: {
            required: "Attenzione! Password non valida. La password deve essere composta tra 6 e 24 caratteri. Pu&ograve; contenre lettere, numeri e caratteri speciali (.-_)",
            equalTo: "Attenzione! La password non coincide con quella precedentemente inserita."
        }
    },

    nickOK: false,
    captcha: false
};


var utils = (function() {
    function clickHandler(objEvent) {
        var $this = $(this);
        objEvent.preventDefault();

        // Get the property data for this element that was
        // associated when createing the element.
        var objData = $this.data("nick");


        $('#nick').val(objData).blur();
        // Prevent default.
        return false;
    }

    var _ref = Math.floor(Math.random() * 100);

    return {
        changeCaptcha: function() {
            var newImage = '../../captcha?index=' + (++_ref);
            //document.images["captcha"].src = newImage;
            config.captcha = false;
            $("#challenge").attr("src", newImage);
            $("#captcha").val('').removeAttr("readonly");
        },

        creaLink: function(nick) {
            var $link = $("<a />").html(nick);
            $link.data("nick", nick);
            $link.click(clickHandler);
            return $link;
        }
    };

})();

jQuery.validator.addMethod("rexpNick", function(value, element) {
    return this.optional(element) || /^[a-z][a-z0-9]*[\\-]?[a-z0-9]+$/.test(value);
}, "Attenzione! Il nick deve essere composto tra 2 e 15 caratteri. Puņ contenere lettere, numeri e un trattino (-)");

jQuery.validator.addMethod("msisdn", function(value, element) {
    return this.optional(element) || /^3[0-9]+$/.test(value);
}, "Attenzione! Numero di cellulare non corretto");

jQuery.validator.addMethod("rexpPassword", function(value, element) {
    return this.optional(element) || /^[0-9a-zA-z\.-_]+$/.test(value);
}, "Attenzione! Password non valida. La password deve essere composta tra 6 e 24 caratteri. Pu&ograve; contenere lettere, numeri e caratteri speciali (.-_)");

jQuery.validator.addMethod("emailGroup", function(value, element) {
    return this.optional(element) || !/[a-zA-Z0-9_\.]+@tin.it$|[a-zA-Z0-9_\.]+@virgilio.it$|[a-zA-Z0-9_\.]+@alice.it$/.test(value);
}, "Sei gi&agrave; registrato. Per entrare non occorre registrarti. <a href='http://webtv.cubovision.it/login'>Clicca qui</a> per accedere al servizio.");
