// source --> https://www.nusantaradfdl.com/wp-content/themes/nusantara/assets/js/dfdl.js?ver=1743478236 
document.addEventListener(
  "DOMContentLoaded",
  function () {
    var hamburger = document.getElementById("hamburger");
    var side_menu = document.getElementById("menu-side");
    hamburger &&
      hamburger.addEventListener("click", function () {
        hamburger.classList.toggle("open");
        side_menu.classList.toggle("is-active");
      });
    var filters_stage = document.getElementById("filters-stage");
    var filters_toggle = document.getElementById("filters-toggle");
    var mobile_filters_toggle = document.getElementById(
      "mobile-filters-toggle"
    );
    filters_toggle &&
      filters_toggle.addEventListener("click", function () {
        filters_toggle.classList.toggle("is-active");
        mobile_filters_toggle.classList.toggle("is-active");
        filters_stage.classList.toggle("is-active");
      });
    mobile_filters_toggle &&
      mobile_filters_toggle.addEventListener("click", function () {
        filters_toggle.classList.toggle("is-active");
        mobile_filters_toggle.classList.toggle("is-active");
        filters_stage.classList.toggle("is-active");
      });
    var scroll_to_top = document.getElementById("scroll-to-top");
    scroll_to_top &&
      scroll_to_top.addEventListener("click", function () {
        jQuery("html, body").animate({ scrollTop: 0 }, "slow");
      });
    if (scroll_to_top) {
      window.addEventListener("scroll", function () {
        var y = window.scrollY;
        if (y >= 680) {
          scroll_to_top.classList.add("is_active");
        } else {
          scroll_to_top.classList.remove("is_active");
        }
      });
    }

    var header = document.getElementById("header");
    var beacon = document.getElementById("beacon");
    if (beacon) {
      window.addEventListener("scroll", function () {
        rect = beacon.getBoundingClientRect();
        if (rect.top <= 80) {
          header.classList.add("solid");
        } else {
          header.classList.remove("solid");
        }
      });
    }
    try {
      if (typeof Swiper !== "undefined") {
        var subnavSwiper = new Swiper(".subnav-swiper", {
          freeMode: {
            enabled: true,
            sticky: true,
          },
          breakpoints: {
            950: {
              slidesPerView: 11,
            },
            599: {
              slidesPerView: 7,
            },
            499: {
              slidesPerView: 6,
            },
            399: {
              slidesPerView: 4,
            },
            0: {
              slidesPerView: 3,
            },
          },
        });
      }
    } catch (e) {
      console.log(e);
    }
    function swiperResize() {
      if (subnavSwiper && subnavSwiper.slidesGrid.length > 0) {
        subnavSwiper.slideTo(subnavSwiper.activeIndex, 0);
      }
    }
    window.addEventListener("resize", swiperResize);

    document.addEventListener("click", function (e) {
      const teams_more = e.target.closest("#teams-all-see-more");
      if (teams_more) {
        teams_all_page = document.getElementById("teams_all_page").value;
        document.getElementById("teams_all_page").value = parseInt(teams_all_page) + 1;
        teamsSeeMore();
        return false;
      }
    });
    document.addEventListener("click", function (e) {
      const insights_more = e.target.closest("#insights-all-see-more");
      if (insights_more) {
        insights_all_page = document.getElementById("insights_all_page").value;
        document.getElementById("insights_all_page").value = parseInt(insights_all_page) + 1;
        insightsSeeMore();
        return false;
      }
    });
    var search_stage = document.getElementById("search-stage");
    var search_toggle = document.getElementById("search-toggle");
    search_toggle &&
      search_toggle.addEventListener("click", function () {
        search_stage.classList.toggle("is-active");
        if (search_toggle.classList.contains("is-active")) {
          search_toggle.classList.remove("is-active");
          search_toggle.src = ajax_object.stylesheet_uri + "/icon-search.svg";
        } else {
          search_toggle.classList.add("is-active");
          search_toggle.src =
            ajax_object.stylesheet_uri + "/icon-search-active.svg";
        }
      });

    var images = new Array();
    images[0] = ajax_object.stylesheet_uri + "/icon-search-active.svg";
    images[1] = ajax_object.stylesheet_uri + "/icon-back-arrow-active.svg";
    images[2] = ajax_object.stylesheet_uri + "/icon-linkedin-active.svg";
    images[3] = ajax_object.stylesheet_uri + "/icon-facebook-active.svg";
    images[4] = ajax_object.stylesheet_uri + "/icon-twitter-active.svg";
    images[5] = ajax_object.stylesheet_uri + "/icon-print-active.svg";
    images[6] = ajax_object.stylesheet_uri + "/icon-link-active.svg";
    images[7] = ajax_object.stylesheet_uri + "/icon-email-active.svg";
    function preload_images(id) {
      imageObj = new Image();
      imageObj.src = images[id];
      imageObj.onload = function () {
        if (id < images.length - 1) {
          preload_images(id + 1);
        }
      };
    }
    preload_images(0);
  },
  false
);
var forEach = function (t, o, r) {
  if ("[object Object]" === Object.prototype.toString.call(t))
    for (var c in t)
      Object.prototype.hasOwnProperty.call(t, c) && o.call(r, t[c], c, t);
  else for (var e = 0, l = t.length; l > e; e++) o.call(r, t[e], e, t);
};
function isScrolledIntoView(el) {
  const { top, bottom } = el.getBoundingClientRect();
  return top >= 0 && bottom <= window.innerHeight;
}
if (jQuery().jquery) {
  // jQuery("#teams_solutions, #teams_sort, #teams_countries").on(
  //   "change",
  //   debounce(function () {
  //     filterTeams();
  //   }, 700)
  // );
  // jQuery(
  //   "#insights_solutions, #insights_categories, #insights_years, #insights_events"
  // ).on(
  //   "change",
  //   debounce(function () {
  //     filterInsights();
  //   }, 700)
  // );
}
if (document.getElementById("ajax_count")) {
  var counter = document.getElementById("ajax_count").value;
}
function insightsSeeMore() {
  var wrap = document.getElementById("insights-posts");
  var insights_more = document.getElementById("insights-all-see-more");
  var search_count = document.getElementById("search-count");
  insights_more.classList.add("disabled", "loading");
  postAjax(
    ajax_object.ajaxurl,
    {
      action: "insights_more",
      nonce: ajax_object.insights_see_more,
      permalink: ajax_object.permalink,
      page: document.getElementById("insights_all_page").value,
      source: document.getElementById("insights-all-see-more").dataset.source,
      iSolutions: jQuery("#insights_solutions").select2("val"),
      iCategories:
        jQuery("#insights_categories").select2("val") ||
        jQuery("#insights_events").select2("val"),
      iSection: jQuery("#insights_section").val(),
      iYears: jQuery("#insights_years").val(),
      iCountry: jQuery("#insights_country").val(),
      iContentHub: jQuery("#content_hub").val(),
      iCountry: document.getElementById("insights_country").value,
      iTerm: document.getElementById("insights_term").value,
    },
    function (data) {
      data = JSON.parse(data);
      console.log("results loaded");
      console.log(data);
      if (data.code === 200) {
        data.html.forEach((el) => {
          counter++;
          var new_span = document.createElement("div");
          new_span.innerHTML = el;
          wrap.appendChild(new_span);
        });
        if (search_count) {
          search_count.innerHTML = counter;
        }
        console.log("Showing " + counter + " of " + data.found + " posts");
        if (parseInt(counter) < parseInt(data.found)) {
          insights_more.classList.remove("disabled");
        }
      } else {
        insights_more.classList.add("disabled");
      }
      insights_more.classList.remove("loading");
    }
  );
}
// function filterInsights() {
//   console.log("loading results");
//   document.getElementById("insights_all_page").value = 1;
//   jQuery("#results_stage").addClass("no-results");
//   jQuery("#results_stage > div ").replaceWith(
//     "<div class='loading'>loading ...</div>"
//   );
//   postAjax(
//     ajax_object.ajaxurl,
//     {
//       action: "filter_insights",
//       nonce: ajax_object.insights_nonce,
//       permalink: ajax_object.permalink,
//       page: document.getElementById("insights_all_page").value,
//       iSolutions: jQuery("#insights_solutions").select2("val"),
//       iCategories:
//         jQuery("#insights_categories").select2("val") ||
//         jQuery("#insights_events").select2("val"),
//       iSection: jQuery("#insights_section").val(),
//       iYears: jQuery("#insights_years").val(),
//       iCountry: jQuery("#insights_country").val(),
//       iContentHub: jQuery("#content_hub").val(),
//       iTerm: document.getElementById("insights_term").value,
//     },
//     function (data) {
//       data = JSON.parse(data);
//       counter = data.count;
//       if (data.code === 200) {
//         jQuery("#results_stage").removeClass("no-results");
//         jQuery("#results_stage > div ").replaceWith(
//           "<div>" + data.html + "</div>"
//         );
//       } else {
//         jQuery("#results_stage > div ").replaceWith(
//           '<div><p class="no-insights not-found">Nothing found. Please refine your search.</p></div>'
//         );
//       }
//       jQuery("#insights").removeClass("disabled");
//       jQuery("#quicklinks").fadeOut();
//       console.log("results loaded");
//       console.log(data);
//     }
//   );
// }

