function search_cep(getCep,this_index){
  $.jGrowl('Aguarde enquanto procuramos os dados do seu endereço!');
  $.post('ajax/search_cep.php',{
      cep: getCep
    }, function(xml){
      var result=$('results > result',xml).text();
      if(result=='basico'){
        $.jGrowl('Por favor complete o seu endereço!');
        $('.fUF:eq('+this_index+')').val($('results > uf',xml).text());
        $('.fCidade:eq('+this_index+')').val($('results > cidade',xml).text());
        $('.fTipoEndereco:eq('+this_index+')').focus();
      }else if(result=='completo'){
        $('.fUF:eq('+this_index+')').val($('results > uf',xml).text());
        $('.fCidade:eq('+this_index+')').val($('results > cidade',xml).text());
        $('.fBairro:eq('+this_index+')').val($('results > bairro',xml).text());
        $('.fEndereco:eq('+this_index+')').val($('results > tipo_logradouro',xml).text()+' '+$('results > logradouro',xml).text());
        $('.fNumero:eq('+this_index+')').focus();
      }else if(result=='error'){
        $.jGrowl('Endereço não encontrado - por favor preencha os campos abaixo!');
        $('.fTipoEndereco:eq('+this_index+')').focus();
      }
    });
}
var validSegmento = function(element){
  var status = false;
  $(
    '#ingles_ef1, #ingles_ef2, #ingles_em, '+
    '#espanhol_ef1, #espanhol_ef2, #espanhol_em, '+
    '#portugues_ef1, #portugues_ef2, #portugues_em, '+
    '#outra_ef1, #outra_ef2, #outra_em'
  ).each(function(){
    $this = $(this);
    if($this.is(':checked') || status){
        status = true;
    }
    else{
        status = false;
    }
  });
  return status;
}    
      
