jQuery(document).ready(function($){
    ('use strict');

    // カテゴリごとのチェックボックスの値を配列に保存する関数
    function getCheckedValues(categoryName) {
        var values = [];
        $("[name='" + categoryName + "[]']:checked").each(function () {
            values.push(this.value);
        });
        return values;
    }

    // 検索条件に合致する項目数を検索する関数
    function searchMatchCount() {
        var scenes = getCheckedValues('scene');
        var choosys = getCheckedValues('choosy');
        var areas = getCheckedValues('area');

        $.ajax({
            type: 'POST',
            url: ajaxurl,
            data: {
                action: 'view_seach_match_count',
                s: $("[name='s']").val(),
                scenes: scenes,
                choosys: choosys,
                areas: areas,
            },
            success: function (data) {
                $('#search-result').html(data);
            },
        });

        return false;
    }

    searchMatchCount();

    function searchReset() {
        //console.log('reset query.');

        $(':checkbox').prop('checked', false);
        $(':checkbox').removeAttr('checked');

        $.ajax({
            type: 'POST',
            url: ajaxurl,
            data: {
                action: 'view_seach_match_count',
            },
            success: function (data) {
                //出力する部分
                $('#search-result').html(data);
            },
            error: function (xhr, status, error) {
                console.log(error);
            },
        });
    }

    // セレクトボックス、チェックボックスの条件が変更された時の処理
    //$("input[name='scene[]'] , input[name='choosy[]'] , input[name='area[]'] , input[name='s']").change(function () {
    $("input[name='area[]']").change(function () {
        searchMatchCount();
    });

    $('.tag-items').on('change', 'input[type="checkbox"]', function () {
        searchMatchCount();
    });

    // リセット処理追加
    $('.reset-button').on('click', function () {
        //console.log('reset function. s-search');
        searchReset();
    });
});