function teamsSeeMore() {
  var wrap = document.getElementById("swiper-wrapper");
  var teams_more = document.getElementById("teams-all-see-more");
  teams_more.classList.add("disabled", "loading");

  var teams_solutions = "";
  if (jQuery("#teams_solutions").hasClass("select2-hidden-accessible")) {
    teams_solutions = jQuery("#teams_solutions").select2("val");
  } else {
    teams_solutions = document.getElementById("teams_solutions").value || "";
  }

  var teams_sort = "";
  if (jQuery("#teams_sort").hasClass("select2-hidden-accessible")) {
    teams_sort = jQuery("#teams_sort").select2("val");
  }

  var countries = "";
  if (jQuery("#teams_countries").hasClass("select2-hidden-accessible")) {
    countries = jQuery("#teams_countries").select2("val");
  }

  postAjax(
    ajax_object.ajaxurl,
    {
      action: "teams_more",
      nonce: ajax_object.teams_see_more,
      permalink: ajax_object.permalink,
      solutions: teams_solutions,
      sort: teams_sort,
      country: countries,
      page: document.getElementById("teams_all_page").value,
    },
    function (data) {
      data = JSON.parse(data);
      console.log(data);
      if (data.code === 200) {
        data.html.forEach((el) => {
          counter++;
          var new_span = document.createElement("span");
          var spanclass = "member";
          new_span.classList.add(spanclass);
          new_span.innerHTML = el;
          wrap.appendChild(new_span);
        });
        if (parseInt(counter) < parseInt(data.found)) {
          teams_more.classList.remove("disabled");
        }
      } else {
        teams_more.classList.remove("disabled");
      }
      teams_more.classList.remove("loading");
    }
  );
}

function filterTeams() {
  jQuery("#results_stage").addClass("no-results");
  jQuery("#results_stage > #team-grid-swiper").replaceWith(
    "<div class='loading'>loading ...</div>"
  );
  document.getElementById("teams_all_page").value = 1;
  postAjax(
    ajax_object.ajaxurl,
    {
      action: "filter_teams",
      nonce: ajax_object.teams_nonce,
      tSolutions: jQuery("#teams_solutions").select2("val"),
      tSort: jQuery("#teams_sort").select2("val"),
      tCountry: jQuery("#teams_countries").select2("val"),
    },
    function (data) {
      data = JSON.parse(data);
      if (data.code === 200) {
        if (data.count.length > 0) {
          jQuery("#team-list-template").removeClass("no-results");
          jQuery("#team-list-template").replaceWith(data.html);
          swiperInit = false;
          window.dispatchEvent(new Event("resize"));
        } else {
          jQuery("#team-list-template").replaceWith(
            '<div class="no-team-members not-found">No Person found</div>'
          );
        }
      } else {
        jQuery(".see-more").hide();
        jQuery("#team-list-template").replaceWith(
          '<div class="no-team-members not-found">No Person found</div>'
        );
      }
    }
  );
}