$().ready(function() {
  $("#formContato").validate({
    onkeyup: false,
    errorPlacement: function(error, element) {
      if($(element).attr('temp'))
          fieldID = $(element).attr('temp');
      else
          var fieldID = Math.round(Math.random()*100000+1);
      if(!$("span[temp="+fieldID+"]").size()){
        element.parent("div").append("<span class=\"msg\" temp=\""+fieldID+"\"><\/span>");
      }
      $("span[temp="+fieldID+"]").html(error.attr('temp',fieldID));
      element.addClass("invalid").attr('temp',fieldID);
    },
    success:function(label){
      $("* [temp='"+label.attr('temp')+"']").removeClass("invalid");
      label.parent().remove();
    },
    rules: {
        nome: "required",
        pessoal_cep: "required",
        pessoal_endereco: "required",
        pessoal_numero: "required",
        pessoal_bairro: "required",
        pessoal_cidade: "required",
        pessoal_uf: "required",
        pessoal_telefone_ddd: {
         required: true,
         minlength: 2
        },
        pessoal_telefone_numero: {
         required: true,
         minlength: 9
        },
        pessoal_celular_ddd:  {
         required: true,
         minlength: 2
        },
        pessoal_celular_numero:  {
         required: true,
         minlength: 9
        },
        pessoal_email: {
          required: true,
          email: true
        },
        'ingles_ef1[1]': {
          required: function(element){
              return !validSegmento();
          }
        },
        'ingles_ef2[1]': {
          required: function(element){
              return !validSegmento();
          }
        },
        'ingles_em[1]': {
          required: function(element){
              return !validSegmento();
          }
        },
        'espanhol_ef1[1]': {
          required: function(element){
              return !validSegmento();
          }
        },
        'espanhol_ef2[1]': {
          required: function(element){
              return !validSegmento();
          }
        },
        'espanhol_em[1]': {
          required: function(element){
              return !validSegmento();
          }
        },
        'portugues_ef1[1]': {
          required: function(element){
              return !validSegmento();
          }
        },
        'portugues_ef2[1]': {
          required: function(element){
              return !validSegmento();
          }
        },
        'portugues_em[1]': {
          required: function(element){
              return !validSegmento();
          }
        },
        'outra_ef1[1]': {
          required: function(element){
              return !validSegmento();
          }
        },
        'outra_ef2[1]': {
          required: function(element){
              return !validSegmento();
          }
        },
        'outra_em[1]': {
          required: function(element){
              return !validSegmento();
          }
        },
        'profissional_cargo_outro[1]': { required: ".fOutro:checked" },
        'profissional_nome_escola[1]': { required: ".fParticular[name='profissional_tipo_instituicao[1]']:unchecked" },
        'profissional_cep[1]': { required: ".fParticular[name='profissional_tipo_instituicao[1]']:unchecked" },
        'profissional_endereco[1]': { required: ".fParticular[name='profissional_tipo_instituicao[1]']:unchecked" },
        'profissional_numero[1]': { required: ".fParticular[name='profissional_tipo_instituicao[1]']:unchecked" },
        'profissional_bairro[1]' : { required: ".fParticular[name='profissional_tipo_instituicao[1]']:unchecked" },
        'profissional_cidade[1]' : { required: ".fParticular[name='profissional_tipo_instituicao[1]']:unchecked" },
        'profissional_uf[1]' : { required: ".fParticular[name='profissional_tipo_instituicao[1]']:unchecked" },
        'profissional_telefone_ddd[1]' : { required: ".fParticular[name='profissional_tipo_instituicao[1]']:unchecked" },
        'profissional_telefone_numero[1]' : { required: ".fParticular[name='profissional_tipo_instituicao[1]']:unchecked" }
    },
    messages: {
        nome: "Digite seu nome",
        aniversario_dia: "Escolha o dia do seu aniversário",
        aniversario_mes: "Escolha o mês do seu aniversário",
        pessoal_cep: "Digite o seu cep",
        pessoal_endereco: "Digite o seu endereço",
        pessoal_numero: "Digite o número da sua residencia",
        pessoal_bairro: "Digite o seu bairro",
        pessoal_cidade: "Digite a sua cidade ",
        pessoal_uf: "Digite a UF",
        pessoal_telefone_ddd:"Digite o código DDD do seu telefone",
        pessoal_telefone_numero: "Digite o número do seu telefone",
        pessoal_celular_ddd: "Digite o código DDD do seu celular",
        pessoal_celular_numero: "Digite o número do seu celular",
        pessoal_email: {
          required: "Digite seu e-mail",
          email: "E-mail inválido"
        },
        'ingles_ef1[1]': {
          required: ''
        },
        'ingles_ef2[1]': {
          required: ''
        },
        'ingles_em[1]': {
          required: ''
        },
        'espanhol_ef1[1]': {
          required: ''
        },
        'espanhol_ef2[1]': {
          required:''
        },
        'espanhol_em[1]': {
          required: ''
        },
        'portugues_ef1[1]': {
          required: ''
        },
        'portugues_ef2[1]': {
          required: ''
        },
        'portugues_em[1]': {
          required: ''
        },
        'outra_ef1[1]': {
          required: ''
        },
        'outra_ef2[1]': {
          required:''
        },
        'outra_em[1]': {
          required: 'Selecione pelo menos um segmento'
        },
        'profissional_cargo_outro[1]': "Digite o cargo",
        'profissional_nome_escola[1]': "Digite o nome da escola",
        'profissional_cep[1]': "Digite o CEP",
        'profissional_endereco[1]': "Digite o endereço",
        'profissional_numero[1]': "Digite o número",
        'profissional_bairro[1]' : "Digite o bairro",
        'profissional_cidade[1]' : "Digite a cidade",
        'profissional_uf[1]' : "Digite a UF",
        'profissional_telefone_ddd[1]' : "Digite o DDD",
        'profissional_telefone_numero[1]' : "Digite o número do telefone"
    }
  });
  $(".fCep").mask("99999999",{placeholder:""});
  $(".fTel").mask("9999-9999",{placeholder:""});
  $("#PessoalCpf").mask("999.999.999-99",{placeholder:""});

  // para avançar ao proximo campo
  $('* :input').keyup(function(){
      var this_index = $('*:input').index(this);
      if( $(this).valid() && $(this).attr('maxlength') == $(this).val().length )
         $('*:input').get(this_index+1).focus();
    });
});

