$(document).ready(function(){
    $('.areaselects').on('click',function(){
      if($('.area-detail').css('opacity') == 1){
        //表示->非表示
          $('.area-detail').css({
            'top':'30px',
            'opacity':'0'
          });
          $('.areaselects').css('border-bottom','1px solid #a9a9a9');
          setTimeout(function(){
            $('.area-select').css('overflow','hidden');
          },300);
      }else{
        //非表示->表示
        $('.area-select').css('overflow','initial');
        $('.area-detail').css({
          'top':'41px',
          'opacity':'1'
        });
        $('.areaselects').css('border-bottom','0');
      }
    });

    $('.areachk').on('click',function(){
      var ivar = $(this).find('i').hasClass('far');
      var allchk = $(this).hasClass('alls');
      var cname = $(this).text();
      var tchk = $(this).find('input[type="checkbox"]');
      var chkprop = tchk.prop('checked'); //クリックした時点でのチェック状態
      var data999 = $(this).hasClass('all999');
      if(chkprop){
        //全チェックの場合
        if(data999){
          //全てのチェック解除
          $('.areachk input[type="checkbox"]').prop('checked',false);
          $('.areachk i').removeClass('fas').addClass('far').css('color','#B6DAC7');
          $('p.areawords').text('エリアを選択').removeClass('ontxt');
          $('#fopAreas').val('');
          $('#fopAreasName').val('');
          $('#fopCitys').val('');
        }else{
          // alert('checked.');
          //チェックあり->チェック無し
          $(this).find('i').removeClass('fas').addClass('far').css('color','#B6DAC7');
          $(this).find('input[type="checkbox"]').prop('checked',false);
          //「全て」チェックも強制解除
          $('.areachk.all999 i').removeClass('fas').addClass('far').css('color','#B6DAC7');
          $('.areachk.all999 input[type="checkbox"]').prop('checked',false);

          //全域チェック関連処理
          if(allchk){
            var ccode = $(this).attr('data-areas');
            if(ccode == 'a999'){
              // alert('alls ok.');
              //全てのチェック解除
              $('.areachk input[type="checkbox"]').prop('checked',false);
              $('.areachk i').removeClass('fas').addClass('far').css('color','#B6DAC7');
              $('p.areawords').text('エリアを選択').removeClass('ontxt');
              $('#fopAreas').val('');
              $('#fopAreasName').val('');
              $('#fopCitys').val('');
              // return false;
            }else{
              // alert('city ok.');
              //区全域チェック解除
              $('.'+ccode+' input[type="checkbox"]').prop('checked',false);
              $('.'+ccode+' i').removeClass('fas').addClass('far').css('color','#B6DAC7');
              // return false;
            }

          }else{
            // alert('area ok.');
            //全域ではない場合、同区全域チェックを解除
            var dcity = $(this).attr('data-city');
            $('.all'+dcity+' input[type="checkbox"]').prop('checked',false);
            $('.all'+dcity+' i').removeClass('fas').addClass('far').css('color','#B6DAC7');
          }

          var ac = tchk.attr('data-area');	//追加対象エリアコード
          var sac = $('#fopAreas').val(); //現在検索対象の全エリアコード
          // alert(ac);
          $.ajax({
            url  : "/furnished/sopareadatas.php",
            type : "POST",
            data : { "fac" : sac, "ac" : ac, "del" : 1 },
            dataType    : "html"
          })
          .done(function(data, textStatus, jqXHR){
            // alert('ajax ok.');
            var datas = JSON.parse(data);
            if(datas.length !== 0){
              $('#fopAreas').val(datas['fac']);
              $('#fopAreasName').val(datas['fan']);
              $('#fopCitys').val(datas['facc']);
              $('p.areawords').text(datas['fann']);
            }else{
              $('p.areawords').text('エリアを選択').removeClass('ontxt');
              $('#fopAreas').val('');
              $('#fopAreasName').val('');
              $('#fopCitys').val('');
            }
          })
          .fail(function(jqXHR, textStatus, errorThrown){
            alert("fail");
          });
        }
        return false; //これがないとelseの処理もされてしまう
      }else{
        // alert('no checked.');
        //チェック無し->チェックあり
        $(this).find('i').removeClass('far').addClass('fas').css('color','#56B5AA');
        tchk.prop('checked',true);
        var ac = tchk.attr('data-area');	//追加対象エリアコード
        var sac = $('#fopAreas').val(); //現在検索対象の全エリアコード
        if(sac != "") sac += ':';
        sac += ac;
        var an = $(this).parent().text();	//追加対象エリア名
        var san = $('#fopAreasName').val();	//現在検索対象の全エリア名
        if(san != "") san += ':';
        san += an;
        // alert(sac+san);

        //全チェックの場合
        if(data999){
            //全てをチェック
            $('.areachk input[type="checkbox"]').prop('checked',true);
            $('.areachk i').removeClass('far').addClass('fas').css('color','#56B5AA');
            $('p.areawords').text('全てのエリア').addClass('ontxt');
            $('#fopAreas').val('99900');
            $('#fopAreasName').val('全てのエリア');
            $('#fopCitys').val('999');
        }else{
          //小エリアチェック時、全ての小エリアがチェックされたら全域チェックもチェックにする
          if(!allchk){
            var tca = $(this).attr('data-city');
            if ($(".a"+tca+" input.areacity"+tca+":checked").length == $(".a"+tca+" input.areacity"+tca).length) {
              $('.all'+tca+' input[type="checkbox"]').prop('checked', true);
              $('.all'+tca+' i').removeClass('far').addClass('fas').css('color','#56B5AA');
            }
          }else{
            // alert('alls.');
            var ccode = $(this).attr('data-areas');
            if(ccode == 'a999'){
              //全てをチェック
              $('.areachk input[type="checkbox"]').prop('checked',true);
              $('.areachk i').removeClass('far').addClass('fas').css('color','#56B5AA');
              $('p.areawords').text('全てのエリア').addClass('ontxt');
              $('#fopAreas').val('99900');
              $('#fopAreasName').val('全てのエリア');
              $('#fopCitys').val('999');
              // return false;
            }else{
              //全域チェック
              $('.'+ccode+' input[type="checkbox"]').prop('checked',true);
              $('.'+ccode+' i').removeClass('far').addClass('fas').css('color','#56B5AA');
              // return false;
            }
          }

          //エリアを全部選択した時に全域コードにチェックが入った場合はallフラグを送信して選択エリアの文言やエリアコードを全域のものに変換させる（処理はfopareadatas.php内）
          var chkcity = $(this).attr('data-city');
          var all = 0;
          if($('.city'+chkcity).prop('checked')){
            // alert('chk.')
            var aarea = $('.city'+chkcity).attr('data-area');
            var all = (aarea / 100);
            // alert(all);
          }
          $.ajax({
            url  : "/furnished/sopareadatas.php",
            type : "POST",
            data : { "fac" : sac,"all" : all },
            dataType    : "html"
          })
          .done(function(data, textStatus, jqXHR){
            // alert(data);
            var datas = JSON.parse(data);

            $('#fopAreas').val(datas['fac']);
            $('#fopAreasName').val(datas['fan']);
            $('#fopCitys').val(datas['facc']);
            if(!$('p.areawords').hasClass('ontxt')) $('p.areawords').addClass('ontxt');
            $('p.areawords').text(datas['fann']);
          })
          .fail(function(jqXHR, textStatus, errorThrown){
            alert("fail");
          });
        }

        return false;
      }
    });

    $('.spclose').on('click',function(){
      //エリア検索窓CLOSE処理
      $('.area-detail').css({
        'top':'30px',
        'opacity':'0'
      });
      $('.areaselects').css('border-bottom','1px solid #a9a9a9');
      setTimeout(function(){
        $('.area-select').css('overflow','hidden');
      },300);
      var dvw = $(window).width();
      if(dvw <= 800){
        var aboxtop = $(this).closest('ul.srcterms').offset().top;
        $('body,html').animate({
          scrollTop: (aboxtop - 150)
        }, 300);
      }
    });

    $(document).on('click',function(e) {
      if(!$(e.target).closest('.areaselects').length && !$(e.target).closest('.area-detail').length && !$(e.target).closest('.termslist1-box').length && !$(e.target).closest('.spclose').length) {
        // ターゲット要素の外側をクリックした時の操作
        //エリア検索窓CLOSE処理
        $('.area-detail').css({
          'top':'30px',
          'opacity':'0'
        });
        $('.areaselects').css('border-bottom','1px solid #a9a9a9');
        setTimeout(function(){
          $('.area-select').css('overflow','hidden');
        },300);
        //面積帯窓CLOSE処理
        $('.custom-select').removeClass('opened');
        $('.custom-select-trigger').removeClass('opened');
      }
    });

});

