﻿$(document).ready(function() {
    // Nome utente
    jQuery.validator.addMethod("nomeutente", function(value, element, param) 
    {
        // verifica che:
        // - sia lungo almeno 4 caratteri
        // - inizia con lettera
        // - contiene solo lettere, numeri e _
        return RegExp(/^[a-zA-Z][a-zA-Z0-9_]{3,}$/).test(value);
    }, "Il formato del nome utente non è valido");
    
    // RegularExpression
    jQuery.validator.addMethod("regularexpression", function(value, element, param) 
    {
        return RegExp(param).test(value);
    }, "Il formato non è valido");
    
    // Password
    jQuery.validator.addMethod("password", function(value, element, param) 
    {
        return RegExp(/^[.]{6,}$/).test(value);
    }, "Il formato della password non è valido");
    
    // CAP
    jQuery.validator.addMethod("cap", function(value, element, param) 
    {
        return RegExp(/^[0-9]{5,5}$/).test(value);
    }, "Il formato del Cap non è valido");
    
    // Partita IVA
    jQuery.validator.addMethod("partitaiva", function(value, element, param) 
    {
        return RegExp(/^[0-9]{11,11}$/).test(value);
    }, "Il formato della partita Iva non è valido");  
     
    // Codice fiscale
    jQuery.validator.addMethod("codicefiscale", function(value, element) 
    {
        return RegExp(/^[a-zA-Z]{6}[\d]{2}[a-zA-Z][\d]{2}[a-zA-Z][\d]{3}[a-zA-Z]$/).test(value);
    }, "Il formato del codice fiscale non è valido");

    // Telefono
    jQuery.validator.addMethod("telefono", function(value, element, param) {
    return this.optional(element) || RegExp(/^[0-9]{8,}$/).test(value);
    }, "Il formato del numero telefonico non è valido");
    
    // CodiceLibreria
    jQuery.validator.addMethod("codicelibreria", function(value, element, param) {
    return this.optional(element) || RegExp(/^[a-zA-Z0-9]{1,3}$/).test(value);
    }, "Il formato del codice libreria non è valido (max 3 caratteri numerici)");
});

