$(document).ready(function(){
    var langDefault = $('#langDefault').val();
    jQuery('#form_cliente').validate({
        rules: {
            status: {
                required: true,
                min: 1
            },
            email: {
                required: true,
                email: true,
                remote: 'Controllers/ClienteC.php?funcao=existEmail&cliente_id=' + $('#cliente_id').val(),
                maxlength: 200
            },
            /*username: {
                required: true,
                alphanumeric: true,
                remote: 'Controllers/ClienteC.php?funcao=existUsername&cliente_id=' + $('#cliente_id').val(),
                maxlength: 15
            },*/
            senha: {
                required: true,
                minlength: 5,
                maxlength: 20
            },
            senha_copy:{
                required: true,
                minlength: 5,
                maxlength: 20,
                equalTo: '#senha'
            },
            senha_atual: {
                required: true,
                minlength: 5,
                maxlength: 20
            },
            nome: {
                required: true,
                minWords: 2,
                maxWords: 8,
                minlength: 5,
                maxlength: 200
            },
            data_nasc: {
                required: true,
                dateBR: true,
                minlength: 10,
                maxlength: 10
            },
            sexo: {
                required: true,
                min: 1
            },
            'image[]': {
                required: false,
                accept: 'jpg|jpeg|png|gif'
            },
            pais: {
                required: true,
                min: 1
            },
            estado: {
                required: true,
                min: 1
            },
            estado_nome: {
                required: true,
                minlength: 2,
                maxlength: 40
            },
            cidade: {
                required: true,
                min: 1
            },
            cidade_nome: {
                required: true,
                minlength: 2,
                maxlength: 40
            },
            bairro: {
                required: true,
                min: 1
            },
            bairro_nome: {
                required: true,
                minlength: 2,
                maxlength: 40
            },
            endereco: {
                required: true,
                minlength: 5,
                maxlength: 200
            },
            num: {
                required: true,
                min: 1
            },
            complemento: {
                required: false,
                maxlength: 20
            },
            cep: {
                required: true,
                minlength: 5
            },
            tel1: {
                required: true,
                minlength: 5
            },
            tel2: {
                required: false,
                minlength: 5
            },
            captcha: {
                required: true,
                remote: 'Controllers/CaptchaC.php'
            }
        },
        messages: {
            status: {
                required: '<strong>Status</strong> - Campo obrigat&oacute;rio.',
                min: '<strong>Status</strong> - Campo obrigat&oacute;rio.'
            },
            email: {
                required: (langDefault == 'en-US' ? '<strong>Email</strong> - Required field.' :
                                                    '<strong>Email</strong> - Campo obrigat&oacute;rio.'),
                email: (langDefault == 'en-US' ? '<strong>Email</strong> - Field requires a valid Email.' : 
                                                 '<strong>Email</strong> - Campo exige um Email válido.'),
                remote: (langDefault == 'en-US' ? '<strong>Email</strong> - This Email is already in registered, please choose another one.' : 
                                                  '<strong>Email</strong> - Este E-mail já consta cadastrado, favor escolha outro.'),
                maxlength: (langDefault == 'en-US' ? '<strong>Email</strong> - Field requires no more than 200 characters.' : 
                                                     '<strong>Email</strong> - Campo exige no máximo 200 caracteres.')
            },
            /*username: {
                required: (langDefault == 'en-US' ? '<strong>Username</strong> - Required field.' : 
                                                    '<strong>Nome de usuário</strong> - Campo obrigat&oacute;rio.'),
                alphanumeric: (langDefault == 'en-US' ? '<strong>Username</strong> - Field requires only alphanumeric characters.' : 
                                                        '<strong>Nome de usuário</strong> - Campo exige somente caracteres alfanuméricos.'),
                remote: (langDefault == 'en-US' ? '<strong>Username</strong> - This Username is already in registered, please choose another one.' : 
                                                  '<strong>Nome de usuário</strong> - Este Nome de usuário já consta cadastrado, favor escolha outro.'),
                maxlength: (langDefault == 'en-US' ? '<strong>Username</strong> - Field requires no more than of 15 characters.' : 
                                                     '<strong>Nome de usuário</strong> - Campo exige no máximo 15 caracteres.')
            },*/
            senha: {
                required: (langDefault == 'en-US' ? '<strong>Password</strong> - Required field.' : 
                                                    '<strong>Senha</strong> - Campo obrigat&oacute;rio.'),
                minlength: (langDefault == 'en-US' ? '<strong>Password</strong> - Field requires least 5 characters.' : 
                                                     '<strong>Senha</strong> - Campo exige no mínimo 5 caracteres.'),
                maxlength: (langDefault == 'en-US' ? '<strong>Password</strong> - Field requires no more than of 20 characters.' : 
                                                     '<strong>Senha</strong> - Campo exige no máximo 20 caracteres.')
            },
            senha_copy:{
                required: (langDefault == 'en-US' ? '<strong>Re-enter password</strong> - Required field.' : 
                                                    '<strong>Digite a senha novamente</strong> - Campo obrigat&oacute;rio.'),
                minlength: (langDefault == 'en-US' ? '<strong>Re-enter password</strong> - Field requires least 5 characters.' : 
                                                     '<strong>Digite a senha novamente</strong> - Campo exige no mínimo 5 caracteres.'),
                maxlength: (langDefault == 'en-US' ? '<strong>Re-enter password</strong> - Field requires no more than of 20 characters.' : 
                                                     '<strong>Digite a senha novamente</strong> - Campo exige no máximo 20 caracteres.'),
                equalTo: (langDefault == 'en-US' ? '<strong>Re-enter password</strong> - The passwords do not match.' : 
                                                   '<strong>Digite a senha novamente</strong> - As senhas não conferem.')
            },
            senha_atual: {
                required: (langDefault == 'en-US' ? '<strong>Current password</strong> - Required field.' : 
                                                    '<strong>Senha atual</strong> - Campo obrigat&oacute;rio.'),
                minlength: (langDefault == 'en-US' ? '<strong>Current password</strong> - Field requires least 5 characters.' : 
                                                     '<strong>Senha atual</strong> - Campo exige no mínimo 5 caracteres.'),
                maxlength: (langDefault == 'en-US' ? '<strong>Current password</strong> - Field requires no more than of 20 characters.' : 
                                                     '<strong>Senha atual</strong> - Campo exige no máximo 20 caracteres.')
            },
            nome: {
                required: (langDefault == 'en-US' ? '<strong>Full name</strong> - Required field.' : 
                                                    '<strong>Nome completo</strong> - Campo obrigat&oacute;rio.'),
                minWords: (langDefault == 'en-US' ? '<strong>Full name</strong> - Fill your first name and last name.' : 
                                                    '<strong>Nome completo</strong> - Preencha seu nome e sobrenome.'),
                maxWords: (langDefault == 'en-US' ? '<strong>Full name</strong> - Please enter 8 words or less.' : 
                                                    '<strong>Nome completo</strong> - Por favor preencha com 8 palavras ou menos.'),
                minlength: (langDefault == 'en-US' ? '<strong>Full name</strong> - Field requires least 5 characters.' : 
                                                     '<strong>Nome completo</strong> - Campo exige no m&iacute;nimo 5 caracteres.'),
                maxlength: (langDefault == 'en-US' ? '<strong>Full name</strong> - Field requires no more than of 200 characters.' : 
                                                     '<strong>Nome completo</strong> - Campo exige no m&aacute;ximo 200 caracteres.')
            },
            data_nasc: {
                required: (langDefault == 'en-US' ? '<strong>Date of birth</strong> - Required field.' : 
                                                    '<strong>Data de nascimento</strong> - Campo obrigat&oacute;rio.'),
                dateBR: (langDefault == 'en-US' ? '<strong>Date of birth</strong> - Field requires a valid date.' : 
                                                  '<strong>Data de nascimento</strong> - Campo exige uma Data válida.'),
                minlength: (langDefault == 'en-US' ? '<strong>Date of birth</strong> - Field requires 10 characters.' : 
                                                     '<strong>Data de nascimento</strong> - Campo exige 10 caracteres.'),
                maxlength: (langDefault == 'en-US' ? '<strong>Date of birth</strong> - Field requires 10 characters.' : 
                                                     '<strong>Data de nascimento</strong> - Campo exige 10 caracteres.')
            },
            sexo: {
                required: (langDefault == 'en-US' ? '<strong>Gender</strong> - Required field.' : 
                                                    '<strong>Sexo</strong> - Campo obrigat&oacute;rio.'),
                min: (langDefault == 'en-US' ? '<strong>Gender</strong> - Required field.' : 
                                               '<strong>Sexo</strong> - Campo obrigat&oacute;rio.')
            },
            'image[]': {
                required: (langDefault == 'en-US' ? '<strong>Photo</strong> - Required field.' : 
                                                    '<strong>Foto</strong> - Campo obrigat&oacute;rio.'),
                accept: (langDefault == 'en-US' ? '<strong>Photo</strong> - Field requires only formats: .jpg, .jpeg, .png or .gif.' : 
                                                  '<strong>Foto</strong> - Campo exige somente formatos: .jpg, .jpeg, .png ou .gif.')
            },
            pais: {
                required: (langDefault == 'en-US' ? '<strong>Country</strong> - Required field.' : 
                                                    '<strong>País</strong> - Campo obrigat&oacute;rio.'),
                min: (langDefault == 'en-US' ? '<strong>Country</strong> - Required field.' : 
                                               '<strong>País</strong> - Campo obrigat&oacute;rio.')
            },
            estado: {
                required: (langDefault == 'en-US' ? '<strong>State / Province</strong> - Required field.' : 
                                                    '<strong>Estado</strong> - Campo obrigat&oacute;rio.'),
                min: (langDefault == 'en-US' ? '<strong>State / Province / Region</strong> - Required field.' : 
                                               '<strong>Estado</strong> - Campo obrigat&oacute;rio.')
            },
            estado_nome: {
                required: (langDefault == 'en-US' ? '<strong>State / Province</strong> - Required field.' : 
                                                    '<strong>Estado</strong> - Campo obrigat&oacute;rio.'),
                minlength: (langDefault == 'en-US' ? '<strong>State / Province</strong> - Field requires least 2 characters.' : 
                                                     '<strong>Estado</strong> - Campo exige no mínimo 2 caracteres.'),
                maxlength: (langDefault == 'en-US' ? '<strong>State / Province</strong> - Field requires no more than of 40 characters.' : 
                                                     '<strong>Estado</strong> - Campo exige no máximo 40 caracteres.')
            },
            cidade: {
                required: (langDefault == 'en-US' ? '<strong>City</strong> - Required field.' : 
                                                    '<strong>Cidade</strong> - Campo obrigat&oacute;rio.'),
                min: (langDefault == 'en-US' ? '<strong>City</strong> - Required field.' : 
                                               '<strong>Cidade</strong> - Campo obrigat&oacute;rio.')
            },
            cidade_nome: {
                required: (langDefault == 'en-US' ? '<strong>City</strong> - Required field.' : 
                                                    '<strong>Cidade</strong> - Campo obrigat&oacute;rio.'),
                minlength: (langDefault == 'en-US' ? '<strong>City</strong> - Field requires least 2 characters.' : 
                                                     '<strong>Cidade</strong> - Campo exige no mínimo 2 caracteres.'),
                maxlength: (langDefault == 'en-US' ? '<strong>City</strong> - Field requires no more than of 40 characters.' : 
                                                     '<strong>Cidade</strong> - Campo exige no máximo 40 caracteres.')
            },
            bairro: {
                required: (langDefault == 'en-US' ? '<strong>District</strong> - Required field.' : 
                                                    '<strong>Bairro</strong> - Campo obrigat&oacute;rio.'),
                min: (langDefault == 'en-US' ? '<strong>District</strong> - Required field.' : 
                                               '<strong>Bairro</strong> - Campo obrigat&oacute;rio.')
            },
            bairro_nome: {
                required: (langDefault == 'en-US' ? '<strong>District</strong> - Required field.' : 
                                                    '<strong>Bairro</strong> - Campo obrigat&oacute;rio.'),
                minlength: (langDefault == 'en-US' ? '<strong>District</strong> - Field requires least 2 characters.' : 
                                                     '<strong>Bairro</strong> - Campo exige no mínimo 2 caracteres.'),
                maxlength: (langDefault == 'en-US' ? '<strong>District</strong> - Field requires no more than of 40 characters.' : 
                                                     '<strong>Bairro</strong> - Campo exige no máximo 40 caracteres.')
            },
            endereco: {
                required: (langDefault == 'en-US' ? '<strong>Street address</strong> - Required field.' : 
                                                    '<strong>Endere&ccedil;o, n&deg;</strong> - Campo obrigat&oacute;rio.'),
                minlength: (langDefault == 'en-US' ? '<strong>Street address</strong> - Field requires least 5 characters.' : 
                                                     '<strong>Endere&ccedil;o, n&deg;</strong> - Campo exige no mínimo 5 caracteres.'),
                maxlength: (langDefault == 'en-US' ? '<strong>Street address</strong> - Field requires no more than of 200 characters.' : 
                                                     '<strong>Endere&ccedil;o, n&deg;</strong> - Campo exige no máximo 200 caracteres.')
            },
            num: {
                required: (langDefault == 'en-US' ? '<strong>Number</strong> - Required field.' : 
                                                    '<strong>Número</strong> - Campo obrigat&oacute;rio.'),
                min: (langDefault == 'en-US' ? '<strong>Number</strong> - Field requires a integer value.' : 
                                               '<strong>Número</strong> - Campo exige um valor inteiro.')
            },
            complemento: {
                required: (langDefault == 'en-US' ? '<strong>Complement</strong> - Required field.' : 
                                                    '<strong>Complemento</strong> - Campo obrigat&oacute;rio.'),
                maxlength: (langDefault == 'en-US' ? '<strong>Complement</strong> - Field requires no more than of 20 characters.' : 
                                                     '<strong>Complemento</strong> - Campo exige no máximo 20 caracteres.')
            },
            cep: {
                required: (langDefault == 'en-US' ? '<strong>ZIP / Postal code</strong> - Required field.' : 
                                                    '<strong>CEP</strong> - Campo obrigat&oacute;rio.'),
                minlength: (langDefault == 'en-US' ? '<strong>ZIP / Postal code</strong> - Field requires least 5 characters.' : 
                                                     '<strong>CEP</strong> - Campo exige no mínimo 5 caracteres.')
            },
            tel1: {
                required: (langDefault == 'en-US' ? '<strong>Telephone number 1</strong> - Required field.' : 
                                                    '<strong>Telefone 1</strong> - Campo obrigat&oacute;rio.'),
                minlength: (langDefault == 'en-US' ? '<strong>Telephone number 1</strong> - Field requires least 5 characters.' : 
                                                     '<strong>Telefone 1</strong> - Campo exige no mínimo 5 caracteres.')
            },
            tel2: {
                required: (langDefault == 'en-US' ? '<strong>Telephone number 2</strong> - Required field.' : 
                                                    '<strong>Telefone 2</strong> - Campo obrigat&oacute;rio.'),
                minlength: (langDefault == 'en-US' ? '<strong>Telephone number 2</strong> - Field requires least 5 characters.' : 
                                                     '<strong>Telefone 2</strong> - Campo exige no mínimo 5 caracteres.')
            },
            captcha: {
                required: (langDefault == 'en-US' ? '<strong>Text security</strong> - Required field.' : 
                                                    '<strong>Texto de seguran&ccedil;a</strong> - Campo obrigat&oacute;rio.'),
                remote: (langDefault == 'en-US' ? '<strong>Text security</strong> - The text entered does not match the image.' : 
                                                  '<strong>Texto de seguran&ccedil;a</strong> - O texto digitado não corresponde ao da imagem.')
            }
        },
        errorElement: 'div',
        errorLabelContainer: '#erro'
    });
});
