$(function() {


  $('#page-credenciados-cidades').change(function() {

    var el = $(this);
    var cid = el.val();
    var conta = 0;

    var esp = $('#page-credenciados-especialidades').val();
    if(esp == '') {

      $(".credenciados-especialidade").each(function(indice, valor) {

        var espel = $(this);

        if(cid == '') {

          $('.credenciados-especialidade').removeClass('cidade-off');
          $('.credenciados-especialidade-cidade').removeClass('cidade-off');
          $('#credenciados-especialidade-zero').addClass('cidade-off');
          conta++;

        } else {

          var cids = espel.find(".credenciados-especialidade-cidade");
          var tot = cids.length;
          var tem = 0;
          var cot = 0;
          cids.each(function(cidIndice, cidValor) {

            var cidItem = $(this);
            if(cidItem.attr('data-cidade') == cid) {

              cidItem.removeClass('cidade-off');
              tem++;

            } else {

              cidItem.addClass('cidade-off');

            }
            cot++;

          });

          if(cot >= tot) {

            if(tem >= 1) {

              espel.removeClass('cidade-off');
              conta++;

            } else {

              espel.addClass('cidade-off');

            }

          }

        }

      });

      if(conta <= 0) {

        $('#credenciados-especialidade-zero').removeClass('cidade-off');

      } else {
        
        $('#credenciados-especialidade-zero').addClass('cidade-off');

      }

    } else {

      $(".credenciados-especialidade").each(function(indice, valor) {

        var espel = $(this);

        if(cid == '') {

          var cids = espel.find(".credenciados-especialidade-cidade");
          if(espel.attr('data-especialidade') == esp) {

            if(cids.length >= 1) {
              
              espel.removeClass('cidade-off');
              cids.removeClass('cidade-off');
              $('#credenciados-especialidade-zero').addClass('cidade-off');

            } else {

              espel.addClass('cidade-off');

            }

          } else {

            espel.addClass('cidade-off');

          }

        } else {

          if(espel.attr('data-especialidade') == esp) {

            var cids = espel.find(".credenciados-especialidade-cidade[data-cidade='" + cid + "']");
            
            if(cids.length >= 1) {

              espel.removeClass('cidade-off');
              espel.find(".credenciados-especialidade-cidade").addClass('cidade-off');
              cids.removeClass('cidade-off');
              $('#credenciados-especialidade-zero').addClass('cidade-off');

            } else {

              espel.addClass('cidade-off');
              espel.find(".credenciados-especialidade-cidade").addClass('cidade-off');
              $('#credenciados-especialidade-zero').removeClass('cidade-off');

            }

          } else {

            espel.addClass('cidade-off');

          }

        }

      });

    }

  });



  $('#page-credenciados-especialidades').change(function() {

    var el = $(this);
    var esp = el.val();
    var conta = 0;

    var cid = $('#page-credenciados-cidades').val();

    if(esp == '') {

      if(cid == '') {

        $('.credenciados-especialidade').removeClass('cidade-off');
        $('.credenciados-especialidade-cidade').removeClass('cidade-off');
        conta++;

      } else {

        $(".credenciados-especialidade").each(function(indice, valor) {

          var espel = $(this);

          var cids = espel.find(".credenciados-especialidade-cidade");
          var tot = cids.length;
          var tem = 0;
          var cot = 0;
          cids.each(function(cidIndice, cidValor) {

            var cidItem = $(this);
            if(cidItem.attr('data-cidade') == cid) {

              cidItem.removeClass('cidade-off');
              tem++;

            } else {

              cidItem.addClass('cidade-off');

            }
            cot++;

          });

          if(cot >= tot) {

            if(tem >= 1) {

              espel.removeClass('cidade-off');
              conta++;

            } else {

              espel.addClass('cidade-off');

            }

          }

        });


        if(conta <= 0) {

          $('#credenciados-especialidade-zero').removeClass('cidade-off');

        } else {

          $('#credenciados-especialidade-zero').addClass('cidade-off');

        }

      }

    } else {

      $(".credenciados-especialidade").each(function(indice, valor) {

        var espel = $(this);

        if(cid == '') {

          var cids = espel.find(".credenciados-especialidade-cidade");
          if(espel.attr('data-especialidade') == esp) {

            if(cids.length >= 1) {
              
              espel.removeClass('cidade-off');
              cids.removeClass('cidade-off');
              $('#credenciados-especialidade-zero').addClass('cidade-off');

            } else {

              espel.addClass('cidade-off');

            }

          } else {

            espel.addClass('cidade-off');

          }

        } else {

          if(espel.attr('data-especialidade') == esp) {

            var cids = espel.find(".credenciados-especialidade-cidade[data-cidade='" + cid + "']");
            
            if(cids.length >= 1) {

              espel.removeClass('cidade-off');
              espel.find(".credenciados-especialidade-cidade").addClass('cidade-off');
              cids.removeClass('cidade-off');
              $('#credenciados-especialidade-zero').addClass('cidade-off');

            } else {

              espel.addClass('cidade-off');
              espel.find(".credenciados-especialidade-cidade").addClass('cidade-off');
              $('#credenciados-especialidade-zero').removeClass('cidade-off');

            }

          } else {

            espel.addClass('cidade-off');

          }

        }

      });

    }

  });




  // =============================================================================


  $('#page-credenciados-2-areas').change(function() {


    var el = $(this);
    var area = el.val();

    var esp = $('#page-credenciados-2-especialidades');
    var esps = esp.find('option');

    esp.prop('selectedIndex', 0);

    esps.each(function(indice, valor) {

      var opt = $(this);
      
      opt.removeAttr('disabled').removeClass('disabled-opt');

      if(area != '') {

        if(opt.val() != '') {

          var areas = opt.attr('data-areas');
          var areas = areas.split(';');
          if(areas.length >= 1) {

            if(areas.includes(area) == false) {

              opt.attr('disabled', true).addClass('disabled-opt');

            }

          } else {

            opt.attr('disabled', true).addClass('disabled-opt');

          }

        }

      }

    });

  });



  $('form#page-credenciados-2').submit(function(){
    
    $(this).find('div.page-loop-sidebox').addClass('d-none');
    $('#page-credenciados-2-loading').removeClass('d-none');
    $(this).find(':input').each(function() {
      
      var inp = $(this);
      if (!inp.val()) {

        inp.remove();
      
      }
    
    });
  
  });



  $('button#page-credenciados-2-limpar').click(function(){

    if(!$(this).hasClass('btn-sct-disabled')) {
      
      $('form#page-credenciados-2').find(':input').each(function() {
        
        var inp = $(this);
        inp.val("")
      
      });
      $('form#page-credenciados-2').submit();

    }
  
  });


});