PageSourceSearch

https://carerssupportwestwales.org/wp-content/plugins/category-ajax-filter-pro/assets/js/script.js?ver=8.8.2.6

js carerssupportwestwales.org collected 2026-10-07 23:03:39 UTC 33,944 bytes, 940 lines download raw bytes

1jQuery(function ($) {
2  /* SEARCH BAR FUNCTIONS */
3  $(document).on("keypress", function (e) {
4    if (e.which == 13) {
5      search_submit(e.target);
6    }
7  });
8  $("#caf-search-sub").click(function () {
9    search_submit($(this));
10  });
11  $(".manage-caf-search-icon i").click(function () {
12    if ($(this).hasClass("fa-search")) {
13      var cont = $(this).closest("#caf-post-layout-container");
14      $(cont)
15        .find(
16          ".caf-filter-layout.srch-on.search-layout2 .caf-manage-search-bar"
17        )
18        .addClass("active");
19      $(this).removeClass("fa-search").addClass("fa-times");
20    } else {
21      var cont = $(this).closest("#caf-post-layout-container");
22      $(cont)
23        .find(
24          ".caf-filter-layout.srch-on.search-layout2 .caf-manage-search-bar"
25        )
26        .removeClass("active");
27      $(this).removeClass("fa-times").addClass("fa-search");
28    }
29  });
30
31  /* TABS SCROLLER FUNCTIONS */
32  $(".caf-scroll-right i").click(function () {
33    var total = parseInt($(this).attr("data-count")) + 1;
34    var post_per_page = "5";
35    var len = $(".caf-tab-layout ul li.caf-tab-hide").length;
36    var current_page = parseInt(len / 5);
37    var next_page = current_page + 1;
38    var show = next_page * post_per_page;
39    // console.log(len,current_page,show);
40    var ext = total - len;
41    if (len < total && ext >= post_per_page) {
42      $(".caf-tab-layout ul").each(function (i) {
43        var div = $(this).find("li:not('.caf-tab-hide'):lt(5)");
44        $(div).addClass("caf-tab-hide");
45      });
46    }
47  });
48
49  $(".caf-scroll-left i").click(function () {
50    $(".caf-tab-layout ul").each(function (i) {
51      var div = $(this).find("li.caf-tab-hide:gt(-5)");
52      $(div).removeClass("caf-tab-hide");
53    });
54  });
55
56  /* POPUP FUNCTIONS */
57
58  function search_submit(div) {
59    //console.log(div,$(div).attr('class'));
60    var cl_pagination = $(div).attr("class");
61    if (cl_pagination == "prev-next-input") {
62      pagination_submit(div);
63      return false;
64    }
65    var cont = $(div).closest("#caf-post-layout-container");
66    var sr_val = $(cont).find("#caf-search-input").val();
67    //console.log(sr_val);
68    if (sr_val != "") {
69      var divc = $(cont).attr("data-target-div");
70      //console.log(divc,sr_val);
71      var params = get_params(1, divc);
72      params.search_string = sr_val;
73      // console.log(params);
74      get_posts(params);
75    }
76  }
77
78  function get_params($page, div) {
79    var div = "." + div;
80
81    var params = {
82      page: $page,
83      tax: $(div).attr("data-tax"),
84      "post-type": $(div).attr("data-post-type"),
85      term: $(div).attr("data-terms"),
86      "per-page": $(div).attr("data-per-page"),
87      "filter-id": $(div).attr("data-filter-id"),
88      "caf-post-layout": $(div).attr("data-post-layout"),
89      "data-target-div": div,
90      "data-filter-layout": $(div).attr("data-filter-layout"),
91      "data-relation": $(div).attr("data-relation"),
92      "data-default-term": $(div).attr("data-default-term"),
93      "current-post-id": $(div).attr("current-post-id"),
94      "data-order-by":$(div).attr('data-order-by'),
95      "data-order-type":$(div).attr('data-order-type')
96    };
97    if ($("#caf-search-input").val() != "") {
98      params.search_string = $("#caf-search-input").val();
99    }
100    // if(params['data-default-term']!='all') {
101    //   params['term']=params['data-default-term'];
102
103    // }
104    //console.log(params);
105    return params;
106  }
107
108  $(".caf-post-layout-container").each(function (i) {
109    var div = $(this).attr("data-target-div");
110    var params = get_params(1, div);
111    //console.log(params);
112    //console.log(params["data-filter-layout"]);
113    params["first"] = "first";
114    get_posts(params);
115  });
116
117  $("ul.dropdown li a").click(function () {
118    var cat = $(this).text();
119    $(this).closest("ul.dropdown").find("span.result").html(cat);
120    //$("ul.dropdown span.result").html(cat);
121  });
122
123  function pagination_submit(e) {
124    var page = parseInt(e.value);
125    var div = $(e)
126      .closest(".caf-post-layout-container")
127      .attr("data-target-div");
128    var perform = "pagination";
129    /* SCROLLING FUNCTION START */
130    cafScrollToDiv(div);
131    /** SCROLLING END **/
132    //console.log(page,div);
133    var params = get_params(page, div);
134
135    if (params["data-filter-layout"] != "alphabetical-layout") {
136      params["caf-perform"] = perform;
137    }
138
139    var div_new = "#caf-post-layout-container." + div;
140
141    if ($(div_new).attr("data-filter-layout") == "multiple-taxonomy-filter2") {
142      params["data-filter-layout"] = "multiple-taxonomy-filter2";
143    }
144
145    if (params["data-filter-layout"] == "multiple-checkbox") {
146      if ($("#caf-multiple-check-filter li .check_box:checked").length > 0) {
147        params["data-filter-layout"] = "multiple-checkbox2";
148      } else {
149        params["data-filter-layout"] = "multiple-checkbox";
150      }
151    }
152    //console.log(params);
153    get_posts(params);
154    //}
155  }
156
157  $(".caf-post-layout-container").on(
158    "click",
159    ".caf-pagi-btn,.caf-filter-container li a,.caf-pagination a,.caf-alpha-layout li",
160    function clickaction(e) {
161      //console.log(e.currentTarget);
162      var div = e.currentTarget.getAttribute("data-target-div");
163      var current_id = e.currentTarget.getAttribute("data-main-id");
164
165      if (current_id == "flt") {
166        $("." + div + " .caf-filter-layout ul li a").each(function () {
167          $(this).removeClass("active");
168        });
169        if ($("." + div).attr("data-filter-layout") == "alphabetical-layout") {
170          $("." + div + " .caf-filter-layout ul li").each(function () {
171            $(this).removeClass("active");
172          });
173        }
174        var id = $(this).attr("data-id");
175        $(this).addClass("active");
176        $("." + div).attr("data-terms", id);
177        $page = "1";
178        if (id.indexOf(",") > -1) {
179          var perform = "filter-all";
180        } else {
181          var perform = "filter";
182        }
183      } else {
184        var div = e.delegateTarget.getAttribute("data-target-div");
185        $page = parseInt($(this).attr("href").replace(/\D/g, ""));
186        //caf_performance("pagination");
187        //params["data-filter-layout"]="multiple-taxonomy-filter2";
188        var perform = "pagination";
189      }
190      /* SCROLLING FUNCTION START */
191      cafScrollToDiv(div);
192      /** SCROLLING END **/
193      var params = get_params($page, div);
194      //console.log(params);
195      if (params["data-filter-layout"] != "alphabetical-layout") {
196        params["caf-perform"] = perform;
197      }
198      var div_new = "#caf-post-layout-container." + div;
199      //console.log($(div_new).attr("data-filter-layout"));
200      if (
201        $(div_new).attr("data-filter-layout") == "multiple-taxonomy-filter2"
202      ) {
203        // console.log("okkk");
204        params["data-filter-layout"] = "multiple-taxonomy-filter2";
205      }
206      if (params["data-filter-layout"] == "multiple-checkbox") {
207        if ($("#caf-multiple-check-filter li .check_box:checked").length > 0) {
208          params["data-filter-layout"] = "multiple-checkbox2";
209        } else {
210          params["data-filter-layout"] = "multiple-checkbox";
211        }
212      }
213      get_posts(params);
214      e.preventDefault();
215    }
216  );
217
218  /* START FUNCTION FOR MULTIPLE CHECKBOX FILTER */
219  $(".caf-post-layout-container").on(
220    "click",
221    "#caf-multiple-check-filter li .check_box",
222    function (e) {
223      //console.log(e.currentTarget);
224      var div = e.currentTarget.getAttribute("data-target-div");
225      var div_new = "#caf-post-layout-container." + div;
226      var current_id = e.currentTarget.id;
227      var cr_tr = $("#" + current_id).val();
228      //console.log(div,current_id);
229      var v = [];
230      i = 0;
231
232      $("#caf-multiple-check-filter li .check_box:checked").each(function () {
233        v[i++] = $(this).val();
234      });
235
236      var t = v.toString();
237      if (t == "") {
238        var sel_terms = $("." + div).attr("data-selected-terms");
239        $("." + div).attr("data-terms", sel_terms);
240      } else {
241        $("." + div).attr("data-terms", t);
242      }
243
244      $page = "1";
245      var params = get_params($page, div);
246      params["caf-perform"] = "filter";
247      params["caf-perform-term"] = cr_tr;
248      //params["caf-perform"]='filter';
249      jQuery(div_new).attr("data-filter-layout", "");
250      if ($("#caf-multiple-check-filter li .check_box:checked").length > 0) {
251        params["data-filter-layout"] = "multiple-checkbox2";
252      } else {
253        params["data-filter-layout"] = "multiple-checkbox";
254      }
255      cafScrollToDiv(div);
256      //console.log(params);
257      get_posts(params);
258      //e.preventDefault();
259    }
260  );
261  /* END FUNCTION FOR MULTIPLE CHECKBOX FILTER */
262
263  /* START FUNCTION FOR MULTIPLE TAXONOMY FILTER */
264  $(".caf-post-layout-container").on(
265    "click",
266    "#caf-multiple-taxonomy-filter li .check_box",
267    function (e) {
268      //console.log(e.currentTarget);
269
270      if (!$(this).closest("li").hasClass("act")) {
271        $(this).closest("li").addClass("act");
272      } else {
273        $(this).closest("li").removeClass("act");
274      }
275      var div = e.currentTarget.getAttribute("data-target-div");
276      var div_new = "#caf-post-layout-container." + div;
277
278      var current_id = e.currentTarget.id;
279      var cr_tr = $("#" + current_id).val();
280      //console.log(div,$("#"+current_id).val());
281      var v = [];
282      i = 0;
283      if($(this).closest('.caf-post-layout-container').find(".caf-active-filters").length>0) {
284      set_active_filters($(this).closest('.caf-post-layout-container'));
285      }
286      $("#caf-multiple-taxonomy-filter li .check_box:checked").each(
287        function () {
288          v[i++] = $(this).val();
289        }
290      );
291
292      var t = v.toString();
293      if (t == "") {
294        var sel_terms = $("." + div).attr("data-selected-terms");
295        $("." + div).attr("data-terms", sel_terms);
296      } else {
297        $("." + div).attr("data-terms", t);
298      }
299
300      $page = "1";
301      var params = get_params($page, div);
302      params["caf-perform"] = "filter";
303      params["caf-perform-term"] = cr_tr;
304
305      if (
306        v.filter(function (e) {
307          return e !== "0";
308        }).length == 1
309      ) {
310        //console.log("in");
311        params["data-filter-layout"] = "multiple-taxonomy-filter";
312        jQuery(div_new).attr("data-filter-layout", "multiple-taxonomy-filter");
313      }
314
315      if ($("#caf-multiple-taxonomy-filter li .check_box:checked").length > 1) {
316        params["data-filter-layout"] = "multiple-taxonomy-filter2";
317        jQuery(div_new).attr("data-filter-layout", "multiple-taxonomy-filter2");
318      } else {
319        params["data-filter-layout"] = "multiple-taxonomy-filter";
320        jQuery(div_new).attr("data-filter-layout", "multiple-taxonomy-filter");
321      }
322      cafScrollToDiv(div);
323      // console.log(params);
324      get_posts(params);
325      //e.preventDefault();
326    }
327  );
328  /* END FUNCTION FOR MULTIPLE TAXONOMY FILTER */
329
330  /* START FUNCTION FOR MULTIPLE TAXONOMY HORIZONTAL FILTER */
331  $(".caf-post-layout-container").on(
332    "click",
333    ".caf_select_multi_btn",
334    function (e) {
335      //console.log(e.currentTarget);
336      var div = e.currentTarget.getAttribute("data-target-div");
337      var div_new = "#caf-post-layout-container." + div;
338      var current_id = e.currentTarget.id;
339      //console.log(div,current_id);
340      var v = [];
341      i = 0;
342      $(".caf_select_multi").each(function () {
343        v[i++] = $(this).val();
344      });
345      const allEqual = (v) => v.every((val) => val === v[0]);
346      var t = v.toString();
347      if (t == "" || allEqual(v)) {
348        var sel_terms = $("." + div).attr("data-selected-terms");
349        $("." + div).attr("data-terms", sel_terms);
350      } else {
351        $("." + div).attr("data-terms", t);
352      }
353
354      $page = "1";
355      var params = get_params($page, div);
356      //params["caf-perform"]='filter';
357      if (
358        v.filter(function (e) {
359          return e !== "0";
360        }).length == 1
361      ) {
362        //console.log("in");
363        params["data-filter-layout"] = "multiple-taxonomy-filter";
364        jQuery(div_new).attr("data-filter-layout", "multiple-taxonomy-filter");
365      }
366
367      if ($(".caf_select_multi").length > 1 && allEqual(v) == false) {
368        params["data-filter-layout"] = "multiple-taxonomy-filter2";
369        jQuery(div_new).attr("data-filter-layout", "multiple-taxonomy-filter2");
370      } else {
371        params["data-filter-layout"] = "multiple-taxonomy-filter";
372        jQuery(div_new).attr("data-filter-layout", "multiple-taxonomy-filter");
373      }
374
375      /* SCROLLING FUNCTION START */
376      cafScrollToDiv(div);
377      /** SCROLLING END **/
378      //console.log(params);
379      get_posts(params);
380      //e.preventDefault();
381    }
382  );
383  /* END FUNCTION FOR MULTIPLE TAXONOMY HORIZONTAL FILTER */
384
385  /* START FUNCTION FOR MULTIPLE TAXONOMY HORIZONTAL MODERN FILTER */
386  $("ul.caf-multi-drop-sub li").click(function () {
387    var data_name = $(this).attr("data-name");
388    var data_value = $(this).attr("data-value");
389
390    var div = $(this)
391      .closest(".caf-post-layout-container")
392      .attr("data-target-div");
393    var div_new = "#caf-post-layout-container." + div;
394    $(this)
395      .closest("ul.caf-multi-drop-sub")
396      .find("li")
397      .each(function () {
398        $(this).removeClass("active");
399      });
400    $(this).addClass("active");
401    $(this).closest("ul.caf-multi-drop-sub").removeClass("active");
402    // console.log(data_name,div);
403    $(this)
404      .closest("ul.caf_select_multi")
405      .find("li.caf_select_multi_default span")
406      .text(data_name);
407    $(this)
408      .closest("ul.caf_select_multi")
409      .find("li.caf_select_multi_default")
410      .attr("data-value", data_value);
411    var v = [];
412    i = 0;
413    $("li.caf_select_multi_default").each(function () {
414      v[i++] = $(this).attr("data-value");
415      //console.log($(this).attr("data-value"));
416    });
417    // console.log(v);
418    const allEqual = (v) => v.every((val) => val === v[0]);
419    var t = v.toString();
420    if (t == "" || allEqual(v)) {
421      var sel_terms = $("." + div).attr("data-selected-terms");
422      $("." + div).attr("data-terms", sel_terms);
423    } else {
424      $("." + div).attr("data-terms", t);
425    }
426
427    $page = "1";
428    var params = get_params($page, div);
429    params["caf-perform"] = "filter";
430    params["caf-perform-term"] = data_value;
431
432    //console.log($(".caf_select_multi").length,allEqual(v),v.filter(function(e) { return e !== '0' }));
433    if (
434      v.filter(function (e) {
435        return e !== "0";
436      }).length == 1
437    ) {
438      //console.log("in");
439      params["data-filter-layout"] = "multiple-taxonomy-filter";
440      jQuery(div_new).attr("data-filter-layout", "multiple-taxonomy-filter");
441    } else if ($(".caf_select_multi").length > 1 && allEqual(v) == false) {
442      //console.log("ok");
443      params["data-filter-layout"] = "multiple-taxonomy-filter2";
444      jQuery(div_new).attr("data-filter-layout", "multiple-taxonomy-filter2");
445    } else {
446      // console.log("ok1");
447      params["data-filter-layout"] = "multiple-taxonomy-filter";
448      jQuery(div_new).attr("data-filter-layout", "multiple-taxonomy-filter");
449    }
450
451    cafScrollToDiv(div);
452    get_posts(params);
453  });
454  /* END FUNCTION FOR MULTIPLE TAXONOMY HORIZONTAL MODERN FILTER */
455
456  /* START FUNCTION FOR PARENT CHILD CATEGORY FILTER  */
457  $(".caf-post-layout-container").on(
458    "click",
459    ".caf-pcf-layout li .check_box",
460    function (e) {
461      //console.log(e.currentTarget);
462      if (!$(this).closest("li").hasClass("act")) {
463        $(this).closest("li").addClass("act");
464      } else {
465        $(this).closest("li").removeClass("act");
466      }
467      var div = e.currentTarget.getAttribute("data-target-div");
468      var div_new = "#caf-post-layout-container." + div;
469      //console.log(div_new);
470      var current_id = e.currentTarget.id;
471      //console.log(current_id);
472      var cr_tr = $("#" + current_id).val();
473      // console.log(div,$("#"+current_id).val());
474      var v = [];
475      i = 0;
476      $(".caf-pcf-layout li .check_box:checked").each(function () {
477        v[i++] = $(this).val();
478      });
479
480      var t = v.toString();
481      if (t == "") {
482        var sel_terms = $("." + div).attr("data-selected-terms");
483        $("." + div).attr("data-terms", sel_terms);
484      } else {
485        $("." + div).attr("data-terms", t);
486      }
487
488      $page = "1";
489      var params = get_params($page, div);
490      params["caf-perform"] = "filter";
491      params["caf-perform-term"] = cr_tr;
492      jQuery(div_new).attr("data-filter-layout", "multiple-taxonomy-filter2");
493      if ($(".caf-pcf-layout li .check_box:checked").length > 1) {
494        params["data-filter-layout"] = "multiple-taxonomy-filter2";
495      } else {
496        params["data-filter-layout"] = "multiple-taxonomy-filter";
497      }
498      cafScrollToDiv(div);
499      // console.log(params);
500      get_posts(params);
501      //e.preventDefault();
502    }
503  );
504  /* END FUNCTION FOR PARENT CHILD CATEGORY FILTER*/
505
506  $(".caf-post-layout-container").on("click", ".tp_load_more", function (e) {
507    var $current = $(this).attr("data-current");
508    var $next = $(this).attr("data-next");
509    var $total = $(this).attr("data-total");
510    //console.log($current,$next,$total);
511    var div = e.delegateTarget.getAttribute("data-target-div");
512    $page = parseInt($next);
513    // console.log(div,$page);
514    var params = get_params($page, div);
515    if (params["data-filter-layout"] == "multiple-checkbox") {
516      if ($("#caf-multiple-check-filter li .check_box:checked").length > 0) {
517        params["data-filter-layout"] = "multiple-checkbox2";
518      } else {
519        params["data-filter-layout"] = "multiple-checkbox";
520      }
521    }
522    if ($page <= $total) {
523      get_posts_load(params);
524    } else {
525      $(this).fadeOut();
526    }
527    e.preventDefault();
528  });
529  $(".caf-post-layout-container").on("change", ".caf-sort-front", function (e) {
530      var div=$(this).closest(".caf-post-layout-container").attr("data-target-div");
531      var params =get_params(1,div);
532      $(this).closest(".caf-post-layout-container").attr("data-order-by",$(".caf-sort-order-by").val());
533      $(this).closest(".caf-post-layout-container").attr("data-order-type",$(".caf-sort-order-type").val());
534      params["data-order-by"]=$(".caf-sort-order-by").val();
535      params["data-order-type"]=$(".caf-sort-order-type").val();
536      get_posts(params);
537    });
538    $(document).on('click', '.clear-all-btn', function() {
539      // Clear the active_filters array
540      active_filters = [];
541      // Uncheck all checkboxes
542      $("#caf-multiple-taxonomy-filter li .check_box").prop('checked', false);
543      // Remove all filter items and "Clear All" button from the UI
544      $(".caf-active-filters ul").find('li').fadeOut(function() {
545        $(this).remove();
546      });
547      var div = $(this).closest(".caf-post-layout-container").attr("data-target-div");
548          $page = "1";
549          var params = get_params($page, div);
550          //console.log(params,$(this).closest(".caf-post-layout-container").attr("data-selected-terms"));
551          params['term']=$(this).closest(".caf-post-layout-container").attr("data-selected-terms");
552          //console.log(params);
553          setTimeout(function(){
554            cafScrollToDiv(div);
555            get_posts(params);
556          },200)
557          
558    });
559    $(document).on('click', '.caf-active-filters li', function() {
560      var data_id = $(this).attr("data-id");
561      var div1=$(this).closest(".caf-post-layout-container");
562      var div = $(this).closest(".caf-post-layout-container").attr("data-target-div");
563      var terms = $(this).closest(".caf-post-layout-container").attr("data-terms");
564    
565      // Convert the comma-separated string into an array
566      var termsArray = terms.split(',');
567    
568      // Remove the data_id from the array
569      termsArray = termsArray.filter(function(term) {
570        return term !== data_id;
571      });
572    
573      // Convert the array back into a string
574      var updatedTerms = termsArray.join(',');
575    
576      // Update the data-terms attribute with the new value
577      $(this).closest(".caf-post-layout-container").attr("data-terms", updatedTerms);
578      $("#caf-multiple-taxonomy-filter li .check_box[data-id='"+data_id+"']").prop('checked', false);
579      $(this).fadeOut(function() {
580        $(this).remove();
581      });
582      $page = "1";
583          var params = get_params($page, div);
584          //console.log(termsArray,active_filters);
585          set_active_filters(div1);
586        if(termsArray.length==0) {
587          params['term']=$(this).closest(".caf-post-layout-container").attr("data-selected-terms");
588          $("li.caf-clear-all").fadeOut(function() {
589            $(this).remove();
590          });
591        }
592          cafScrollToDiv(div);
593          get_posts(params);
594      //console.log(updatedTerms); // Output the updated terms
595    });
596    
597});
598
599
600function cafScrollToDiv(div) {
601  var scroll_to_div = jQuery("#caf-post-layout-container." + div).attr(
602    "data-scroll"
603  );
604  if (scroll_to_div != "disabled") {
605    var scroll_desktop = parseInt(
606      jQuery("#caf-post-layout-container." + div).attr("data-scroll-desk")
607    );
608    var scroll_mobile = parseInt(
609      jQuery("#caf-post-layout-container." + div).attr("data-scroll-mob")
610    );
611    var width = jQuery(document).width();
612    var position = 0;
613    if (scroll_to_div == "desktop" && width > 600) {
614      var position = scroll_desktop;
615      scroll_animate(position, div);
616    } else if (scroll_to_div == "desktop&mobile" && width > 600) {
617      var position = scroll_desktop;
618      scroll_animate(position, div);
619    } else if (scroll_to_div == "mobile" && width < 600) {
620      var position = scroll_mobile;
621      scroll_animate(position, div);
622    } else if (scroll_to_div == "desktop&mobile" && width < 600) {
623      var position = scroll_mobile;
624      scroll_animate(position, div);
625    }
626  }
627}
628
629
630
631function get_posts(params) {
632  //console.log(params);
633  var $ = jQuery.noConflict();
634  var container = params["data-target-div"];
635  var content = $(container).find("#manage-ajax-response");
636  var status = $(container).find(".status");
637  var img = tc_caf_ajax.plugin_path + "assets/img/loading2.gif";
638  $(container).addClass("fetching");
639  $(status).html('<i class="fa fa-spinner fa-spin"></i>').addClass("active");
640  $(content).addClass("loading");
641  $.ajax({
642    url: tc_caf_ajax.ajax_url,
643    data: {
644      action: "get_filter_posts",
645      nonce: tc_caf_ajax.nonce,
646      params: params,
647    },
648    type: "post",
649    dataType: "json",
650    success: function (data, textStatus, XMLHttpRequest) {
651      //console.log(data);
652      if (typeof cafTotalResults !== "undefined") {
653        $(cafTotalResults).html(data.found);
654      }
655      if (typeof cafAjaxSuccess !== "undefined") {
656        data["params"] = params;
657        cafAjaxSuccess(data);
658      }
659      $(container).removeClass("fetching");
660      $(content).removeClass("loading");
661
662      if (data.status === 200) {
663        $(content).removeClass("caf-empty-error");
664        $(content).html(data.content);
665      } else if (data.status === 201) {
666        if (data.message == "Empty Results") {
667          $(content).addClass("caf-empty-error");
668          $(content).html(data.content);
669        } else {
670          $(content).html(data.content);
671        }
672      } else if (data.status === 404) {
673        $(content).html(data.content);
674      } else {
675        $(status).html(data.message);
676      }
677    },
678    error: function (MLHttpRequest, textStatus, errorThrown) {
679      $(status).html(textStatus);
680    },
681    complete: function (data, textStatus) {
682      msg = textStatus;
683      if (textStatus === "success") {
684        msg = data.responseJSON.found;
685      }
686      $(status).text("Posts found: " + msg);
687    },
688  });
689}
690
691function get_posts_load(params) {
692  params.load_more = "load_more";
693  var $ = jQuery.noConflict();
694  var container = params["data-target-div"];
695  var content = $(container).find("#manage-ajax-response");
696  var content2 = $(container).find(
697    "#manage-ajax-response .load-more-container"
698  );
699  var status = $(container).find(".status");
700  $(container).addClass("fetching");
701  var img = tc_caf_ajax.plugin_path + "assets/img/loading2.gif";
702  $(status).html('<i class="fa fa-spinner fa-spin"></i>').addClass("active");
703  $(content).addClass("loading");
704  $(container).find("#tp-load-more .fa-spinner").remove();
705  $(container)
706    .find("#tp-load-more")
707    .append('&nbsp;<i class="fa fa-spinner fa-spin"></i>')
708    .addClass("tp-loading");
709  $.ajax({
710    url: tc_caf_ajax.ajax_url,
711    data: {
712      action: "get_filter_posts",
713      nonce: tc_caf_ajax.nonce,
714      params: params,
715    },
716    type: "post",
717    dataType: "json",
718    success: function (data, textStatus, XMLHttpRequest) {
719      // console.log(data);
720      if (typeof cafTotalResults !== "undefined") {
721        $(cafTotalResults).html(data.found);
722      }
723      if (typeof cafAjaxSuccess !== "undefined") {
724        data["params"] = params;
725        cafAjaxSuccess(data);
726      }
727      $(container).removeClass("fetching");
728      $(content).removeClass("loading");
729      $(container).find("#tp-load-more").removeClass("tp-loading");
730      if (data.status === 200) {
731        var crpg = parseInt(
732          $(content2).find("#tp-load-more").attr("data-current")
733        );
734        var nxpg = parseInt(
735          $(content2).find("#tp-load-more").attr("data-next")
736        );
737        var ttlpg = parseInt(
738          $(content2).find("#tp-load-more").attr("data-total")
739        );
740        var crpg = crpg + 1;
741        var nxpg = nxpg + 1;
742        //console.log(ttlpg);
743        if (ttlpg == crpg) {
744          $(content2).find("#tp-load-more").addClass("caf-disabled-end-btn");
745        }
746        parseInt($(content2).find("#tp-load-more").attr("data-current", crpg));
747        parseInt($(content2).find("#tp-load-more").attr("data-next", nxpg));
748        //console.log(crpg,nxpg);
749        $(data.content).insertBefore(content2);
750      } else if (data.status === 201) {
751        $(content).html(data.content);
752      } else if (data.status === 404) {
753        $(content).html(data.content);
754      } else {
755        $(status).html(data.message);
756      }
757    },
758    error: function (MLHttpRequest, textStatus, errorThrown) {
759      $(status).html(textStatus);
760    },
761    complete: function (data, textStatus) {
762      msg = textStatus;
763      if (textStatus === "success") {
764        msg = data.responseJSON.found;
765      }
766      $(status).html("").removeClass("active");
767    },
768  });
769}
770
771/* filter 2 dropdown code */
772jQuery(document).ready(function ($) {
773  $("ul.dropdown").click(function () {
774    $(this).find("li ul").toggle();
775    $(this).find("li").toggleClass("activss");
776  });
777
778  $(".caf-post-layout-container").each(function () {
779    if ($(this).attr("data-filter-layout") == "filter-layout2") {
780      var d_term = $(this).attr("data-default-term");
781      $(this).find("ul.dropdown li ul li a.dfl").removeClass("active");
782      var div1 = $(this)
783        .find("ul.dropdown li ul li a[data-id='" + d_term + "']")
784        .not(".dfl");
785      if (div1.length == 0) {
786        $("ul.dropdown ul li:first-child a").addClass("active");
787      } else {
788        $(div1).addClass("active");
789        var text = $(div1).text();
790        $(this).find(".dropdown .result").html(text);
791      }
792    }
793  });
794
795  /* FUNCTION FOR MULTIPLE TAXONOMY FILTER TOGGLE */
796  $(".caf-mtf-layout h3.tax-heading").click(function () {
797    if ($(this).find("i").hasClass("fa-chevron-up")) {
798      $(this)
799        .find("i")
800        .removeClass("fa-chevron-up")
801        .addClass("fa-chevron-down");
802    } else {
803      $(this)
804        .find("i")
805        .removeClass("fa-chevron-down")
806        .addClass("fa-chevron-up");
807    }
808    $(this)
809      .closest("ul")
810      .find("li")
811      .each(function () {
812        $(this).slideToggle();
813      });
814  });
815});
816
817/* SCROLL ANIMATE FUNCTION */
818function scroll_animate(pos, div) {
819  if (jQuery("#caf-post-layout-container ." + div).offset()) {
820    jQuery("html, body").animate(
821      {
822        scrollTop:
823          jQuery("#caf-post-layout-container ." + div).offset().top - pos,
824      },
825      2000
826    );
827  } else {
828    jQuery("html, body").animate(
829      {
830        scrollTop:
831          jQuery("#caf-post-layout-container." + div).offset().top - pos,
832      },
833      2000
834    );
835  }
836}
837
838jQuery(function ($) {
839  $("ul.caf_select_multi li.caf_select_multi_default").click(function () {
840    var th = $(this).find("ul.caf-multi-drop-sub");
841    $("ul.caf_select_multi li.caf_select_multi_default")
842      .not(this)
843      .each(function () {
844        $(this)
845          .closest("ul")
846          .find("ul.caf-multi-drop-sub")
847          .removeClass("active");
848        $(this).find("i.caf-multi-mod-right").removeClass("fa-chevron-up");
849      });
850    var data_value = $(this).attr("data-value");
851    $(this).find("i.caf-multi-mod-right").toggleClass("fa-chevron-up");
852    $(this).closest("ul").find("ul.caf-multi-drop-sub").toggleClass("active");
853  });
854  $(document).on('click', function(event) {
855    if (!$(event.target).closest('.caf_select_multi').length && !$(event.target).closest('.caf_select_multi').length) {
856      if($('ul.caf-multi-drop-sub').length) {
857        $('ul.caf-multi-drop-sub').removeClass("active");
858      }
859    }
860});
861});
862var active_filters = [];
863function set_active_filters(div) {
864 // console.log("in active");
865  // Iterate over all checkboxes
866 
867  jQuery(div).find("#caf-multiple-taxonomy-filter li .check_box").each(function () {
868    var filter_label = jQuery(this).closest("li").find('label').text();
869    var data_name = jQuery(this).closest("ul").find('h3').attr('data-name');
870    var data_id = jQuery(this).attr('data-id');
871    // Create the object for this checkbox
872    var filter_obj = {
873      label: filter_label,
874      dataName: data_name
875    };
876    // If checked, add to active_filters if not already present
877    if (jQuery(this).is(":checked")) {
878      //console.log("in",filter_label,data_name,active_filters.some(item => item.label === filter_label && item.dataName === data_name));
879
880      if (!active_filters.some(item => item.label === filter_label && item.dataName === data_name)) {
881        active_filters.push(filter_obj); // Add in order of checking
882
883        var htm = '<li class="filter-item" data-id="'+data_id+'" data-label="' + filter_label + '" data-name="' + data_name + '" style="display:none;">';
884        if(jQuery(div).attr("active-filters-style")=='with_tax') {
885        htm += "<span class='caf-active-filter-label'>" + data_name + " : </span>";
886        }
887        htm += "<span class='caf-active-filter-tag'>" + filter_label + "</span>";
888        htm += "<span class='caf-active-filter-close'> X</span>";
889        htm += '</li>';
890        // Append to the .caf-active-filters ul
891        //console.log(htm);
892        jQuery(div).find(".caf-active-filters ul").append(htm).find('li:last').fadeIn(); // Smooth addition with fadeIn
893      }
894    } else {
895      // If unchecked, remove from active_filters
896      active_filters = active_filters.filter(item => !(item.label === filter_label && item.dataName === data_name));
897
898      // Smooth removal of the corresponding <li>
899      jQuery(div).find('.caf-active-filters ul li[data-label="'+filter_label+'"][data-name="'+data_name+'"]').fadeOut(function() {
900        jQuery(this).remove(); // Remove the element after fadeOut completes
901      });
902    }
903  });
904  // Handle "Clear All" button logic in real-time after any checkbox change
905  if (active_filters.length > 0) {
906    // Append "Clear All" button if it doesn't exist
907    jQuery(div).find(".caf-active-filters ul li.caf-clear-all").remove();
908    if (jQuery(div).find(".caf-clear-all").length === 0) {
909      jQuery(div).find(".caf-active-filters ul").append('<li class="caf-clear-all" style="display:none;"><button class="clear-all-btn">Clear All</button></li>').find('li:last').fadeIn(); // Smooth addition with fadeIn
910    }
911  } else {
912    // Remove the "Clear All" button if no active filters
913    jQuery(div).find(".caf-clear-all").fadeOut(function() {
914      jQuery(this).remove();
915    });
916  }
917  //console.log(active_filters); // Output the array with the updated order
918}
919
920// Script start to speech recognition...
921document.addEventListener("DOMContentLoaded", function () {
922  let voiceSearchButton = document.getElementById("caf-voice-search");
923
924  if (voiceSearchButton) { // Check if the element exists
925      voiceSearchButton.addEventListener("click", function () {
926          let recognition = new (window.SpeechRecognition || window.webkitSpeechRecognition)();
927          recognition.lang = "en-US";
928          recognition.start();
929
930          recognition.onresult = function (event) {
931              let transcript = event.results[0][0].transcript;
932              document.getElementById("caf-search-input").value = transcript;
933              // Send the text to the WordPress search function
934              jQuery("#caf-search-sub").trigger("click");
935          };
936      });
937  } else {
938     // console.error("Error: #caf-voice-search button not found!");
939  }
940});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.