$(document).ready(function() {

  $(".fCep").blur(function(){
    var this_index = $(".fCep").index(this);
    if($(".fCep:eq("+this_index+")").val().length == 8) search_cep($(".fCep:eq("+this_index+")").val(),this_index);
  });
  
  var dados_escola_cont = 2;
  var template_form = $('.escola:first').clone(true);
  $('.inserir_nova_escola').click(function(){
    
    var new_form = $(template_form).clone();
    $(this).parent().before(new_form);
    
    $('.escola:last > legend').html( $('.escola:last > legend').html() + ' '+ dados_escola_cont );
    $('.escola:last').show('slow', function(){
        //troca o [x] para [x+1]
        $(this).find('input').each(function(i) {
            var currentElem= $(this);
            var re = new RegExp("\\[1\\]", 'g');
            if(currentElem.attr('name')!=null){
               currentElem.attr('name', currentElem.attr('name').replace(re,'['+dados_escola_cont+']'));
            }
        });
     
    });
    
    //Add Mascaras
    $(".fCep").mask("99999999",{placeholder:""});
    $(".fTel").mask("9999-9999",{placeholder:""});

    //Add função busca por cep
    $(".fCep").blur(function(){
        var this_index = $(".fCep").index(this);
        if($(".fCep:eq("+this_index+")").val().length == 8) search_cep($(".fCep:eq("+this_index+")").val(),this_index);
     });

     //Add validação aos novos campos
    $("input[name='profissional_nome_escola["+dados_escola_cont+"]']").rules("add", {
        required: ".fParticular[name='profissional_tipo_instituicao["+dados_escola_cont+"]']:unchecked",
        messages: { required: "Digite o nome da escola" }
    });

    $("input[name='profissional_cep["+dados_escola_cont+"]']").rules("add", {
        required: ".fParticular[name='profissional_tipo_instituicao["+dados_escola_cont+"]']:unchecked",
        messages: { required: "Digite o CEP" }
    });

    $("input[name='profissional_cep["+dados_escola_cont+"]']").rules("add", {
        required: ".fParticular[name='profissional_tipo_instituicao["+dados_escola_cont+"]']:unchecked",
        messages: { required: "Digite o CEP" }
    });

    $("input[name='profissional_endereco["+dados_escola_cont+"]']").rules("add", {
        required: ".fParticular[name='profissional_tipo_instituicao["+dados_escola_cont+"]']:unchecked",
        messages: { required: "Digite o Endereço" }
    });
     $("input[name='profissional_numero["+dados_escola_cont+"]']").rules("add", {
        required: ".fParticular[name='profissional_tipo_instituicao["+dados_escola_cont+"]']:unchecked",
        messages: { required: "Digite o número" }
    });
     $("input[name='profissional_bairro["+dados_escola_cont+"]']").rules("add", {
        required: ".fParticular[name='profissional_tipo_instituicao["+dados_escola_cont+"]']:unchecked",
        messages: { required: "Digite o bairro" }
    });
     $("input[name='profissional_cidade["+dados_escola_cont+"]']").rules("add", {
        required: ".fParticular[name='profissional_tipo_instituicao["+dados_escola_cont+"]']:unchecked",
        messages: { required: "Digite o cidade" }
    });
     $("input[name='profissional_uf["+dados_escola_cont+"]']").rules("add", {
        required: ".fParticular[name='profissional_tipo_instituicao["+dados_escola_cont+"]']:unchecked",
        messages: { required: "Digite a UF" }
     });
     $("input[name='profissional_telefone_ddd["+dados_escola_cont+"]']").rules("add", {
        required: ".fParticular[name='profissional_tipo_instituicao["+dados_escola_cont+"]']:unchecked",
        messages: { required: "Digite o código DDD do telefone" }
     });

     $("input[name='profissional_telefone_numero["+dados_escola_cont+"]']").rules("add", {
        required: ".fParticular[name='profissional_tipo_instituicao["+dados_escola_cont+"]']:unchecked",
        messages: { required: "Digite o número do telefone" }
     });
    
        dados_escola_cont++;  
  });

  $('.remover_ultima_escola').click(function(){
    if($('.escola').size()>1 && window.confirm("Deseja realmente remover?"))
        $('.escola:last').remove();
  });

});

