/**
 *
 *  Validacao do formulário de reservas
 *  @author Jantara
 */

/**
 *
 *  Validacao
 */
function validacao(tipo){
  
  /**
   *
   *  Hospedes
   */
  if(tipo=='1'){
    $('#form-reservas').validate({
      rules: {
        'nome':{required:true},
        'endereco':{required:true},
        'n':{required:true},
        'cep':{required:true},
        'cidade':{required:true},
        'estado':{required:true},
        'telefone':{required:true},
        'email':{required:true,email:true},
        'entrada':{required:true},
        'saida':{required:true},
        'adultos':{required:true},
        'criancas5':{required:true},
        'criancas12':{required:true}
      },
      messages: {
        'nome':{required:"<span style='color:red;'>Preencha o Nome !</span></br>"},
        'endereco':{required:"<span style='color:red;'>Preencha o Endereço !</span></br>"},
        'n':{required:"<span style='color:red;'>Preencha o Número !</span></br>"},
        'cep':{required:"<span style='color:red;'>Preencha o Cep!</span></br>"},
        'cidade':{required:"<span style='color:red;'>Preencha o Cidade!</span></br>"},
        'estado':{required:"<span style='color:red;'>Preencha o Estado!</span></br>"},
        'email':{required:"<span style='color:red;'>Preencha o Email!</span></br>",
                  email:"<span style='color:red;'>Email inválido!</span></br>"},
        'entrada':{required:"<span style='color:red;'>Preencha a Data de Entrada!</span></br>"},
        'saida':{required:"<span style='color:red;'>Preencha a Data de Saida!</span></br>"},       
        'adultos':{required:"<span style='color:red;'>Preencha o número de Adultos!</span></br>"},          
        'criancas5':{required:"<span style='color:red;'>Preencha o número de Crianças!</span></br>"},          
        'criancas12':{required:"<span style='color:red;'>Preencha o número de Crianças!</span></br>"}          
      },
      submitHandler:function(form){
        alert('Enviado');
        form.submit();
      },
      errorLabelContainer: $("#error-form")
    })
    
  /**
   *
   *  Empresas
   */
  }else{
    $('#form-reservas').validate({
      rules: {
        'nome-fantasia':{required:true},
        'razao-social':{required:true},
        'cnpj':{required:true,cnpj:true},
        'endereco':{required:true},
        'n':{required:true},
        'cep':{required:true},
        'cidade':{required:true},
        'estado':{required:true},
        'telefone':{required:true},
        'email':{required:true,email:true},
        'gerente':{required:true},
        'responsavel':{required:true},
        'entrada':{required:true},
        'saida':{required:true},
        'adultos':{required:true},
        'criancas5':{required:true},
        'criancas12':{required:true}
      },
      messages: {
        'nome-fantasia':{required:"<span style='color:red;'>Preencha o Nome Fantasia !</span></br>"},
        'razao-social':{required:"<span style='color:red;'>Preencha a Razão Social !</span></br>"},
        'cnpj':{required:"<span style='color:red;'>Preencha o CNPJ !</span></br>",
                cnpj:"<span style='color:red;'>CNPJ Inválido !</span></br>"},
        'endereco':{required:"<span style='color:red;'>Preencha o Endereço !</span></br>"},
        'n':{required:"<span style='color:red;'>Preencha o Número !</span></br>"},
        'cep':{required:"<span style='color:red;'>Preencha o Cep!</span></br>"},
        'cidade':{required:"<span style='color:red;'>Preencha o Cidade !</span></br>"},
        'estado':{required:"<span style='color:red;'>Preencha o Estado !</span></br>"},
        'telefone':{required:"<span style='color:red;'>Preencha o Telefone !</span></br>"},
        'email':{required:"<span style='color:red;'>Preencha o Email!</span></br>",
                  email:"<span style='color:red;'>Email inválido!</span></br>"},
        'gerente':{required:"<span style='color:red;'>Preencha o Nome Gerente !</span></br>"},
        'responsavel':{required:"<span style='color:red;'>Preencha o Nome Responsável !</span></br>"},
        'entrada':{required:"<span style='color:red;'>Preencha a Data de Entrada!</span></br>"},
        'saida':{required:"<span style='color:red;'>Preencha a Data de Saida!</span></br>"},       
        'adultos':{required:"<span style='color:red;'>Preencha o número de Adultos!</span></br>"},          
        'criancas5':{required:"<span style='color:red;'>Preencha o número de Crianças!</span></br>"},          
        'criancas12':{required:"<span style='color:red;'>Preencha o número de Crianças!</span></br>"}          
      },
      submitHandler:function(form){
        form.submit();
      },
      errorLabelContainer: $("#error-form")
    })
  }
} 

/**
 *
 *  Depois do documento carregar
 */
$(document).ready(function(){
  
  /**
   *
   *  Mascaras
   */
  $('#ipt-entrada').mask('99/99/9999');
  $('#ipt-saida').mask('99/99/9999');
  $('#ipt-telefone,#ipt-celular,#ipt-fax').mask('(99)9999-9999');
  $('#ipt-cep').mask('99999-999');
  $("#ipt-cnpj").mask("99.999.999/9999-99");
  
  /**
   *
   *  Botao limpar
   */
  $('#limpar').click(function(){
    limpa();
  });
  
  /**
   *
   *  Função limpar e reseta o formulario
   */
  function limpa(){
    $('#form-reservas').find(':input').each(function(){
        switch(this.type) {
            case 'password':
            case 'select-multiple':
            case 'select-one':
            case 'text':
            case 'textarea':
                $(this).val('');
                break;
            case 'checkbox':
            case 'radio':
                this.checked = false;
        }
    });
    $('#form-reservas').reset();
  }
  
  /**
   *
   *  Tipsy
   */
  $('#ipt-adultos,#ipt-criancas5,#ipt-criancas12').tipsy({gravity:'s',css:'default'});

});


/**
 *
 *	CNPJ VALIDATE
 */
jQuery.validator.addMethod("cnpj", function(cnpj, element) {
   cnpj = jQuery.trim(cnpj);
   cnpj = cnpj.replace('/','');
   cnpj = cnpj.replace('.','');
   cnpj = cnpj.replace('.','');
   cnpj = cnpj.replace('-','');
 
   var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
   digitos_iguais = 1;
 
   if (cnpj.length < 14 && cnpj.length < 15){
      return false;
   }
   for (i = 0; i < cnpj.length - 1; i++){
      if (cnpj.charAt(i) != cnpj.charAt(i + 1)){
         digitos_iguais = 0;
         break;
      }
   }
 
   if (!digitos_iguais){
      tamanho = cnpj.length - 2
      numeros = cnpj.substring(0,tamanho);
      digitos = cnpj.substring(tamanho);
      soma = 0;
      pos = tamanho - 7;
 
      for (i = tamanho; i >= 1; i--){
         soma += numeros.charAt(tamanho - i) * pos--;
         if (pos < 2){
            pos = 9;
         }
      }
      resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
      if (resultado != digitos.charAt(0)){
         return false;
      }
      tamanho = tamanho + 1;
      numeros = cnpj.substring(0,tamanho);
      soma = 0;
      pos = tamanho - 7;
      for (i = tamanho; i >= 1; i--){
         soma += numeros.charAt(tamanho - i) * pos--;
         if (pos < 2){
            pos = 9;
         }
      }
      resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
      if (resultado != digitos.charAt(1)){
         return false;
      }
      return true;
   }else{
      return false;
   }
}, "Informe um CNPJ válido.");
