$(document).ready(function() {
    
	// FORMULARI CANVI QUANTITAT PETICIO
	if ($("#formulari-peticions-canviar").length > 0) {
        $("#formulari-peticions-canviar").validate({
            rules: {
                unitats: {
                    required: true,
					digits: true,
					min: 1
                }
            }
        });
    }
	
    // FORMULARI LOGIN CLIENTS
    if ($("#frmAcces").length > 0) {
        $("#frmAcces").validate({
            rules: {
                login: {
                    required: true,
                    email: true,
                    remote: "/phplib/checks/check-mail.php"
                },
                contrasenya: {
                    required: true,
                    rangelength: [8, 12]
                }
            },
            //errorPlacement: function(error, element) {
                //error.appendTo( element.parent() );
            //}
            messages: {
                login: {
                    required: "Es necesario rellenar el campo login",
                    email: "La dirección introducida no es un email",
                    remote: "El email introducido no es correcto"
                },
                contrasenya: {
                    required: "Es necesario rellenar el campo contraseña",
                    rangelength: "La contraseña debe tener entre 8 y 12 carácteres"
                }
            },
            errorContainer: "#messageBox1, #messageBox2",
            errorLabelContainer: "#messageBox1 ul",
            wrapper: "li", debug:false
        });
    }
    
    if ($("#frmRecover").length > 0) {
        $("#frmRecover").validate({
            rules: {
                login: {
                    required: true,
                    email: true,
                    remote: "/phplib/checks/check-mail.php"
                }
            },
            messages: {
                login: {
                    email: "La dirección introducida no es un email",
                    remote: "El email introducido no es correcto"
                }
            }
        });
    }
    
    if ($("#frmCorreu").length > 0) {
        $("#frmCorreu").validate({
            rules: {
                login: {
                    required: true,
                    email: true,
                    remote: "/phplib/checks/check-mail.php"
                }
            },
            messages: {
                login: {
                    email: "La dirección introducida no es un email",
                    remote: "El email introducido no es correcto"
                }
            }
        });
    }
    
    
    
    $("form input:password").attr("maxlength","12");
    //$("form #contacte_cp").attr("maxlength","5");

    //FORMULARI USUARIS ALTA
    $("#formulari-usuaris-alta, #formulari-usuaris-editar").validate({
        rules: {
            aceptar: { required: true },
            tipus_client: { required: true },
            codi_client: { },
            login: {
                required: true,
                email: true,
                remote: {
                    url: "/phplib/checks/check-mail-con-duplicado.php",
                    type: "get",
                    data: {
                        tabla : "cfg_usuaris",
                        campo : "login",
                        valor_actual: function() {
                            return $("#login").val();
                        }
                    }
                }
            },
            contacte_nom: { required: true },
            contacte_cognom1: { required: true },
            contacte_cognom2: { },
            contacte_raosocial: { required: "#tipus_client_empresa:checked" },
            contacte_telefon1: {
                required: true,
                digits:true,
                minlength: function(element) {
                    if ( $("#contacte_pais").val() == 724 ) {
                        $("form #contacte_telefon1").attr("maxlength","9");
                        return "9";
                    } else {
                        //$("form #contacte_telefon1").removeAttr("maxlength");
                        $("form #contacte_telefon1").attr("maxlength","255");
                        return false;
                    }
                }
            },
            contacte_telefon2: { digits:true },
            contacte_adreca: { required: true },
            contacte_poblacio: { required: true },
            contacte_provincia: {
                required: function(element) {
                    return $("#contacte_pais").val() == 724;
                }
            },
            contacte_cp: {
                required: function(element) {
                    return $("#contacte_pais").val() == 724;
                },
                digits: true
            },
            contacte_pais: { required: true },
            enviament_nom: { required: true },
            enviament_cognom1: { required: true },
            enviament_cognom2: { },
            enviament_raosocial: { required: "#tipus_client_empresa:checked" },
            enviament_telefon1: {
                required: true,
                digits:true,
                minlength: function(element) {
                    if ( $("#enviament_pais").val() == 724 ) {
                        $("form #enviament_telefon1").attr("maxlength","9");
                        return "9";
                    } else {
                        //$("form #enviament_telefon1").removeAttr("maxlength");
                        $("form #enviament_telefon1").attr("maxlength","255");
                        return false;
                    }
                }
            },
            enviament_telefon2: { digits:true },
            enviament_adreca: { required: true },
            enviament_poblacio: { required: true },
            enviament_provincia: {
                required: function(element) {
                    return $("#enviament_pais").val() == 724;
                }
            },
            enviament_cp: {
                required: function(element) {
                    return $("#enviament_pais").val() == 724;
                },
                digits: true
            },
            enviament_pais: { required: true },
            enviament_zona: {
                required: function(element) {
                    return $("#enviament_pais").val() == 724;
                }
            }, 
            facturacio_nom: { required: true },
            facturacio_cognom1: { required: true },
            facturacio_cognom2: { },
            facturacio_raosocial: { required: "#tipus_client_empresa:checked" },
            facturacio_telefon1: {
                required: true,
                digits:true,
                minlength: function(element) {
                    if ( $("#facturacio_pais").val() == 724 ) {
                        $("form #facturacio_telefon1").attr("maxlength","9");
                        return "9";
                    } else {
                        //$("form #facturacio_telefon1").removeAttr("maxlength");
                        $("form #facturacio_telefon1").attr("maxlength","255");
                        return false;
                    }
                }
            },
            facturacio_telefon2: { digits:true },
            facturacio_adreca: { required: true },
            facturacio_poblacio: { required: true },
            facturacio_provincia: {
                required: function(element) {
                    return $("#facturacio_pais").val() == 724;
                }
            },
            facturacio_cp: {
                required: function(element) {
                    return $("#facturacio_pais").val() == 724;
                },
                digits: true
            },
            facturacio_pais: { required: true },
            facturacio_nif: {
                required: function(element) {
                    return $("#facturacio_pais").val() == 724;
                },
                remote: {
                    url: "/phplib/checks/check-dni.php",
                    type: "get",
                    data: {
                        tabla : "cfg_usuaris",
                        campo : "facturacio_nif",
                        valor_actual: function() {
                            return $("#facturacio_nif").val();
                        },
                        valor_antiguo: function() {
                            return $("#dada_antiga_nif").val();
                        }
                    }
                }
            },
			clau: { required: true, maxlength: 5 }
	    },
        errorPlacement: function(error, element) {
            if ( element.is(":radio") )
                error.appendTo( element.parent() );
            else
                error.appendTo( element.parent() );
        },
        
        success: function(label) {
			label.html("&nbsp;").addClass("valid");
		},
        
        messages: {
            contrasena2: { equalTo: "Las contraseñas escritas no son iguales" },
            login: { remote: "El mail introducido no es correcto o ya se encuentra registrado" },
            facturacio_nif: { remote: "El DNI/CIF no es correcto o ya está registrado. <b>Utilice sólo números y letras</b>" },
            aceptar: { required: "<br/>Debe confirmar que ha leído y acepta las Condiciones de uso y Política de Privacidad" },
			clau: { required: "&nbsp;" }
        }
    });
    
    
    
    // BEGIN ADDRULES PARA CAMPOS CONTRASEÑA *************************
    if ($("#proceso").val() == "alta") {
        $("#contrasena").rules("add", {
            required: true,
            rangelength: [8, 12]
        });
        $("#contrasena2").rules("add", {
            required: true,
            rangelength: [8, 12],
            equalTo: "#contrasena"
        });
    }
    if ($("#proceso").val() == "editar") {
        $("#contrasena").rules("add", {
            required: function(element) {
                return $("#contrasena").val() != "";
            },
            rangelength: [8, 12]
        });
        $("#contrasena2").rules("add", {
            required: function(element) {
                return $("#contrasena2").val() != "";
            },
            rangelength: [8, 12],
            equalTo: "#contrasena"
        });
    }
    // END ADDRULES PARA CAMPOS CONTRASEÑA *************************
	
	
	
    
});