function postAjax(url, data, success) {
  var params =
    typeof data == "string"
      ? data
      : Object.keys(data)
          .map(function (k) {
            return encodeURIComponent(k) + "=" + encodeURIComponent(data[k]);
          })
          .join("&");
  var xhr = window.XMLHttpRequest
    ? new XMLHttpRequest()
    : new ActiveXObject("Microsoft.XMLHTTP");
  xhr.open("POST", url);
  xhr.onreadystatechange = function () {
    if (xhr.readyState > 3 && xhr.status == 200) {
      success(xhr.responseText);
    }
  };
  xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
  xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  xhr.send(params);
  return xhr;
}
function debounce(cb, interval, immediate) {
  var timeout;
  return function () {
    var context = this,
      args = arguments;
    var later = function () {
      timeout = null;
      if (!immediate) cb.apply(context, args);
    };
    var callNow = immediate && !timeout;
    clearTimeout(timeout);
    timeout = setTimeout(later, interval);
    if (callNow) cb.apply(context, args);
  };
};
// source --> https://www.nusantaradfdl.com/wp-content/themes/nusantara/assets/js/dfdl-v2.js?ver=1751602542 
jQuery(document).ready(function ($) {

  let cachedNonce = null;
  let nonceFetchTimestamp = 0;
  const nonceTTL = 60 * 60 * 1000;
  let nonceLoading = false;

  $(".image-background img.circle-bg").addClass("arrive");
  $(".overlay .green_line").addClass("arrive");
  $(".solution-col-right").addClass("arrive");
  $(".col-right").addClass("arrive");
  $(".front-page .award-wrapper.d-flex.justify-content-center .d-flex").addClass("arrive");
  $(".our-firm .award-wrapper.d-flex.justify-content-center").addClass("arrive");
  // localStorage.removeItem("selectedItems")

  //scroll down home page
  $(window).scroll(function () {
    var scrollPercent =
      (100 * $(window).scrollTop()) /
      ($(document).height() - $(window).height());
    $("#dfdlBar").css("width", scrollPercent + "%");
  });

  $(".cta-button , .search , .cta-out-line-btn").click(function () {
    $(this).addClass("focus");
    setTimeout(() => {
      $(this).removeClass("focus");
    }, 100);
  });

  /*
  $("a, .menu li a, .profile-wrapper, .insight-link").click(function () {
    if ($(this).hasClass("focus")) {
      $(this).toggleClass("focus");
      $("a").removeClass("active");
      setTimeout(() => {
        $(this).removeClass("focus");
      }, 100);
    } else {
      $("a, .menu li a, .profile-wrapper, .insight-link").removeClass("focus");
      $(this).addClass("focus");
      setTimeout(() => {
        $(this).removeClass("focus");
      }, 100);
    }
  });
  */

  $(".quick-link-list-item").on("click", function () {
    $(this).addClass("focus");
    $("div").removeClass("active");
    setTimeout(() => {
      $(this).removeClass("focus");
      $(this).addClass("active");
    }, 100);
  });

  $(".solutions-desktop-list a").on("click", function (event) {
    event.preventDefault();
    $(".solution-lists a").removeClass("active");
    $(this).addClass("active");
    get_solution_change();
  });

  $(".moile-icon").on("click", function () {
    $(".moile-icon").toggleClass("active");
    $(".menu-item.cta-button").toggleClass("active");
    $(".menu-item.search").toggleClass("active");
    $(".mobile-menu-wrapper").toggleClass("d-none");
    $("body").toggleClass("overflow-hidden");
  });

  $(".solution-list-mobile").on("click", function () {
    let getClass = $(this).attr("data-solution-slug");
    if (!$(".solution-excerpt." + getClass).hasClass("d-none")) {
      $(".solution-excerpt." + getClass).toggleClass("d-none");
    } else {
      $(".solution-excerpt").addClass("d-none");
      $(".solution-excerpt." + getClass).toggleClass("d-none");
    }
  });

  $("#mobile-primary li.menu-item").on("click", function () {
    if ($(this).hasClass("active")) {
      $(this).toggleClass("active");
    } else {
      $("#mobile-primary li.menu-item").removeClass("active");
      $(this).toggleClass("active");
    }
  });

  $(".filter-icon").on("click", function () {
    $(".filter-icon").toggleClass("d-none");
    $(".select-filter-wraper").toggleClass("mobile-none");
    $(".mobile-team-filter").toggleClass("d-none");
  });

  $(".button-all-counties").on("click", function () {
    let title = $("#mobile-countries-filter-title").text();
    $(".filter-title h4").text(title);
    $(".mobile-search-filter-section").toggleClass("d-none");
    $(".mobile-countries-filter").toggleClass("d-none");
    $("body").toggleClass("overflow-hidden");
  });

  // button-all-award-counties
  $(".button-all-award-counties").on("click", function () {
    let title = $("#mobile-awards-countries-filter-title").text();
    $(".filter-title h4").text(title);
    $(".mobile-search-filter-section").toggleClass("d-none");
    $(".mobile-awards-countries-filter").toggleClass("d-none");
    $("body").toggleClass("overflow-hidden");
  });

  $(".button-all-solution").on("click", function () {
    let title = $("#mobile-solutions-filter-title").text();
    $(".filter-title h4").text(title);
    $(".mobile-search-filter-section").toggleClass("d-none");
    $(".mobile-solutions-filter").toggleClass("d-none");
    $("body").toggleClass("overflow-hidden");
  });

  // button-order_latest
  $(".button-order_latest").on("click", function () {
    let title = $("#mobile-sort-career-title").text();
    $(".filter-title h4").text(title);
    $(".mobile-search-filter-section").toggleClass("d-none");
    $(".mobile-sort-career").toggleClass("d-none");
    $("body").toggleClass("overflow-hidden");
  });

  $(".button-a-z").on("click", function () {
    let title = $("#mobile-sort-filter-title").text();
    $(".filter-title h4").text(title);
    $(".mobile-search-filter-section").toggleClass("d-none");
    $(".mobile-sort-filter").toggleClass("d-none");
    $("body").toggleClass("overflow-hidden");
  });

  $(".button-all-award-years").on("click", function () {
    let title = $("#mobile-award-years-filter-title").text();
    $(".filter-title h4").text(title);
    $(".mobile-search-filter-section").toggleClass("d-none");
    $(".mobile-awards-years-filter").toggleClass("d-none");
    $("body").toggleClass("overflow-hidden");
  });

  $(".button-all-award-bodies").on("click", function () {
    let title = $("#mobile-award-bodies-filter-title").text();
    $(".filter-title h4").text(title);
    $(".mobile-search-filter-section").toggleClass("d-none");
    $(".mobile-award-bodies-filter").toggleClass("d-none");
    $("body").toggleClass("overflow-hidden");
  });

  $(".close-mobile-filter").on("click", function () {
    $(".mobile-search-filter-section").toggleClass("d-none");
    $(".mobile-sort-filter").addClass("d-none");
    $(".mobile-solutions-filter").addClass("d-none");
    $(".mobile-countries-filter").addClass("d-none");
    $(".mobile-sort-career").addClass("d-none");
    $(".mobile-awards-years-filter").addClass("d-none");
    $(".mobile-award-bodies-filter").addClass("d-none");
    $(".mobile-awards-countries-filter").addClass("d-none");
    $("body").toggleClass("overflow-hidden");
  });

  // add  text disply for solution
  function get_solution_change() {
    let solutionSlug = $(".solution-lists a.active div").attr("data-solution-slug");
    let solutionExcerpt = $(".solution-excerpt-none." + solutionSlug).text();
    let solutionName = $(".solution-lists a.active").attr("title");
    let solutionURL = $(".solution-lists a.active").attr("data-url");
    let bgImage = $(".solution-lists a.active div").attr("data-bg");

    // change solution data
    $(".solutions-home").attr("data-bg", bgImage);
    $(".solutions-home").css("background", "url(" + bgImage + ")");
    $(".solution-excerpt h3.solution-title").text(solutionName);
    $(".solution-excerpt p").text(solutionExcerpt);
    $(".solution-excerpt .cta-link").attr("href", solutionURL);
  }

  jQuery(window).scroll(function () {
    var wS = $(this).scrollTop();
    var wH = $(window).height();
    if ($("#dfdl-map-label").length > 0) {
      var dfdl_map_label = $("#dfdl-map-label").offset().top,
        mapH = $("#dfdl-map-label").outerHeight();
      if (wS > dfdl_map_label + mapH - 500 - wH) {
        $("#dfdl-map-label").addClass("ready");
      } else {
        $("#dfdl-map-label").removeClass("ready");
      }
    }

    // call to action
    let ctaAnimation = $(".cta-bg");
    for (let i = 0; i < ctaAnimation.length; i++) {
      var cta = $(ctaAnimation[i]).offset().top,
        ctaH = $(ctaAnimation[i]).outerHeight();
      if (wS > cta + ctaH - wH) {
        $(ctaAnimation[i]).find("img").addClass("arrive");
      } else {
        $(ctaAnimation[i]).find("img").removeClass("arrive");
      }
    }

    //green line
    let elements = $(".green_line");
    for (let i = 0; i < elements.length; i++) {
      var green_line = $(elements[i]).offset().top,
        green_lineH = $(elements[i]).outerHeight();
      if (wS > green_line + green_lineH - wH) {
        $(elements[i]).addClass("arrive");
      } else {
        $(elements[i]).removeClass("arrive");
      }
    }

    //green line 60px
    let element60 = $(".green_line_60");
    for (let i = 0; i < element60.length; i++) {
      var green_line_60 = $(element60[i]).offset().top,
        green_line_60H = $(element60[i]).outerHeight();

      if (wS > green_line_60 + green_line_60H - wH) {
        $(element60[i]).addClass("arrive");
      } else {
        $(element60[i]).removeClass("arrive");
      }
    }
  });
  $(".menu li.cta-button").on("click", function (event) {
    let aTag = $(this).find("a:first");
    if (aTag) {
      let clickItem = $(aTag[0]).attr("href");
      window.location.replace(clickItem);
    }
  });

  //team home page slider
  $(".team-list-block").owlCarousel({
    loop: true,
    responsiveClass: true,
    nav: false,
    dots: true,
    margin: 16,
    responsive: {
      0: {
        items: 1,
        nav: false,
        dots: true,
      },
      600: {
        items: 1,
        nav: false,
        dots: true,
      },
      1000: {
        items: 1,
        nav: false,
        loop: false,
      },
    },
  });
  $(".home-team-lists").owlCarousel({
    loop: false,
    responsiveClass: true,
    nav: false,
    dots: true,
    margin: 16,
    center:true,
    responsive: {
      0: {
        items: 1,
        nav: false,
        dots: true,
      },
      600: {
        items: 1,
        nav: false,
        dots: true,
      },
      1000: {
        items: 1,
        nav: false,
        loop: false,
      },
    },
  });
  $(".team-lists-owl-stage").owlCarousel({
    loop: false,
    nav: false,
    dots: true,
    margin: 16,
    responsiveClass: true,
    responsiveBaseElement: 'body',
    responsive: {
      0: {
        items: 1,
      },
      600: {
        items: 1,
      },
      1000: {
        items: 1,
      },
    },
  });
  // in the news list
  $(".in-the-news-lists").owlCarousel({
    loop: false,
    responsiveClass: true,
    nav: false,
    dots: true,
    margin: 16,
    responsiveBaseElement: 'body',
    responsive: {
      0: {
        items: 1,
      },
      600: {
        items: 2,
      },
      1000: {
        items: 3,
      },
    },
  });

  // written insight
  $(".written-insight-lists").owlCarousel({
    loop: false,
    responsiveClass: true,
    nav: false,
    dots: true,
    margin: 16,
    responsiveBaseElement: 'body',
    responsive: {
      0: {
        items: 1,
      },
      600: {
        items: 2,
      },
      1000: {
        items: 3,
      },
    },
  });
  //insight-lists
  $(".insight-lists").owlCarousel({
    loop: false,
    responsiveClass: true,
    nav: false,
    dots: true,
    margin: 16,
    responsiveBaseElement: 'body',
    responsive: {
      0: {
        items: 1,
      },
      600: {
        items: 2,
      },
      1000: {
        items: 3,
      },
    },
  });

  // related-insight-lists
  $(".related-insight-lists").owlCarousel({
    loop: false,
    responsiveClass: true,
    nav: false,
    dots: true,
    margin: 16,
    responsiveBaseElement: 'body',
    responsive: {
      0: {
        items: 1,
      },
      600: {
        items: 2,
      },
      1000: {
        items: 3,
      },
    },
  });

  //team filter
  if (jQuery("#teams_countries").length != 0) {
    jQuery("#teams_countries").select2({
      closeOnSelect: false,
      allowHtml: true,
      allowClear: false,
      placeholder: "All Locations",
      tags: true,
      dropdownAutoWidth: true,
      width: 'auto',
      dropdownPosition: 'below'
    });
  }
  if (jQuery("#contact_countries").length != 0) {
    jQuery("#contact_countries").select2({
      closeOnSelect: false,
      allowHtml: true,
      allowClear: false,
      placeholder: "Select Country",
      tags: true,
      dropdownAutoWidth: true,
      width: 'auto',
      dropdownPosition: 'below'
    });
  }
  if (jQuery("#careers_countries").length != 0) {
    jQuery("#careers_countries").select2({
      closeOnSelect: false,
      allowHtml: true,
      allowClear: false,
      placeholder: "All Countries",
      tags: true,
      dropdownAutoWidth: true,
      width: 'auto',
      dropdownPosition: 'below'
    });
    jQuery("#careers_countries")
      .data("select2")
      .$dropdown.addClass("careers_countries_dropdown");
  }
  // ajax filter
  jQuery("#order_careers").on("change", function () {
      jQuery("#pageNUmber").val(1);
      filterCareersTemplate();
    }
  );
  if (jQuery("#teams_solutions").length != 0) {
    jQuery("#teams_solutions").select2({
      closeOnSelect: false,
      allowHtml: true,
      allowClear: false,
      placeholder: "All Solutions",
      tags: true,
      dropdownParent: document.body,
      dropdownAutoWidth : true,
      width: 'auto',
      dropdownPosition: 'below'
    });
  }
  if (jQuery("#contact_solutions").length != 0) {
    let cs_selected = jQuery('#contact_solutions').find(":selected");
    jQuery("#contact_solutions").select2({
      closeOnSelect: false,
      allowHtml: true,
      allowClear: false,
      placeholder: "Select Solution",
      tags: true,
      dropdownAutoWidth: true,
      width: 'auto',
      dropdownPosition: 'below'
    });
    if (cs_selected.length > 0) {
      updateSelectedLabel("#contact_solutions")
    }
  }
  if (jQuery("#order_careers").length != 0) {
    jQuery("#order_careers").select2({
      closeOnSelect: false,
      allowHtml: true,
      allowClear: false,
      placeholder: "Latest First",
      tags: true,
      minimumResultsForSearch: -1,
      dropdownAutoWidth: true,
      width: 'auto',
      dropdownPosition: 'below'
    });
    jQuery("#order_careers")
      .data("select2")
      .$dropdown.addClass("order_careers_dropdown");
  }
  if (jQuery("#teams_sort").length != 0) {
    jQuery("#teams_sort").select2({
      closeOnSelect: false,
      allowHtml: true,
      allowClear: false,
      placeholder: "All",
      tags: true,
      minimumResultsForSearch: -1,
      dropdownParent: document.body,
      dropdownAutoWidth : true,
      width: 'auto',
      dropdownPosition: 'below'
    });
    jQuery("#teams_sort")
      .data("select2")
      .$dropdown.addClass("team_sort_dropdown");
  }
  if (jQuery("#award_bodies").length != 0) {
    jQuery("#award_bodies").select2({
      closeOnSelect: false,
      allowHtml: true,
      allowClear: false,
      placeholder: "All Award Types",
      tags: true,
      minimumResultsForSearch: -1,
      dropdownAutoWidth: true,
      width: 'auto',
      dropdownPosition: 'below'
    });
    jQuery("#award_bodies")
      .data("select2")
      .$dropdown.addClass("award_bodies_dropdown");
  }
  if (jQuery("#award_years").length != 0) {
    jQuery("#award_years").select2({
      closeOnSelect: false,
      allowHtml: true,
      allowClear: false,
      placeholder: "All Years",
      tags: true,
      minimumResultsForSearch: -1,
      dropdownAutoWidth: true,
      width: 'auto',
      dropdownPosition: 'below'
    });
    jQuery("#award_years")
      .data("select2")
      .$dropdown.addClass("award_years_dropdown");
  }
  if (jQuery("#award_countries").length != 0) {
    jQuery("#award_countries").select2({
      closeOnSelect: false,
      allowHtml: true,
      allowClear: false,
      placeholder: "All Countries",
      tags: true,
      minimumResultsForSearch: -1,
      dropdownAutoWidth: true,
      width: 'auto',
      dropdownPosition: 'below'
    });
    jQuery("#award_countries")
      .data("select2")
      .$dropdown.addClass("award_countries_dropdown");
  }

  jQuery("#contact_countries").on(
    "change",
    debounce(function () {
      jQuery(".select-countries").removeClass("dirty").removeClass("invalid");
      jQuery(".countries-hidden label .filter-button")
        .removeClass("dirty")
        .removeClass("invalid");
    })
  );
  jQuery("#contact_solutions").on(
    "change",
    debounce(function () {
      $(".select-solution").removeClass("dirty").removeClass("invalid");
      $(".solutions-hidden label .filter-button")
        .removeClass("dirty")
        .removeClass("invalid");
    })
  );

  // ajax filter
  jQuery("#teams_solutions, #teams_sort, #teams_countries").on("change", debounce(function () {
      jQuery("#pageNUmber").val(1);
      filterTeamsTemplate();
    }, 700)
  );

  //mobile search
  jQuery("input[name='team_countries[]']").on(
    "change",
    debounce(function () {
      let selectedVal = [];
      if (jQuery(this).attr("data-id") == "all-countries") {
        $("input[name='team_countries[]']").prop("checked", false);
        $("#team_countries").prop("checked", true);
      } else {
        $("#team_countries").prop("checked", false);
      }

      let checkCountries = $("input[name='team_countries[]']:checked");
      if (jQuery("#contact_countries").length > 0) {
        jQuery(".select-countries").removeClass("dirty").removeClass("invalid");
        jQuery(".countries-hidden label .filter-button")
          .removeClass("dirty")
          .removeClass("invalid");
        jQuery(".button-all-counties>div").html("");
      }
      for (let i = 0; i < checkCountries.length; i++) {
        if (
          jQuery(checkCountries[i]).attr("data-id") == "all-countries" &&
          checkCountries.length > 1
        ) {
          jQuery(checkCountries[i]).prop("checked", false);
        }
        selectedVal.push(checkCountries[i].value);
        if (jQuery("#contact_countries").length > 0) {
          let label =
            '<div class="select2-selection__choice" title="' +
            jQuery(checkCountries[i]).attr("data") +
            '" data-select2-id="' +
            checkCountries[i].value +
            '"><span class="select2-selection__choice__remove" role="presentation">×</span>' +
            jQuery(checkCountries[i]).attr("data") +
            "</div>";
          jQuery(".button-all-counties>div").append(label);
        }
      }
      if (checkCountries.length <= 0) {
        jQuery(".button-all-counties>div").html("All Countries");
      }
      if (jQuery("#contact_countries").length > 0) {
        jQuery("#contact_countries").val(selectedVal).trigger("change.select2");
      }
      if ($("#careers_countries").length > 0) {
        jQuery("#careers_countries").val(selectedVal).trigger("change.select2");
        updateSelectedLabel("#careers_countries");
      }
      if (jQuery("#teams_countries").length > 0) {
        jQuery("#teams_countries").val(selectedVal).trigger("change.select2");
        updateSelectedLabel("#teams_countries");
      }
      jQuery("#pageNUmber").val(1);
      filterTeamsTemplate();
    }, 700)
  );

  jQuery("input[name='awards_year[]']").on("change", function () {
    if ($("#award_years").length > 0) {
      let selectedVal = [];

      let checkCountries = $("input[name='awards_year[]']:checked");
      for (let i = 0; i < checkCountries.length; i++) {
        selectedVal.push(checkCountries[i].value);
      }
      jQuery("#award_years").val(selectedVal).trigger("change.select2");
      updateSelectedLabel("#award_years");
      updateAwards();
    }
  });

  if (jQuery("#award_bodies").length > 0) {
    jQuery("input[name='award_bodies_filter[]']").on("change", function () {
      let selectedVal = [];
      if (jQuery(this).attr("data-id") == "All Award Types") {
        $("input[name='award_bodies_filter[]']").prop("checked", false);
        $("#award_bodies_filter").prop("checked", true);
      } else {
        $("#award_bodies_filter").prop("checked", false);
      }

      let checkCountries = $("input[name='award_bodies_filter[]']:checked");
      for (let i = 0; i < checkCountries.length; i++) {
        selectedVal.push(checkCountries[i].value);
      }
      jQuery("#award_bodies").val(selectedVal).trigger("change.select2");
      updateSelectedLabel("#award_bodies");
      updateAwards();
    });
  }

  jQuery("input[name='award_countries_filter[]']").on("change", function () {
    let selectedVal = [];
    if (jQuery(this).attr("data-id") == "all-countries") {
      $("input[name='award_countries_filter[]']").prop("checked", false);
      $("#award_countries_filter").prop("checked", true);
    } else {
      $("#award_countries_filter").prop("checked", false);
    }
    let checkCountries = $("input[name='award_countries_filter[]']:checked");
    for (let i = 0; i < checkCountries.length; i++) {
      selectedVal.push(checkCountries[i].value);
    }
    jQuery("#award_countries").val(selectedVal).trigger("change.select2");
    updateSelectedLabel("#award_countries");
    updateAwards();
  });

  jQuery("input[name='career_sort']").on("change", function () {
    $("input[name='career_sort']").prop("checked", false);
    $(this).prop("checked", true);
    let selectedVal = $(this).val();
    let text = $(this).attr("data");
    jQuery(".button-order_latest span").text(text);
    jQuery("#order_careers").val(selectedVal).trigger("change.select2");
    filterCareersTemplate();
    updateSelectedLabel("#order_careers");
  });

  jQuery("input[name='team_solutions[]']").on(
    "change",
    debounce(function () {
      let selectedVal = [];
      let checkCountries = $("input[name='team_solutions[]']:checked");
      if (jQuery("#contact_solutions").length > 0) {
        $(".select-solution").removeClass("dirty").removeClass("invalid");
        $(".solutions-hidden label .filter-button")
          .removeClass("dirty")
          .removeClass("invalid");
        jQuery(".button-all-solution>div").html("");
      }
      for (let i = 0; i < checkCountries.length; i++) {
        if (
          jQuery(checkCountries[i]).attr("data-id") == "All Solutions" &&
          checkCountries.length > 1
        ) {
          jQuery(checkCountries[i]).prop("checked", false);
        }
        selectedVal.push(checkCountries[i].value);
        if (jQuery("#contact_solutions").length > 0) {
          let label =
            '<div class="select2-selection__choice" title="' +
            jQuery(checkCountries[i]).attr("data") +
            '" data-select2-id="' +
            checkCountries[i].value +
            '"><span class="select2-selection__choice__remove" role="presentation">×</span>' +
            jQuery(checkCountries[i]).attr("data") +
            "</div>";
          jQuery(".button-all-solution>div").append(label);
        }
      }
      if (checkCountries.length <= 0) {
        jQuery(".button-all-solution>div").html("All Solutions");
      }
      if (jQuery("#contact_solutions").length > 0) {
        jQuery("#contact_solutions").val(selectedVal).trigger("change.select2");
      }
      if (jQuery("#teams_solutions").length > 0) {
        jQuery("#teams_solutions").val(selectedVal).trigger("change.select2");
        updateSelectedLabel("#teams_solutions");
      }
      jQuery("#pageNUmber").val(1);
      filterTeamsTemplate();
    }, 700)
  );

  jQuery("#team_solutions").on("click", function () {
    let checkSolutions = $("input[name='team_solutions[]']:checked");
    for (let i = 0; i < checkSolutions.length; i++) {
      if (jQuery(checkSolutions[i]).attr("data-id") != "All Solutions") {
        jQuery(checkSolutions[i]).prop("checked", false);
      }
    }
  });

  jQuery("#team_countries").on("click", function () {
    let checkCountries = $("input[name='team_countries[]']:checked");
    for (let i = 0; i < checkCountries.length; i++) {
      if (jQuery(checkCountries[i]).attr("data-id") != "all-countries") {
        jQuery(checkCountries[i]).prop("checked", false);
      }
    }
  });

  jQuery("input[name='team_sort']").on("change", function () {
    let selectedVal = [];
    $("input[name='team_sort']").not(this).prop("checked", false);
    let id = $(this).val();
    let text = $(this).attr("data");

    jQuery(".button-a-z span").text(text);
    let checkCountries = $("input[name='team_sort']:checked");
    for (let i = 0; i < checkCountries.length; i++) {
      selectedVal.push(checkCountries[i].value);
    }
    jQuery("#teams_sort").val(selectedVal).trigger("change.select2");
    jQuery("#pageNUmber").val(1);
    filterTeamsTemplate();
  });

  jQuery("#search_team").on("keyup", debounce(function () {
      filterTeamsTemplate();
    }, 700)
  );

  jQuery("#team-see-more").on("click", function (event) {
    event.preventDefault();
    let pageNumber = jQuery("#pageNUmber").val();
    jQuery("#pageNUmber").val(parseInt(pageNumber) + 1);
    if (jQuery("#teams_all_page").length > 0) {
      seeMoreTeamsTemplate();
    }
  });

  function seeMoreTeamsTemplate() {
    fetchAndCacheNonce("seeMoreTeamsTemplate", function(freshNonce) {
      jQuery(".see-more").addClass("d-none");
      document.getElementById("teams_all_page").value = 1;
      postAjax(
        ajax_object.ajaxurl,
        {
          action: "teams_template_filter",
          dataType: "json",
          nonce: freshNonce,
          tSolutions: jQuery("#teams_solutions").select2("val"),
          tSort: jQuery("#teams_sort").select2("val"),
          tCountry: jQuery("#teams_countries").select2("val"),
          tPage: jQuery("#pageNUmber").val(),
          tSearch: jQuery("#search_team").val(),
          tPerPage: jQuery("#post_per_page").val(),
        },
        function (data) {
          jQuery(".see-more").removeClass("d-none");
          jQuery("#team-list-template").append(data);
        }
      );
    })
  }

  function filterTeamsTemplate() {
    fetchAndCacheNonce("seeMoreTeamsTemplate", function(freshNonce) {
      if (jQuery("#team-list-template").length > 0) {
        jQuery(".see-more").addClass("d-none");
        jQuery("#team-list-template").html("");
        document.getElementById("teams_all_page").value = 1;
        postAjax(
          ajax_object.ajaxurl,
          {
            action: "teams_template_filter",
            dataType: "json",
            nonce: freshNonce,
            tSolutions: jQuery("#teams_solutions").select2("val"),
            //tSolutions: teams_solutions,
            tSort: jQuery("#teams_sort").select2("val"),
            tCountry: jQuery("#teams_countries").select2("val"),
            tPage: jQuery("#pageNUmber").val(),
            tSearch: jQuery("#search_team").val(),
            tPerPage: jQuery("#post_per_page").val(),
          },
          function (data) {
            jQuery(".see-more").removeClass("d-none");
            jQuery("#team-list-template").html("");
            jQuery("#team-list-template").append(data);
          }
        );
      }
    })
  }

  jQuery(document).on("click", "#careers-see-more", function (event) {
    event.preventDefault();
    let currentPage = jQuery("#pageNUmber").val();
    jQuery("#pageNUmber").val(parseInt(currentPage) + 1);
    filterCareersTemplate(true);
  });
  // careers-see-more
  function filterCareersTemplate(isSeeMore = false) {
    if (jQuery("#career-lists-body").length > 0) {
      jQuery(".see-more").addClass("d-none");
      postAjax(
        ajax_object.ajaxurl,
        {
          action: "careers_template_filter",
          dataType: "json",
          nonce: ajax_object.teams_nonce,
          tSort: jQuery("#order_careers").select2("val"),
          //tCountry: jQuery("#careers_countries").select2("val"),
          tPage: jQuery("#pageNUmber").val(),
          tPerPage: jQuery("#post_per_page").val(),
        },
        function (data) {
          jQuery(".see-more").removeClass("d-none");
          if (!isSeeMore) {
            jQuery("#career-lists-body").html("");
          }
          jQuery("#career-lists-body").append(data);
        }
      );
    }
  }

  jQuery("#insight-see-more").on("click", function(event) {
    $('#insight-see-more').addClass('disabled');
    $(this).addClass("focus");
    setTimeout(() => {
      $(this).removeClass("focus");
    }, 100);
    
    let pageNumber = jQuery("#insights_page_number").val();
    jQuery("#insights_page_number").val(parseInt(pageNumber) + 1);
    seeMoreInsightTemplate();
  });

  function updateSelectedLabel(selected) {
    let select = $(selected);
    let selectName = $(selected).attr("id");
    let html = "";
    let getSelected = localStorage.getItem(selected)
      ? localStorage.getItem(selected)
      : "";
    let arrayGetSelected = getSelected ? getSelected.split(",") : [];

    if (jQuery("#selected-filter").length > 0) {
      let arraySelect = [];

      // unique id for selected option
      for (let a = 0; a < arrayGetSelected.length; a++) {
        let existingLabel = document.querySelectorAll(
          "li[data-id='" + arrayGetSelected[a] + "']"
        );
        // remove label
        $(existingLabel).remove();
      }
      for (let i = 0; i < select.select2("data").length; i++) {
        let text = select.select2("data")[i].text;
        let id = select.select2("data")[i].id;
        arraySelect.push(id);
        html +=
          "<li select2-name='" +
          selectName +
          "' data-id='" +
          id +
          "'>" +
          text +
          "<span class='close-icon'></span></li>";
      }
      let newSelect = arraySelect.filter(function (obj) {
        return arraySelect.indexOf(arrayGetSelected) == -1;
      });
      localStorage.setItem(selected, newSelect);
      jQuery("#selected-filter").append(html);
    }
    updateCountSected(select);
  }

  function seeMoreInsightTemplate(isSearch = false) {
    //console.log("890 seeMoreInsightTemplate called");
    if ( jQuery(".quick-link-list-item.active").attr("data") == "dfdl_content_hub_callout" ) {
      seeMoreinsightTemplateContentHub();
      return;
    }
    fetchAndCacheNonce("seeMoreInsightTemplate", function(freshNonce) {
      if ( window.matchMedia("(max-width: 991px) and (min-width: 744px)").matches) {
        $("#ajax_count").val(8);
      } else if (window.matchMedia("(max-width: 743px)").matches) {
        $("#ajax_count").val(9);
      }
      let solutions = [];
      if ( $(".solutions.mobile-none > select").length > 0 ) {
        solutions = jQuery("#insights_solutions").select2("val")
      }
      postAjax(
        ajax_object.ajaxurl, {
          action: "insight_template_filter",
          dataType: "json",
          nonce: freshNonce,
          tSolutions: solutions,
          tYear: jQuery("#insights_years").select2("val"),
          tCountry: jQuery("#insight_countries").select2("val"),
          tPage: jQuery("#insights_page_number").val(),
          tSearch: jQuery("#search_insight").val(),
          tPerPage: jQuery("#ajax_count").val(),
          tType: $("#insights_type").val(),
          tData: jQuery("#insights_term").val(),
        },
        function (data) {
          if (isSearch) {
            jQuery(".insight-callout").html("");
          }
          jQuery(".insight-callout").append(data);
          jQuery(".insight-callout").removeClass("d-none");
          jQuery('#insight-see-more').removeClass('disabled');
        }
      );
    })
  }

  function seeMoreinsightTemplateContentHub() {
    //console.log("928 seeMoreinsightTemplateContentHub");
    jQuery(".insight-content-hub").html("");
    fetchAndCacheNonce("seeMoreInsightTemplate", function(freshNonce) {
      if ( window.matchMedia("(max-width: 991px) and (min-width: 744px)").matches) {
        $("#ajax_count").val(6);
      } else if (window.matchMedia("(max-width: 743px)").matches) {
        $("#ajax_count").val(3);
      }
      let solutions = [];
      if ( jQuery(".solutions.mobile-none").length > 0 ) {
        solutions = jQuery("#insights_solutions").select2("val");
      }
      postAjax(
        ajax_object.ajaxurl,
        {
          action: "insight_template_filter",
          dataType: "json",
          nonce: freshNonce,
          tSolutions: solutions,
          tYear: jQuery("#insights_years").select2("val"),
          tCountry: jQuery("#insight_countries").select2("val"),
          tPage: jQuery("#insights_page_number").val(),
          tSearch: jQuery("#search_insight").val(),
          tPerPage: jQuery("#ajax_count").val(),
          tType: "content-hub",
          tData: "",
        },
        function (data) {
          jQuery(".insight-content-hub").append(data);
          jQuery(".contentub-insight-lists").owlCarousel({
            loop: false,
            nav: false,
            dots: true,
            margin: 16,
            responsiveClass: true,
            responsiveBaseElement: 'body',
            responsive: {
              0: {
                items: 1,
              },
              600: {
                items: 2,
              },
              1000: {
                items: 3,
              },
            },
          });
          //console.log("971 fire")
          jQuery(".insight-content-hub").show();
        }
      );
    })
  }

  jQuery("#search_insight").on("keyup", debounce( function () {
      jQuery(".insight-callout").html("");
      seeMoreInsightTemplate(true);
  }, 350));

  // filters, on filter change
  let filterCount = 0;
  jQuery("#insight_countries, #insights_solutions, #insights_years").off('change').on("change", debounce( function() {
      clearAllToggle();
      jQuery("#insights_page_number").val(1);
      jQuery(".insight-callout").html("");
      seeMoreInsightTemplate();
  }, 500 ));

  if (jQuery("#insight_countries").length != 0) {
    jQuery("#insight_countries").select2({
      closeOnSelect: false,
      allowHtml: true,
      allowClear: false,
      placeholder: "All Locations",
      tags: true,
      dropdownAutoWidth : true,
      dropdownPosition: 'below'
    });
    jQuery("#insight_countries")
      .data("select2")
      .$dropdown.addClass("insight_countries_dropdown");
  }
  if (jQuery(".solutions.mobile-none").length != 0) {
    jQuery("#insights_solutions").select2({
      closeOnSelect: false,
      allowHtml: true,
      allowClear: false,
      placeholder: "All Solutions",
      tags: true,
      dropdownAutoWidth : true,
      dropdownPosition: 'below'
    });
    //jQuery("#insights_solutions")
      //.data("select2")
      //.$dropdown.addClass("insights_solutions_dropdown");  
  }
  if (jQuery("#insights_years").length != 0) {
    jQuery("#insights_years").select2({
      closeOnSelect: false,
      allowHtml: true,
      allowClear: false,
      placeholder: "All Years",
      tags: true,
      dropdownAutoWidth: true,
      dropdownPosition: 'below'
    });
    jQuery("#insights_years")
      .data("select2")
      .$dropdown.addClass("insights_years_dropdown");
  }

  if ($(".insights-template").length > 0) {
    // mobile filter insight
    jQuery("input[name='team_countries[]']").on("change", function () {
      let selectedVal = [];
      let checkCountries = $("input[name='team_countries[]']:checked");
      for (let i = 0; i < checkCountries.length; i++) {
        if (
          jQuery(checkCountries[i]).attr("data-id") == "all-countries" &&
          checkCountries.length > 1
        ) {
          jQuery(checkCountries[i]).prop("checked", false);
        }
        selectedVal.push(checkCountries[i].value);
      }
      if (checkCountries.length <= 0) {
        jQuery(".button-all-counties>div").html("All Countries");
      }
      if (jQuery("#insight_countries").length > 0) {
        jQuery("#insight_countries").val(selectedVal).trigger("change.select2");
        updateSelectedLabel("#insight_countries");
      }
      jQuery("#insights_page_number").val(1);
      jQuery(".insight-callout").html("");
      seeMoreInsightTemplate();
    });
    jQuery("input[name='team_solutions[]']").on(
      "change",
      debounce(function () {
        let selectedVal = [];
        let checkCountries = $("input[name='team_solutions[]']:checked");
        for (let i = 0; i < checkCountries.length; i++) {
          if (
            jQuery(checkCountries[i]).attr("data-id") == "All Solutions" &&
            checkCountries.length > 1
          ) {
            jQuery(checkCountries[i]).prop("checked", false);
          }
          selectedVal.push(checkCountries[i].value);
        }
        if (checkCountries.length <= 0) {
          jQuery(".button-all-solution>div").html("All Solutions");
        }
        jQuery("#insights_solutions")
          .val(selectedVal)
          .trigger("change.select2");

        if ($("#award_bodies").length > 0) {
          jQuery("#award_bodies").val(selectedVal).trigger("change.select2");
          updateSelectedLabel("#award_bodies");
          updateAwards();
        }
        updateSelectedLabel("#insights_solutions");
        jQuery("#insights_page_number").val(1);
        jQuery(".insight-callout").html("");
        seeMoreInsightTemplate();
      }, 700)
    );
    jQuery("input[name='team_sort[]']").on(
      "change",
      debounce(function () {
        let selectedVal = [];
        let checkedYear = $("input[name='team_sort[]']:checked");
        for (let i = 0; i < checkedYear.length; i++) {
          if (
            jQuery(checkedYear[i]).attr("data-id") == "All Years" &&
            checkedYear.length > 1
          ) {
            jQuery(checkedYear[i]).prop("checked", false);
          }
          selectedVal.push(checkedYear[i].value);
        }
        if (checkedYear.length <= 0) {
          jQuery(".button-all-years>div").html("All Years");
        }
        jQuery("#insights_years").val(selectedVal).trigger("change.select2");
        updateSelectedLabel("#insights_years");
        jQuery("#insights_page_number").val(1);
        jQuery(".insight-callout").html("");
        seeMoreInsightTemplate();
      }, 700)
    );
  }

  if ($("#selected-filter-search").length > 0) {
    let getCountries = $("#selected-filter-search").attr("data-countries");
    if (getCountries) {
      getCountries = getCountries.split(",");
      if ( jQuery("#insight_countries").length ) {
        jQuery("#insight_countries").val(getCountries).trigger("change.select2");
        updateSelectedLabel("#insight_countries");
      } else if ( jQuery("#teams_countries").length ) {
        jQuery("#teams_countries").val(getCountries).trigger("change.select2");
        updateSelectedLabel("#teams_countries");
        filterTeamsTemplate();
      }
    }
  }

  if ($("#inisght-lists-wrapper").length > 0) {
    console.log("1131 first pass");
    // loading insight list page
    var urlParams = new URLSearchParams(window.location.search);
    let getSolutions = "";
    let getCountries = "";
    let getYears = "";
    if (urlParams.has("solutions")) {
      getSolutions = $("#selected-filter-search").attr("data-solutions");
    }
    if (urlParams.has("countries")) {
      getCountries = $("#selected-filter-search").attr("data-countries");
    }
    if (urlParams.has("years")) {
      getYears = $("#selected-filter-search").attr("data-years");
    }  
    if (getCountries) {
      getCountries = getCountries.split(",");
      jQuery("#insight_countries").val(getCountries).trigger("change.select2");
      updateSelectedLabel("#insight_countries");
    }
    if (getSolutions) {
      getSolutions = getSolutions.split(",");
      jQuery("#insights_solutions").val(getSolutions).trigger("change.select2");
      updateSelectedLabel("#insights_solutions");
    }
    if (getYears) {
      getYears = getYears.split(",");
      jQuery("#insights_years").val(getYears).trigger("change.select2");
      updateSelectedLabel("#insights_years");
    }

    // tax-transfer-pricing page?
    if ( jQuery(".quick-link-list-item.active").attr("data") == "tax-transfer-pricing" ) {
      jQuery("#insights_solutions").val("16").trigger("change");
      jQuery("#team_solutions").prop('checked', false);
      jQuery("#team_solutions_16").prop('checked', true);
      jQuery("#team_solutions_16, #team_solutions").on("click", function(e) {
        e.preventDefault();
      })
      updateSelectedLabel("#insights_solutions");
    }

    if ( jQuery("#insights_term").val() == "content-hub") {
      console.log("1274");
      seeMoreinsightTemplateContentHub();
      setTimeout(() => {
        $(".contentub-insight-lists").owlCarousel({
          loop: false,
          nav: false,
          dots: true,
          margin: 16,
          responsiveClass: true,
          responsiveBaseElement: 'body',
          responsive: {
            0: {
              items: 1,
            },
            600: {
              items: 2,
            },
            1000: {
              items: 3,
            },
          },
        });
      }, 900);

    } else {

      // don't fire on t&t pricing
      // fired later on, on filter change
      if ( jQuery(".quick-link-list-item.active").attr("data") != "tax-transfer-pricing") {
        seeMoreInsightTemplate();
      }
    
    }

  }

  jQuery("input[type='search']").on("keyup", function () {
    let searchVal = jQuery(this).val();
    jQuery(this).removeClass("d-block");
    jQuery(this).removeClass("d-none");
    if (searchVal.length > 0) {
      jQuery(this).addClass("d-block");
    } else {
      jQuery(this).addClass("d-none");
    }
  });

  $("#award_countries, #careers_countries, #insights_solutions, #insight_countries, #insights_years, #teams_solutions, #teams_countries, #contact_countries, #contact_solutions").on("change", function () {
    let selectName = $(this).attr("id");
    updateSelectedLabel("#" + selectName);
  });

  function updateCountSected(select) {
    let selected = $(select).attr("id");
    let element = "#" + selected;
    $(select)
      .next("span.select2")
      .find("ul")
      .html(function () {
        let count = select.select2("data").length;
        updateCountMobileSelected(element, count);
        if (count > 0) {
          let customLabel = "selected";
          if (selected == "contact_countries") {
            customLabel = count > 1 ? "Countries" : "Country";
          } else if (selected == "contact_solutions") {
            customLabel = count > 1 ? "Solutions" : "Solution";
          }
          return "<li>" + count + " " + customLabel + "</li>";
        }
      });
  }
  function updateCountMobileSelected(element, count) {
    if (count > 0) {
      if (
        jQuery.inArray(element, [
          "#insight_countries",
          "#teams_countries",
          "#careers_countries",
        ]) !== -1
      ) {
        jQuery(".button-all-counties div").text(count + " selected");
      } else if (jQuery.inArray(element, ["#insights_solutions", "#teams_solutions"]) !== -1 ) {
        jQuery(".button-all-solution div").text(count + " selected");
      } else if (element == "#insights_years") {
        jQuery(".button-all-years div").text(count + " selected");
      } else if (element == "#award_countries") {
        jQuery(".button-all-award-counties div").text(count + " selected");
      } else if (element == "#award_bodies") {
        jQuery(".button-all-award-bodies div").text(count + " selected");
      } else if (element == "#award_years") {
        jQuery(".button-all-award-years div").text(count + " selected");
      } else if (element == "#team_countries") {
        jQuery(".button-all-award-years div").text(count + " selected");
      }
    } else {
      if (
        jQuery.inArray(element, [
          "#insight_countries",
          "#teams_countries",
          "#careers_countries",
        ]) !== -1
      ) {
        jQuery(".button-all-counties div").text("All Countries");
      } else if (
        jQuery.inArray(element, ["#insights_solutions", "#teams_solutions"]) !==
        -1
      ) {
        jQuery(".button-all-solution div").text("All Solutions");
      } else if (element == "#insights_years") {
        jQuery(".button-all-years div").text("All Years");
      } else if (element == "#award_countries") {
        jQuery(".button-all-award-counties div").text("All Countries");
      } else if (element == "#award_bodies") {
        jQuery(".button-all-award-bodies div").text("All Award Types");
      } else if (element == "#award_years") {
        jQuery(".button-all-award-years div").text("All Years");
      }
    }
  }


  $(".filter-clear-all, #filter-clear-all-team-page, #filter-clear-all-awards-page").on("click", function (event) {
    event.preventDefault();
    // reset click count
    filterCount = 0;
    // reset page number
    jQuery("#insights_page_number").val(1);
    $(this).addClass("d-none");
    $("#search_insight").val("");
    $("#search_team").val("");
    let elementId = $(this).attr("id");
    jQuery("#award_countries, #award_years, #award_bodies, #careers_countries, #insights_solutions, #insight_countries, #insights_years, #teams_solutions, #teams_countries, #contact_countries, #contact_solutions").val([]).trigger("change.select2");
    $("#selected-filter").html("");
    if ( jQuery(".quick-link-list-item.active").attr("data") == "tax-transfer-pricing" ) {
      jQuery("#insights_solutions").val(16).trigger("change.select2");
      updateSelectedLabel("#insights_solutions");
    }
    if (elementId == "filter-clear-all-team-page") {
      $("#team-list-template").html("");
      seeMoreTeamsTemplate();
    }
    if (elementId == "filter-clear-all-awards-page") {
      updateAwards();
    }
    if ($("#career-lists").length > 0) {
      jQuery("#career-lists-body").html("");
      filterCareersTemplate();
    }
      if (jQuery(".insight-callout").length > 0) {
        jQuery(".insight-callout").html("");
        seeMoreInsightTemplate();
      }
      if ( jQuery(".quick-link-list-item.active").data("type") == "content-hub" ) {
        seeMoreinsightTemplateContentHub();
        return;
      }
      
    let element =
      "#award_countries, #award_years, #award_bodies, #careers_countries, #insights_solutions, #insight_countries, #insights_years, #teams_solutions, #teams_countries, #contact_countries, #contact_solutions";
    let arrayElement = element.split(",");
    for (let i = 0; i < arrayElement.length; i++) {
      updateCountMobileSelected($.trim(arrayElement[i]), 0);
    }

    $("input[name='award_countries_filter[]']").prop("checked", false);
    $("input[name='awards_year[]']").prop("checked", false);
    $("input[name='award_bodies_filter[]']").prop("checked", false);
    $("input[name='team_solutions[]']").prop("checked", false);
    $("input[name='team_countries[]']").prop("checked", false);
    $("input[name='team_sort[]']").prop("checked", false);

    $("#award_countries_filter").prop("checked", true);
    $("#award_bodies_filter").prop("checked", true);
    $("#team_countries").prop("checked", true);
    $("#team_solutions").prop("checked", true);
    $("#team_sort").prop("checked", true);
  });

  $(document).on("click", "#selected-filter li", function (event) {

    //console.log("selected-filter click");

    $(this).addClass("focus");
    let id = $(this).attr("data-id");
    let selectName = $(this).attr("select2-name");
    let selected = $("#" + selectName).select2("data");
    let newSelected = selected.filter((s) => s.id !== id);
    let value = newSelected.map((s) => s.id);
    let getSelected = localStorage.getItem("selectedItems")
      ? localStorage.getItem("selectedItems")
      : "";
    let arrayGetSelected = getSelected.split(",");
    if (arrayGetSelected.includes(id)) {
      let newData = arrayGetSelected.filter((s) => s != id);
      localStorage.setItem("selectedItems", newData);
    }
    jQuery("#" + selectName)
      .val(value)
      .trigger("change.select2");
    let option = $("#" + selectName);
    updateCountSected(option);

    $(this).remove();

    if (jQuery("#filter-clear-all-team-page").length > 0) {
      $("#team-list-template").html("");
      seeMoreTeamsTemplate();
    }
    if (jQuery("#filter-clear-all-awards-page").length > 0) {
      updateAwards();
    }

    if ($("#career-lists-body").length > 0) {
      jQuery("#career-lists-body").html("");
      jQuery("#team_countries_" + id).prop("checked", false);
      filterCareersTemplate();
    }
    if (jQuery(".insight-callout").length > 0) {
      jQuery(".insight-callout").html("");
      seeMoreInsightTemplate();
    }
    if (isContentHubPage()) {
      jQuery(".insight-callout").html("");
      seeMoreinsightTemplateContentHub();
    }

    $("#award_countries_filter_" + id).prop("checked", false);
    $("#award_bodies_filter_" + id).prop("checked", false);
    $("#awards-year_" + id).prop("checked", false);

    $("#team_solutions_" + id).prop("checked", false);
    $("#team_countries_" + id).prop("checked", false);
    $("#team_sort_" + id).prop("checked", false);

    clearAllToggle();

  });

  jQuery("#award_years, #award_solutions, #award_bodies, #award_countries").on(
    "change",
    function () {
      let selector = $(this).attr("id");
      updateSelectedLabel("#" + selector);
      updateAwards();
    }
  );

  function updateAwards() {
    jQuery("#results_stage").addClass("no-results");
    fetchAndCacheNonce("updateAwards", function(freshNonce) {
      postAjax(
        ajax_object.ajaxurl,
        {
          action: "filter_awards_page",
          nonce: freshNonce,
          fTypes: jQuery("#award_bodies").select2("val"),
          fSolutions: jQuery("#award_solutions").select2("val"),
          fYears: jQuery("#award_years").select2("val"),
          fCountry: jQuery("#award_countries").select2("val"),
        },
        function (data) {
          data = JSON.parse(data);
          if (data.code === 200) {
            jQuery("#results_stage").removeClass("no-results");
            jQuery("#results_stage > div ").replaceWith(
              "<div class='awards-page'>" + data.html + "</div>"
            );
          } else {
            jQuery("#results_stage > div ").replaceWith(
              '<div class="awards-page"><p class="no-awards not-found">No awards just yet</p></div>'
            );
          }
        }
      );
    })
  }

  // scroll content hub subcats into view
  var container = jQuery('.quick-link-insight');
  var targetItem = container.find('.content-hub-active');
  if (targetItem.length) {
    container.animate({
      scrollLeft: targetItem.offset().left - container.offset().left + container.scrollLeft()
    }, 500); // Animation duration in milliseconds
  }


  /* $(".quick-link-lists a.quick-link-list-item").on("click", function (e) {
    // e.preventDefault();
    var pos = $(this).position().left; //get left position of li
    var currentscroll = $(".quick-link-lists").scrollLeft(); // get current scroll position
    var divwidth = $(".quick-link-lists").width(); //get div width
    pos = pos + currentscroll; // for center position if you want adjust then change this
    $(".quick-link-lists").animate({
      scrollLeft: 100,
    });
  }); */

  function clearAllToggle() {
    let countriesSelected = jQuery("#insight_countries").find(':selected');
    let solutionsSelected = jQuery("#insights_solutions").find(':selected');
    let yearsSelected = jQuery("#insights_years").find(':selected');
    let filterTotal = countriesSelected.length + solutionsSelected.length + yearsSelected.length;
    if ( isTaxTransferPage() ) {
      if ( filterTotal > 1 ) {
        jQuery(".filter-clear-all").removeClass("d-none");
      } else {
        jQuery(".filter-clear-all").addClass("d-none");
      }
    } else {
      if ( filterTotal > 0 ) {
        jQuery(".filter-clear-all").removeClass("d-none");
      } else {
        jQuery(".filter-clear-all").addClass("d-none");
      }
    }
  }
  function isTaxTransferPage() {
    if ( jQuery(".quick-link-list-item.active").attr("data") == "tax-transfer-pricing") {
      return true;
    }
    return false
  }
  function isContentHubPage() {
    if ( jQuery(".quick-link-list-item.active").attr("data") == "dfdl_content_hub_callout") {
      return true;
    }
    return false
  }
  function processQueryVars() {
    var urlParams = new URLSearchParams(window.location.search);
    let getSolutions = "";
    let getCountries = "";
    if (urlParams.has("solutions[]")) {
      getSolutions = $("#selected-filter-search").attr("data-solutions");
    }
    if (urlParams.has("countries[]")) {
      getCountries = $("#selected-filter-search").attr("data-countries");
    }
    if (getCountries) {
      getCountries = getCountries.split(",");
      jQuery("#insight_countries").val(getCountries).trigger("change.select2");
      updateSelectedLabel("#insight_countries");
    }
    if (getSolutions) {
      getSolutions = getSolutions.split(",");
      jQuery("#insights_solutions").val(getSolutions).trigger("change.select2");
      updateSelectedLabel("#insights_solutions");
    }
  }

  function fetchAndCacheNonce(source, callback) {
    if (nonceLoading) {
      return;
    }
    if (cachedNonce !== null && (Date.now() - nonceFetchTimestamp) < nonceTTL) {
      if (callback && typeof callback === 'function') {
          callback(cachedNonce);
      }
      return;
    }
    nonceLoading = true;
    jQuery.ajax({
        url: ajax_object.ajaxurl,
        type: 'POST',
        data: {
            action: 'get_fresh_nonce',
            source: source
        },
        success: function(response) {
            if (response.success && response.data && response.data.nonce) {
                cachedNonce = response.data.nonce;
                nonceFetchTimestamp = Date.now();
                if (callback && typeof callback === 'function') {
                    callback(cachedNonce);
                }
            } else {
                console.error('Failed to get fresh nonce:', response.data);
            }
        },
        error: function(xhr, status, error) {
            console.error('AJAX error getting nonce:', status, error);
        },
        complete: function() {
            nonceLoading = false;
        }
    });
  }
  clearAllToggle();

});