$(window).on('load', function () {
  $.ajaxSetup({
    // Disable caching of AJAX responses
    cache: false
  });

  if ($('#map').length) {
    initMap();



  } if (typeof contadores != 'undefined') {
    contadorAnimado('vl_ativos', 0, contadores[0], 30);
    contadorAnimado('vl_premios', 0, contadores[1], 30);
    contadorAnimado('vl_apolices', 0, contadores[2], 30);
    contadorAnimado('vl_corretores', 0, contadores[3], 30);
  }

  //autoplay do vídeo da home
  autoPlayYouTubeModal();

  //inicializa o carousel de produtos da home
  largura = $('#slidingSeguros').width();
  LarguraElm = (largura - 30) / 5;
  produtosHome();
  var atualizar = setInterval(function () {
    produtosHome();
  }, 10000);  //background dos títulos das páginas
  $('.title_data').each(function () {
    $(this).css('background-image', "url('" + $(this).data('bg') + "')");
  });

  //abrir a aba de acordo com o link
  var hash = location.hash.replace(/^#/, '');  // ^ means starting, meaning only match the first hash
  if (hash) {
    $('.nav-tabs a[href="#' + hash + '"]').tab('show');
  }  //mask defaults
  $('.date').mask('00/00/0000');
  $('.phone_with_ddd').mask('(00) #0000-0000');
  $('.cep').mask('00000-000');
  $('.money2').mask("#.###.##0,00", { reverse: true });
  $('.peso').mask("#0.000", { reverse: true });
  $('.taxa').mask("0.0000", { reverse: true });
  $('.taxa_comma').mask("0,0000", { reverse: true });
  $('.percentual').mask("000,00", {
    reverse: true,
    onKeyPress: function (val, e, field, options) {
      if (val.replace(',', '.') > 100.0) {
        console.log(field.prop('name') + ' excedeu o valor máximo de 100,00!');
        field.val('100,00');
      }
    }
  });
  $('.cnpj').mask('00.000.000/0000-00', { reverse: true });
  $('.cpf').mask('000.000.000-00', { reverse: true });
  $('.numeros').mask('#############0');
  $('.hora').mask("00:00", { reverse: true });
  $('.cpfcnpj').focusout(function () {
    var aux, element;
    element = $(this);
    element.unmask();
    aux = element.val().replace(/\D/g, '');

    if (aux.length > 11)
      element.mask("99.999.999/9999-99");
    else
      element.mask("999.999.999-99?999");
  }).focus(function () {
    var element;
    element = $(this);
    element.unmask();
  });
  //end mask defaults

  $('a.nav-link[data-bs-toggle="tab"]').bind('shown.bs.tab', function () {
    $('.blocosAdicionais div.col').hide();
    $('.' + $(this).data('bs-target').substr(1)).show();
  });

  //oculta todos os campos que variam
  $('.camposHide').hide();
  $('.campoRH').hide();

}); function openMenu(submenu) {
  //console.log('Abre submenu ' + submenu);
  //abre o submenu se não estiver aberto
  if (!$('#submenu').hasClass('open')) {
    $('#submenu').addClass('open').show(400);
  }
  //oculta todos os subs
  $('.sec-level ul').hide();
  $('.tirth-level ul').hide();
  // exibe o sub específico
  $('#' + submenu).show();
}
function openSubMenu(elemento) {
  var submenu = elemento.data('submenu');
  //console.log('Abre sub-submenu ' + submenu);
  //oculta todos os subs
  $('.tirth-level ul').hide();
  //exibe o sub
  $('#' + submenu).show();
  //desmarca todos os segundo-nível
  $('.sec-level ul li').removeClass('selecionado');
  //marca o segundo-nível aberto
  elemento.addClass('selecionado');
}

function format_reais(valor) {
  //console.log('Format: ' + valor);
  if (valor < 1000) {
    return format_decimais(valor);
  } else if (valor >= 1000 && valor < 9999) {
    vl = valor / 1000;
    return '<span class="unidade">R$</span><span class="valor">' + vl.toLocaleString('pt-Br', { maximumFractionDigits: 1 }) + '</span><span class="unidade">Mil</span>';
  } else if (valor >= 1000000 && valor < 999999999) {
    vl = valor / 1000000;

    if (valor == 1000000) {
      return '<span class="unidade">R$</span><span class="valor">' + vl.toLocaleString('pt-Br', { maximumFractionDigits: 1 }) + '</span><span class="unidade">Milhão</span>';
    } else {
      return '<span class="unidade">R$</span><span class="valor">' + vl.toLocaleString('pt-Br', { maximumFractionDigits: 1 }) + '</span><span class="unidade">Milhões</span>';
    }
  } else if (valor >= 1000000000 && valor < 999999999999) {
    vl = valor / 1000000000;

    if (valor == 1200000000) {
      return '<span class="unidade">R$</span><span class="valor">' + vl.toLocaleString('pt-Br', { maximumFractionDigits: 1 }) + '</span><span class="unidade">Bilhão</span>';
    } else {
      return '<span class="unidade">R$</span><span class="valor">' + vl.toLocaleString('pt-Br', { maximumFractionDigits: 1 }) + '</span><span class="unidade">Bilhões</span>';
    }
  } else if (valor >= 1000000000000) {
    vl = valor / 1000000000000;

    if (valor == 1000000000000) {
      return '<span class="unidade">R$</span><span class="valor">' + vl.toLocaleString('pt-Br', { maximumFractionDigits: 1 }) + '</span><span class="unidade">Trilhão</span>';
    } else {
      return '<span class="unidade">R$</span><span class="valor">' + vl.toLocaleString('pt-Br', { maximumFractionDigits: 1 }) + '</span><span class="unidade">Trilhões</span>';
    }
  }
}
function format_decimais(valor) {
  let formatter = new Intl.NumberFormat('pt-BR', { maximumFractionDigits: 0 });
  return '<span class="valor">' + formatter.format(valor) + '</span>';
}
function contadorAnimado(id_campo, vl_inicial, vl_final, timming) {
  if (vl_final > vl_inicial) {
    var vl_atual = vl_inicial;
    var passo = vl_final / timming;
    var interval = setInterval(
      function () {
        //incrementa o valor
        vl_atual = vl_atual + passo;
        //limpa o contador
        if (vl_atual >= vl_final) {
          clearInterval(interval);
          vl_atual = vl_final;
        }
        //imprime o valor
        if (id_campo == 'vl_ativos' || id_campo == 'vl_premios') {
          $('#' + id_campo).html(format_reais(vl_atual));
        } else {
          $('#' + id_campo).html(format_decimais(vl_atual));
        }
        //console.log(vl_atual + ' - ' + vl_final);
      }, 35
    );
  }
}

function autoPlayYouTubeModal() {
  var triggerOpen = $("body").find('[data-tagVideo]');
  triggerOpen.click(function () {
    var theModal = $(this).data("bs-target"),
      videoSRC = $(this).attr("data-tagVideo"),
      videoSRCauto = videoSRC + "?html5=1&autoplay=1";
    $(theModal + ' iframe').attr('src', videoSRCauto);
    $(theModal).on('hidden.bs.modal', function () {
      $(theModal + ' iframe').attr('src', videoSRC);
    })
  });
}

//validação e captcha dos forms
function validaFormulario(idForm) {
  //valida os campos required
  if ($("#" + idForm).valid()) {
    //pede pro usuario aguardar
    waitingDialog.show('Aguarde, processando', {
      dialogSize: 'lg',
      progressType: 'info'
    });

    //verifica se foi renderizado
    if (typeof captchas["grec_" + idForm] == 'undefined') {

      //console.log("Monta o widget #grec_" + idForm);
      captchas["grec_" + idForm] = grecaptcha.render("grec_" + idForm, {
        'sitekey': $("#grec_" + idForm).data('sitekey'),
        'size': "invisible",
        'expired-callback': "recaptchaExpired",
        'callback': function (success) {
          console.log('OK: ' + success);
          //submit
          $('#' + idForm).submit();
        }
      });
    }

    //garante que não tem poluição no reCaptcha
    grecaptcha.reset(captchas["grec_" + idForm]);
    //executa o reCaptcha
    grecaptcha.execute(captchas["grec_" + idForm]);
  } else {
    waitingDialog.hide();
    swal("Verifique os campos em vermelho.", 'Preencha todos os dados corretamente', "error");
  }
}

function onloadCallback() {
  //console.log('Inicio callback reCaptcha');
  //$('form button[type="button"]').prop("disabled", false);
  $('form button[type="button"]').removeAttr("disabled");
}

function recaptchaExpiredCallback() {
  grecaptcha.reset();
};
// fim validação e captcha dos forms

//exibe/oculta os campos do formulário do atendimento ao cliente
function selectTipoAtend(valor) {
  //oculta todos os campos que variam
  $('.camposHide').hide();
  $('.camposHide input').removeAttr('required');

  if (valor == 'Sugestão') {
    //$('.camposHideProtocolo').show();
    //$('.camposHide input').Attr('required','required');
  }
  if (valor == 'Reclamação') {
  }
  if (valor == 'Elogio') {
  }
}

// carrega as cidades de json
function carrega_cidades(destino, valor) {
  if (valor == '') {
    swal("Erro!", "Selecione um estado antes!", "error");
    return false;
  } else {
    $.getJSON(get_template_directory_uri + "/js/estados-cidades.json")
      .done(function (data) {
        //limpa o drop
        $('#' + destino).html('<option selected disabled value="">Selecione sua cidade aqui </option>');
        var filtrados = data.estados.filter(function (entry) {
          return entry.sigla === valor;
        });
        $.each(filtrados[0].cidades, function (key, value) {
          $('#' + destino).append('<option value="' + value + '">' + value + '</option>');
        })
      })
      .fail(function () {
        swal("Não foi possível buscar as cidades!", "Verifique sua conexão com a internet.", "error");
      });
  }
}

function detalhes(idElemento) {
  //seta todos os botões para baixo
  //$('.btn-collapse i').removeClass('fa-angle-up').addClass('fa-angle-down');
  // seta o botão específico para baixo
  //$('.btn-collapse-id' + idElemento + ' i').removeClass('fa-angle-down').addClass('fa-angle-up');

  //alterna os botões da linha
  $('.btn-collapse-id' + idElemento + ' i').toggleClass('fa-angle-down fa-angle-up');
  //altera visibilidade da div
  $('#collapse' + idElemento).toggleClass('d-none d-flex');

}

function selectSetorContato(valor) {
  if (valor == 'Recursos Humanos') {
    $('.campoRH').show();
    $('.campoRH input').attr('required', 'required');

    $('.campoRHNegativo input').removeAttr('required');
    $('.campoRHNegativo select').removeAttr('required');
    $('.campoRHNegativo').hide();
  } else {
    $('.campoRH input').removeAttr('required');
    $('.campoRH').hide();

    $('.campoRHNegativo').show();
    $('.campoRHNegativo input').attr('required', 'required');
    $('.campoRHNegativo select').attr('required', 'required');
  }
}//https://developers.google.com/maps/documentation/javascript/examples

let map;

function initMap() {
  map = new google.maps.Map(document.getElementById("map"), {
    center: { lat: -13.9130064, lng: -52.5938192 },
    zoom: 4,
  });
}

function updateMap(lat, lng, leg) {
  const lugar = new google.maps.LatLng(lat, lng);

  map = new google.maps.Map(document.getElementById("map"), {
    center: lugar,
    zoom: 15,
  });

  const coordInfoWindow = new google.maps.InfoWindow();
  coordInfoWindow.setContent(leg);
  coordInfoWindow.setPosition(lugar);
  coordInfoWindow.open(map);
  map.addListener("zoom_changed", () => {
    coordInfoWindow.setContent(leg);
    coordInfoWindow.open(map);
  });

}//validação e captcha dos forms
function busca_oficinas(idForm) {
  //valida os campos required
  if ($("#" + idForm).valid()) {
    //pede pro usuario aguardar
    waitingDialog.show('Aguarde, processando', {
      dialogSize: 'lg',
      progressType: 'info'
    });

    ajaxOficinas($('#cidade').val());
  } else {
    swal("Verifique os campos em vermelho.", 'Preencha todos os dados corretamente', "error");
  }
}

// Modal Transparência
let linkTransparencia = document.querySelector('.link-transparencia')
let modalTransparencia = document.querySelector('#modal-transparencia')
let modalTransparenciaOverlay = document.querySelector('.overlay')
let modalTransparenciaBtnClose = document.querySelector('#modal-transparencia .btn-fechar')

linkTransparencia.addEventListener('click', () => {
	modalTransparencia.classList.add('open')
	modalTransparenciaOverlay.classList.add('open')
})

modalTransparenciaBtnClose.addEventListener('click', () => {
	modalTransparencia.classList.remove('open')
	modalTransparenciaOverlay.classList.remove('open')
})
