﻿$(document).ready(function() {

    v_estado = false;
    v_cidade = false;

    $("[id$='DataNascimento']").mask("99/99/9999");
    $("[id$='CPF']").mask("999.999.999-99");
    $("[id$='Telefone']").mask("99-99999999");
    $("[id$='Celular']").mask("99-99999999");
    $("[id$='CEP']").mask("99999-999");
    $("[id$='CNPJ']").mask("99.999.999/9999-99");

    if ($("#ctl00_ContentPlaceHolder1_chkAmostra").is(':checked')) {
        $('#arrozCont').slideDown('fast');
    }


    $("#ctl00_ContentPlaceHolder1_btnEnviar").click(function() {
        return ValidateForm();
    });

    $("[id$='cmbEstado']").change(function() {
        //alert('mudou drop estado');
        v_estado = true;
    });

    //Não estava funcionando essa função coloquei o atributo no código cs no page_load da página
    //$("[id$='cmbCidade']").change(function() {
    //    alert('mudou drop cidade');
    //    v_cidade = true;
    //});

    // Ativa ou desativa a obrigatoriedade de preenchimento do campo CPF em Cadastro.
    $('#ctl00_ContentPlaceHolder1_chkAmostra').click(function() {
        checkbox = document.getElementById('ctl00_ContentPlaceHolder1_chkAmostra');
        if (checkbox.checked) {
            $('#arrozCont').slideDown('fast');
        }
        if (!checkbox.checked) {
            $('#arrozCont').slideUp('fast');
        }
    });

});
        
    function validEmail(mail){
        var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);                
        if(er.test(mail)){
            return true;
        }
        else
        { 
            return false;
        }
    }
    
    function validCPF(value)
    {
        value = value.replace('.','');
        value = value.replace('.','');
        cpf = value.replace('-','');
        while (cpf.length < 11) 
            cpf = "0"+ cpf;
        var expReg = /^0+$|^1+$|^2+$|^3+$|^4+$|^5+$|^6+$|^7+$|^8+$|^9+$/;
        var a = [];
        var b = new Number;
        var c = 11;
        for (i=0; i<11; i++){
            a[i] = cpf.charAt(i);
            if (i < 9) b += (a[i] * --c);
        }
        if ((x = b % 11) < 2) {
            a[9] = 0
            }
        else {
            a[9] = 11 - x 
            }
        b = 0;
        c = 11;
        for (y = 0; y < 10; y++) 
            b += (a[y] * c--);
        if ((x = b % 11) < 2) {
            a[10] = 0;
         }
        else {
            a[10] = 11 - x;
         }
        if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10]) || cpf.match(expReg))
            return false;
            
        return true;
    }
      
         
    function validData(dt) {
        var er_data = new RegExp("(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/[12][9][0-9]{2}");;
        if(er_data.test(dt)){
            return true;
        }
        else
        { 
            return false;
        }
    }
            
    function inputFocus(n){
        if((n == "#formulario [id$='Email']")&&($(n).val() != '')){
            $(n).val("Preencha corretamente.");
        }
        else
        {
            $(n).val("Campo obrigatório.");
        }
        $(n).focus(function(){
            $(n).val('');
        });
    }
                
    function ValidateForm()
    {
        $('#mensagemErro').html("Os campos destacados são de preenchimento obrigatório.");
        var n = 0;          
        
        //alert(v_estado);
        
        //valida o razão social para pj
        if ($("#ctl00_ContentPlaceHolder1_rbPessoaJuridica").is(':checked')) 
        {
            if($("[id$='Razao']").val().trim() == ''){
              $("[id$='Razao']").addClass("error");
              //inputFocus("[id$='Razao']");                  
              n++;
            }else{
              $("[id$='Razao']").removeClass("error");
              //$("[id$='Razao']").unbind('focus');
            } 
            
            if($("[id$='CNPJ']").val().trim() == ''){
              $("[id$='CNPJ']").addClass("error");
              //inputFocus("[id$='CNPJ']");
              n++;
            }else{
              $("[id$='CNPJ']").removeClass("error");
              //$("[id$='CNPJ']").unbind('focus');
            }
        } else {
            //valida o nome para pf
            if ($("[id$='Nome']").val().trim() == '') {
                $("[id$='Nome']").addClass("error");
                //inputFocus("[id$='Nome']");
                n++;
            } else {
                $("[id$='Nome']").removeClass("error");
                //$("[id$='Nome']").unbind('focus');
            } 
            
            // valida data
            if(!validData($("[id$='DataNascimento']").val().trim()))
            {               
               $("[id$='DataNascimento']").addClass("error");
               //inputFocus("[id$='DataNascimento']");
               n++;
            }
            else
            {
              $("[id$='DataNascimento']").removeClass("error");
              //$("[id$='DataNascimento']").unbind('focus');
          }

          if($("[id$='cmbSabendo']").val()=='') {
              $("[id$='cmbSabendo']").addClass("error");
              //inputFocus("[id$='DataNascimento']");
              n++;
          }
          else {
              $("[id$='cmbSabendo']").removeClass("error");
              //$("[id$='DataNascimento']").unbind('focus');
          }
          
                                   
        }           
        
        // valida o email pf/pj
        if(($("#formulario [id$='Email']").val().trim() == '')||(!validEmail($("#formulario [id$='Email']").val().trim()))){               
           $("#formulario [id$='Email']").addClass("error");
           //inputFocus("#formulario [id$='Email']");
           n++;
        }else{
          $("#formulario [id$='Email']").removeClass("error");
          //$("[id$='Email']").unbind('focus');
        }          
         
        // valida sexo pf/pj
        if (!$("#rdbSexo input").is(':checked')) {
           $("#rdbSexo").addClass("error");
           n++;
        }else{
           $("#rdbSexo").removeClass("error");
        } 
        
        // valida endereço pf/pj
        if($("[id$='Endereco']").val().trim() == ''){
           $("[id$='Endereco']").addClass("error");
           //inputFocus("[id$='Endereco']");
           n++;
        }else{
          $("[id$='Endereco']").removeClass("error");
          //$("[id$='Endereco']").unbind('focus');
        }  
        
        // valida numero pf/pj
        if($("[id$='Numero']").val().trim() == ''){
           $("[id$='Numero']").addClass("error");
           //inputFocus("[id$='Numero']");
           n++;
        }else{
          $("[id$='Numero']").removeClass("error");
          //$("[id$='Numero']").unbind('focus');
        } 
        
        
        
        // valida estado pf/pj
        if($("[id$='cmbEstado']").val()=='0'){
           $("[id$='cmbEstado']").addClass("error");               
           n++;
        }else{
          $("[id$='cmbEstado']").removeClass("error");
          
            // se o estado já foi selecionado, valida escolha da cidade
            if($("[id$='cmbCidade']").val()=='0'){
               $("[id$='cmbCidade']").addClass("error");
               n++;
            }else{
              $("[id$='cmbCidade']").removeClass("error");
            }               
        }               
        
        // valida cep pf/pj
        if($("[id$='CEP']").val() == ''){
           $("[id$='CEP']").addClass("error");
           //inputFocus("[id$='CEP']");
           n++;
        }else{
          $("[id$='CEP']").removeClass("error");
          //$("[id$='CEP']").unbind('focus');
        }       
        
        // valida bairro pf/pj
        if($("[id$='Bairro']").val().trim() == ''){
           $("[id$='Bairro']").addClass("error");
           //inputFocus("[id$='Bairro']");
           n++;
        }else{
          $("[id$='Bairro']").removeClass("error");
          //$("[id$='Bairro']").unbind('focus');
        }   
        
        // valida telefone pf/pj
        if($("[id$='Telefone']").val() == ''){
           $("[id$='Telefone']").addClass("error");
           //inputFocus("[id$='Telefone']");
           n++;
        }else{
          $("[id$='Telefone']").removeClass("error");
          //$("[id$='Telefone']").unbind('focus');
        }                                                                                   
          
        // valida celular pf/pj   
        if($("[id$='Celular']").val() == ''){
           $("[id$='Celular']").addClass("error");
           //inputFocus("[id$='Celular']");
           n++;
        }else{
          $("#[id$='Celular']").removeClass("error");
          //$("[id$='Celular']").unbind('focus');
        } 
        
        // valida profissao pf/pj
        if($("[id$='Profissao'] option:selected").text() == 'Selecione'){
           $("[id$='Profissao']").addClass("error");
           //inputFocus("[id$='Profissao']");
           n++;
        }else{
          $("[id$='Profissao']").removeClass("error");
          //$("[id$='Profissao']").unbind('focus');
        } 
        
//        // valida senha pf/pj
//        if(($("#formulario [id$='Senha']").val().trim() != $("#formulario [id$='SenhaConfirma']").val().trim())||($("#formulario [id$='Senha']").val().trim() == '')){
//           $("#formulario [id$='Senha']").addClass("error");
//           $("#formulario [id$='SenhaConfirma']").addClass("error");
//           //inputFocus("#formulario [id$='SenhaConfirma']");
//           n++;
//        }else{
//            $("#formulario [id$='SenhaConfirma']").removeClass("error");
//            $("[id$='Senha']").unbind('focus');
//            $("[id$='SenhaConfirma']").unbind('focus');
        //        }


        
        // Valida campo CPF
        if ($("#ctl00_ContentPlaceHolder1_chkAmostra").is(':checked'))
        {
            if ($("[id$='CPF']").val() == '') {
                $("[id$='CPF']").addClass("error");
                //inputFocus("[id$='CPF']");
                n++;
            } else {
                if (validCPF($("[id$='CPF']").val())) {
                    $("[id$='CPF']").removeClass("error");
                }
                else {
                    $('#mensagemErro').html($('#mensagemErro').html() + "<BR/>" + "Preencha um CPF válido.");
                    $("[id$='CPF']").addClass("error");
                    //inputFocus("[id$='CPF']");
                    n++;
                }
          
            }
            
            
            
            
            
            
            

            if (!$("[id$='ArrozBranco']").attr('checked') && !$("[id$='ArrozParboilizado']").attr('checked')) {
                if(n==0)
                    $('#mensagemErro').html("Por favor, selecione um tipo de amostra.");
                n++;
            }

           
           
                
        }else {
        if ($("[id$='CPF']").val() != null) {
            if ($("[id$='CPF']").val() != '') {
                if (validCPF($("[id$='CPF']").val())) {
                    $("[id$='CPF']").removeClass("error");
                }
                else {
                    $("[id$='CPF']").addClass("error");
                    //inputFocus("[id$='CPF']");
                    n++;
                    $('#mensagemErro').html( $('#mensagemErro').html() +"<BR/>"+"Preencha um CPF válido.");
                    }

                }
            }
        }

        if ($("#chkPoliticaPrivacidade").is(':checked')) {
            $("#advice-chkPoliticaPrivacidade").hide();
        }
        else {
            if (n == 0)
                $('#mensagemErro').html("Para prosseguir você deve aceitar nossa política de privacidade.");
            $("#advice-chkPoliticaPrivacidade").show();
            n++;
        }
                           
       if(n==0){
       $('#mensagemErro').hide();
        return true;
       } else {
        $('#mensagemErro').show();
        return false;
       }
        
    }