jQuery(document).ready(function () {
  var OSName = "unknown";
  if (navigator.appVersion.indexOf("Win") != -1) OSName = "windows";
  if (navigator.appVersion.indexOf("Mac") != -1) OSName = "mac";
  if (navigator.appVersion.indexOf("X11") != -1) OSName = "unix";
  if (navigator.appVersion.indexOf("Linux") != -1) OSName = "Linux";
  jQuery("body").addClass(OSName);

  jQuery("header .menu-trigger .menu-toggle").on("click", function (e) {
    e.preventDefault();
    var scroll = jQuery(window).scrollTop();
    document.body.style.position = "fixed";
    document.body.style.top = "-" + scroll + "px";
    // jQuery("body").addClass("scroll-lock");
    jQuery(".header-submenu").addClass("active");
    if (scroll > 0) {
      jQuery(".bg-trans-light").addClass("blue-bg");
    }
  });
  jQuery(".header-submenu .close-submenu").on("click", function (e) {
    e.preventDefault();
    const scrollY = document.body.style.top;
    document.body.style.position = "";
    document.body.style.top = "";
    window.scrollTo(0, parseInt(scrollY || "0") * -1);
    // jQuery("body").removeClass("scroll-lock");
    jQuery(".header-submenu").removeClass("active");
    jQuery(".header-submenu").removeClass("not-scrolled");
    jQuery(".bg-trans-light").removeClass("blue-bg");
    console.log('hellow');
  });
  jQuery(".header-submenu .submenu-bg").on("click", function (e) {
    e.preventDefault();
    const scrollY = document.body.style.top;
    document.body.style.position = "";
    document.body.style.top = "";
    window.scrollTo(0, parseInt(scrollY || "0") * -1);
    // jQuery("body").removeClass("scroll-lock");
    jQuery(".header-submenu").removeClass("active");
    jQuery(".header-submenu").removeClass("not-scrolled");
  });

  if (jQuery("body").hasClass("homepage")) {
    window.setTimeout(function () {
      jQuery(".line-left").addClass("active");
      jQuery(".home-banner .top-line").addClass("active");
    }, 2000);
    window.setTimeout(function () {
      jQuery(".line-right").addClass("active");
      jQuery(".homepage .logo-slider-full .logo-slider-area").addClass(
        "active"
      );
    }, 2000);
  } else {
    jQuery(".line-left").addClass("active");
    jQuery(".line-right").addClass("active");
  }

  // jQuery("[hover-scramble]").on("mouseenter", function () {
  //   jQuery(this).scrambler({
  //     speed: 50,
  //     reveal: 50,
  //     keep_whitespaces: false,
  //     total_iterations: 0,
  //     interval: -1,
  //   });
  // });
  // jQuery("[hover-scramble]").on("mouseenter", function () {
  //   var final_text = jQuery(this).attr("scramble-final");
  //   jQuery(this).scrambler({
  //     speed: 50,
  //     reveal: 50,
  //     final_text: final_text,
  //     keep_whitespaces: false,
  //     total_iterations: 0,
  //     interval: -1,
  //   });
  // });
  // jQuery(".btn-scramble").on("mouseenter", function () {
  //   var final_text = jQuery(this)
  //     .children("[btn-scramble-target]")
  //     .attr("scramble-final");
  //   jQuery(this).children("[btn-scramble-target]").scrambler({
  //     speed: 50,
  //     reveal: 50,
  //     final_text: final_text,
  //     keep_whitespaces: false,
  //     total_iterations: 0,
  //     interval: -1,
  //   });
  // });
  // jQuery(".has-scramble").on("mouseenter", function () {
  //   var final_text = jQuery(this)
  //     .find("[scramble-target]")
  //     .attr("scramble-final");
  //   jQuery(this).find("[scramble-target]").scrambler({
  //     speed: 50,
  //     reveal: 50,
  //     final_text: final_text,
  //     keep_whitespaces: false,
  //     total_iterations: 0,
  //     interval: -1,
  //   });
  // });

  if (jQuery(window).width() < 767) {
    jQuery(".header-submenu .content-area .menu-area .menu-box.has-submenu:not(.hide_on_mobile)>a .mobile_toggle").on(
      "click",
      function (e) {
        e.preventDefault();
        jQuery(this).parent().toggleClass("active");
        jQuery(this).parent().siblings(".submenu").toggleClass("menu-clicked");
      }
    );
  }

  // jQuery("h1").scrambler({
  //   effect: "typing",
  //   speed: 50,
  //   reveal: 50,
  //   keep_whitespaces: false,
  //   total_iterations: 0,
  //   interval: -1,
  // });
  // jQuery("h1")
  //   .delay(100)
  //   .queue(function (next) {
  //     jQuery(this).css("opacity", "1");
  //     next();
  //   });

  jQuery(".companies .main-companies .content-area .companies-boxes").on(
    "click",
    function (e) {
      jQuery(this).toggleClass("active");
    }
  );

  jQuery(".contact-send-note .content-area .left-area .form-selector a").on(
    "click",
    function (e) {
      e.preventDefault();
      var order = jQuery(this).index();
      jQuery(this).siblings().removeClass("active");
      jQuery(this).addClass("active");
      jQuery(
        ".contact-send-note .content-area .right-area .form-area .form-box"
      ).removeClass("active");
      jQuery(
        ".contact-send-note .content-area .right-area .form-area .form-box:eq(" +
          order +
          ")"
      ).addClass("active");
    }
  );

  jQuery(
    ".bio-banner .content-area .text-area .social-link .download-link>a"
  ).on("click", function (e) {
    e.preventDefault();
    jQuery(this).parent().toggleClass("active");
  });

  jQuery(".announcements .takeover-area .text-area .close-button").on(
    "click",
    function (e) {
      e.preventDefault();
      jQuery(".announcements").addClass("disable");
      jQuery("body").removeClass("scroll-lock");
    }
  );

  jQuery(".announcements-bar .content-area .close-bar img").on(
    "click",
    function (e) {
      e.preventDefault();
      jQuery(".announcements-bar").addClass("disable");
      jQuery("body").removeClass("has-announcements");
    }
  );

  // jQuery("h1:not(.no_animation)").html(function (i, html) {
  //   html = html.replace('amp;','');
  //   var chars = jQuery.trim(html).split("");
  //   // chars = chars.replace('&amp;', '&');
  //   console.log(chars);
  //   return "<char>" + chars.join("</char><char>") + "</char>";
  // });
  // jQuery("h1").css("opacity", "1");
  // jQuery("h1")
  //   .find("char")
  //   .each(function (i) {
  //     jQuery(this)
  //       .css("opacity", "0")
  //       .delay(i * 50)
  //       .queue(function (next) {
  //         jQuery(this).css("opacity", "1");
  //         next();
  //       });
  //   });

  // jQuery("main section h2:not(.not_trim)").html(function (i, html) {
  //   jQuery('main section h2').css('opacity', 0);
  //   html = html.replace('amp;','');
  //   var chars = jQuery.trim(html).split("");
  //   // chars = chars.replace('&amp;', '&');
  //   console.log(chars);
  //   return "<char>" + chars.join("</char><char>") + "</char>";
  // });

  // jQuery('main section h2').waypoint(function(direction) {
  //   if(direction == 'down') {
  //     $curr_element = jQuery(this[0,'element']);
  //     if(!$curr_element.hasClass('run_animate')) {
  //       $curr_element.addClass('run_animate');
  //       $curr_element.css("opacity", "1");
  //       $curr_element
  //         .find("char")
  //         .each(function (i) {
  //           jQuery(this)
  //             .css("opacity", "0")
  //             .delay(i * 50)
  //             .queue(function (next) {
  //               jQuery(this).css("opacity", "1");
  //               next();
  //             });
  //         });
  //     }
  //   }
  // }, {
  //   offset: '500%'
  // })

  jQuery(".specialists-page-content:not(.talent_network_tab_content):not(.blog_lannding_tab) .nav-tabs .nav-item").on(
    "click",
    function (e) {
      jQueryspace = 0;
      let curr_id = jQuery(this).find('button').attr('id');
      if(curr_id == 'customer-development-tab') {
        jQueryspace = 100;

        if (window.matchMedia('(max-width: 767px)').matches) {
          jQueryspace = 70;
        }
      }
      console.log(curr_id);
      jQuery("html, body")
        .stop()
        .animate(
          {
            scrollTop: jQuery("#myTabContent").offset().top - jQueryspace,
          },
          500
        );
    }
  );

  jQuery(".filter-box .filter-selector").on("click", function (e) {
    jQuery(this)
      .parent()
      .siblings()
      .children(".filter-selector")
      .addClass("collapsed");
    jQuery(this)
      .parent()
      .siblings()
      .children(".filter-check")
      .addClass("collapsed");
    jQuery(this)
      .parent()
      .siblings()
      .children(".filter-check")
      .removeClass("show");
  });
});

function smoothscroll() {
  jQuery(".smoothscroll").on("click", function (e) {
    e.preventDefault();
    jQuerytarget = jQuery(this.hash);
    jQueryspace = 120;
    let href = jQuery(this).attr('href');
    if(href == '#for-enterprise-cxos') {
      jQueryspace = 100;
    }
    if(href == '#for-founders') {
      jQueryspace = 150;
    }
    jQuery("html, body")
      .stop()
      .animate(
        {
          scrollTop: jQuerytarget.offset().top - jQueryspace,
        },
        500
      );
  });
}

jQueryslickLink = false;
function linkSlider() {
  if (jQuery(window).width() > 767) {
    if (!jQueryslickLink) {
      jQuery(".link-slider-full .link-slider-area").slick({
        speed: 200,
        cssEase: "linear",
        slidesToShow: 4,
        slidesToScroll: 4,
        infinite: true,
        arrows: true,
        buttons: false,
        responsive: [
          {
            breakpoint: 1200,
            settings: {
              slidesToShow: 2,
              slidesToScroll: 2,
            },
          },
          {
            breakpoint: 768,
            settings: {
              settings: "unslick",
            },
          },
        ],
      });
      jQueryslickLink = true;
    }
  } else if (jQuery(window).width() < 767) {
    if (jQueryslickLink) {
      jQuery(".link-slider-full .link-slider-area").slick("unslick");
      jQueryslickLink = false;
    }
  }
}

jQuery(window).scroll(function () {
  var scroll = jQuery(window).scrollTop();
  if (scroll <= 1) {
    jQuery("header").removeClass("scrolled");
  }
  if (scroll >= 3) {
    jQuery("header").addClass("scrolled");
  }
});

jQuery(window).on("load", function () {
  AOS.init({
    duration: 1400,
    once: true,
    anchorPlacement: "top-bottom",
  });

  smoothscroll();

  var scroll = jQuery(window).scrollTop();

  if (scroll <= 1) {
    jQuery("header").removeClass("scrolled");
  }

  if (scroll >= 8) {
    jQuery("header").addClass("scrolled");
  }

  jQuery(".text-typing").scrambler({
    effect: "typing",
    speed: 50,
    reveal: 50,
    keep_whitespaces: false,
    total_iterations: 0,
    interval: -1,
  });
  jQuery(".text-scrambler").scrambler({
    speed: 50,
    reveal: 35,
    keep_whitespaces: false,
    total_iterations: 0,
    interval: -1,
  });

  jQuery(function () {
    jQuery(
      ".featured-four-column>.content-area .featured-boxes .featured-box .tag-area a"
    )
      .slice(0, 2)
      .show();
    jQuery(".load-more-tag").on("click", function (e) {
      e.preventDefault();
      jQuery(this).siblings("a:hidden").slice(0, 2).fadeIn();
      if (jQuery(this).siblings("a:hidden").length == 0) {
        jQuery(this).hide();
      }
    });
  });

  jQuery(document).on(
    "click", ".all-companies .companies-boxes .companies-box .logo-area",
    function (e) {
      e.preventDefault();
      if (jQuery(this).parent().hasClass("active")) {
        jQuery(this).parent().removeClass("active");
      } else {
        // jQuery(".all-companies .companies-boxes .companies-box").removeClass(
        //   "active"
        // );
        jQuery(this).parent().addClass("active");
      }
    }
  );

  jQuery(".logo-slider-full .logo-slider-area").slick({
    speed: 5000,
    autoplay: true,
    autoplaySpeed: 0,
    centerMode: true,
    cssEase: "linear",
    slidesToShow: 1,
    slidesToScroll: 1,
    variableWidth: true,
    infinite: true,
    focusOnSelect: false,
    pauseOnHover: false,
    pauseOnFocus: false,
    useTransform: false,
    responsive: [
      {
        breakpoint: 993,
        settings: {
          slidesToShow: 1,
        },
      },
    ],
  });

  linkSlider();

  jQuery(".home-intro .scrolltext").slick({
    speed: 20000,
    autoplay: true,
    autoplaySpeed: 0,
    centerMode: false,
    cssEase: "linear",
    slidesToShow: 1,
    slidesToScroll: 1,
    infinite: true,
    arrows: false,
    buttons: false,
    pauseOnFocus: false,
    pauseOnHover: false,
    variableWidth: true,
  });

  if (document.querySelector(".featured-incubations-slider")) {
    jQuery(".featured-incubations-slider").slick({
      infinite: true,
      dots: false,
      nav: false,
      arrows: true,
      speed: 300,
      slidesToShow: 4,
      autoplay: true,
      autoplaySpeed: 5000,
      responsive: [
        {
          breakpoint: 1200,
          settings: {
            slidesToShow: 2,
          },
        },
        {
          breakpoint: 768,
          settings: {
            slidesToShow: 1,
          },
        },
      ],
    });
    function triggerScroll(targetObj) {
      let targetName = targetObj.attr("class"); //for console.log
      let targetFlag = false;
      let scrollTop = jQuery(window).scrollTop();
      let scrollBottom = scrollTop + jQuery(window).height();
      let targetTop = targetObj.offset().top;
      let targetBottom = targetTop + targetObj.height(); // while loading
      if (scrollBottom > targetTop && scrollTop < targetBottom) {
        if (!targetFlag) {
          console.log(targetName + " is in sight"); //for console.log
          targetObj.slick("slickPlay");
          targetFlag = true;
        }
      } else {
        console.log(targetName + " is not in sight"); //for console.log
        targetObj.slick("slickPause");
        targetFlag = false;
      }

      jQuery(window).on("scroll", function () {
        scrollTop = jQuery(window).scrollTop();
        scrollBottom = scrollTop + jQuery(window).height();
        targetTop = targetObj.offset().top;
        targetBottom = targetTop + targetObj.height();
        if (scrollBottom > targetTop && scrollTop < targetBottom) {
          // Start autoplay when entering the viewport
          if (!targetFlag) {
            console.log(targetName + " is in sight"); //確認用
            targetObj.slick("slickPlay");
            targetFlag = true;
          }
        } else {
          // Stop autoplay when you get out of the viewport
          if (targetFlag) {
            console.log(targetName + " is not in sight"); //for console.log
            targetObj.slick("slickPause");
            targetFlag = false;
          }
        }
      });
    }
    // Execute function
    triggerScroll(jQuery(".featured-incubations-slider"));
  }

  jQuery(function () {
    let url = window.location.pathname.split("/").pop();

    // Add active nav class based on url
    jQuery(
      "header .content-area .navbar .navbar-collapse .navbar-nav .nav-item .nav-link"
    ).each(function () {
      if (
        jQuery(this).attr("href") == url ||
        jQuery(this).attr("href") == "" ||
        jQuery(this)
          .siblings(".dropdown-menu")
          .children("li")
          .children(".dropdown-item")
          .attr("href") == url
      ) {
        jQuery(this)
          .closest(".content-area .navbar-nav .nav-item .nav-link")
          .addClass("active");
      }
    });

    jQuery("footer .footer-box .footer-column ul li a").each(function () {
      if (
        jQuery(this).attr("href") == url ||
        jQuery(this).attr("href") == "  "
      ) {
        jQuery(this).addClass("active");
      }
    });
  });

  jQuery("#numberOnly").on("input blur paste", function () {
    jQuery(this).val(jQuery(this).val().replace(/\D/g, ""));
  });

  jQuery("[data-fancybox='teambio']").fancybox({
    arrows: false,
    infobar: false,
    touch: false,
    afterShow: function (instance, slide) {
      jQuery("html, body").animate(
        {
          scrollTop: jQuery(".who-we-are").offset().top,
        },
        1
      );
      jQuery("body").addClass("lockscroll");
    },
    beforeClose: function (instance, slide) {
      jQuery("body").removeClass("lockscroll");
      let slideID = slide.src;
      let slideClass = slideID.replace("#", ".");
      jQuery("html, body").animate(
        {
          scrollTop: jQuery(slideClass).offset(),
        },
        1
      );
    },
  });

  // jQuery(".header .menu-trigger").click(function () {
  //   if (jQuery("body").hasClass("scroll-lock")) {
  //     const scrollY = document.body.style.top;
  //     document.body.style.position = "";
  //     document.body.style.top = "";
  //     window.scrollTo(0, parseInt(scrollY || "0") * -1);
  //     jQuery("body").removeClass("scroll-lock");
  //   } else {
  //     document.body.style.position = "fixed";
  //     document.body.style.top = `-${window.scrollY}px`;
  //     jQuery("body").addClass("scroll-lock");
  //   }
  // });

  jQuery(".side-navbar .navbar-toggle").click(function () {
    // jQuery("body").addClass("scroll-lock");
    jQuery(".mega-menu").addClass("active");
  });
  jQuery(".mobile-navbar .mobile-navbar-toggle").click(function () {
    // jQuery("body").addClass("scroll-lock");
    jQuery(".mega-menu").addClass("active");
  });
  jQuery(".close-megamenu").click(function () {
    // jQuery("body").removeClass("scroll-lock");
    jQuery(".mega-menu").removeClass("active");
  });

  var x, i, j, l, ll, selElmnt, a, b, c;
  /* Look for any elements with the class "custom-select": */
  x = document.getElementsByClassName("custom-select");
  l = x.length;
  for (i = 0; i < l; i++) {
    selElmnt = x[i].getElementsByTagName("select")[0];
    ll = selElmnt.length;
    /* For each element, create a new DIV that will act as the selected item: */
    a = document.createElement("DIV");
    a.setAttribute("class", "select-selected");
    a.innerHTML = selElmnt.options[selElmnt.selectedIndex].innerHTML;
    x[i].appendChild(a);
    /* For each element, create a new DIV that will contain the option list: */
    b = document.createElement("DIV");
    b.setAttribute("class", "select-items select-hide");
    for (j = 1; j < ll; j++) {
      /* For each option in the original select element,
      create a new DIV that will act as an option item: */
      c = document.createElement("DIV");
      c.innerHTML = selElmnt.options[j].innerHTML;
      c.addEventListener("click", function (e) {
        /* When an item is clicked, update the original select box,
        and the selected item: */
        var y, i, k, s, h, sl, yl;
        s = this.parentNode.parentNode.getElementsByTagName("select")[0];
        sl = s.length;
        h = this.parentNode.previousSibling;
        for (i = 0; i < sl; i++) {
          if (s.options[i].innerHTML == this.innerHTML) {
            s.selectedIndex = i;
            h.innerHTML = this.innerHTML;
            y = this.parentNode.getElementsByClassName("same-as-selected");
            yl = y.length;
            for (k = 0; k < yl; k++) {
              y[k].removeAttribute("class");
            }
            this.setAttribute("class", "same-as-selected");
            break;
          }
        }
        h.click();
        jQuery(".filter-reset-button").removeClass("invisible");
        jQuery(".reset-filter-box").removeClass("invisible");
      });
      b.appendChild(c);
    }
    x[i].appendChild(b);
    a.addEventListener("click", function (e) {
      /* When the select box is clicked, close any other select boxes,
      and open/close the current select box: */
      e.stopPropagation();
      closeAllSelect(this);
      this.nextSibling.classList.toggle("select-hide");
      this.classList.toggle("select-arrow-active");
      jQuery('.specialists-page-content .tab-content .tab-pane .tab_form.left-75-right-25 .content-area .left-area .gform_fields .form-input').not(jQuery(this).parent().parent().parent()).removeClass('active_dropdown');
      jQuery(this).parent().parent().parent().toggleClass('active_dropdown');
    });
  }

  function closeAllSelect(elmnt) {
    /* A function that will close all select boxes in the document,
    except the current select box: */
    var x,
      y,
      i,
      xl,
      yl,
      arrNo = [];
    x = document.getElementsByClassName("select-items");
    y = document.getElementsByClassName("select-selected");
    xl = x.length;
    yl = y.length;
    for (i = 0; i < yl; i++) {
      if (elmnt == y[i]) {
        arrNo.push(i);
      } else {
        y[i].classList.remove("select-arrow-active");
        jQuery(y[i]).parent().parent().parent().removeClass('active_dropdown');

      }
    }
    for (i = 0; i < xl; i++) {
      if (arrNo.indexOf(i)) {
        x[i].classList.add("select-hide");
      }
    }
  }

  /* If the user clicks anywhere outside the select box,
  then close all select boxes: */
  document.addEventListener("click", closeAllSelect);

  jQuery(".filter-reset-button").click(function () {
    jQuery(this).addClass("invisible");
    jQuery(".select-selected").each(function () {
      var text = jQuery(this)
        .siblings(".form-select")
        .children("option:first-child()")
        .text();
      console.log(text);
      jQuery(this).text(text);
    });
    jQuery(".select-items div").removeClass();
  });

  jQuery(".mobile-filter .filter-toggle").click(function () {
    // if (jQuery("body").hasClass("scroll-lock")) {
    //   jQuery("body").removeClass("scroll-lock");
    //   jQuery("header").removeClass("invisible");
    // } else {
    //   setTimeout(() => {
    //     jQuery("body").addClass("scroll-lock");
    //   }, "400");
    //   jQuery("header").addClass("invisible");
    // }
    if (jQuery("header").hasClass("invisible")) {
      jQuery("header").removeClass("invisible");
    } else {
      jQuery("header").addClass("invisible");
    }
    jQuery(this).parent().siblings(".filter-box-container").addClass("active");
  });
  jQuery(".filter-box-apply").click(function () {
    jQuery(this).parent().removeClass("active");
    jQuery("body").removeClass("scroll-lock");
    jQuery("header").removeClass("invisible");
    // jQuery("html, body").animate(
    //   {
    //     scrollTop: jQuery(".mobile-filter").offset().top - 0,
    //   },
    //   50
    // );
  });
  jQuery(".close-filter-box").click(function () {
    jQuery(this).parent().removeClass("active");
    jQuery("body").removeClass("scroll-lock");
    jQuery("header").removeClass("invisible");
    // jQuery("html, body").animate(
    //   {
    //     scrollTop: jQuery(".mobile-filter").offset().top - 0,
    //   },
    //   50
    // );
  });

  // jQuery(".how-we-help-box").click(function () {
  //   jQuery(this).toggleClass("active");
  // });

  jQuery(function () {
    jQuery(
      ".perspectives-insights-archive .content-area .archives-boxes .archive-box"
    )
      .slice(0, 12)
      .show();
    jQuery(
      ".perspectives-insights-archive .content-area .archive-load-more .btn"
    ).on("click", function (e) {
      e.preventDefault();
      jQuery(
        ".perspectives-insights-archive .content-area .archives-boxes .archive-box:hidden"
      )
        .slice(0, 12)
        .slideDown();
      if (
        jQuery(
          ".perspectives-insights-archive .content-area .archives-boxes .archive-box:hidden"
        ).length == 0
      ) {
        jQuery(
          ".perspectives-insights-archive .content-area .archive-load-more .btn"
        ).fadeOut("slow");
      }
    });
  });

  var rellax = new Rellax(".rellax");

  jQuery("#comp-upload-pitch").on("change", function () {
    jQuery(this).addClass("uploaded");
  });

  (function () {
    "use strict";

    var section = document.querySelectorAll(".fullwidth-section");
    var sections = {};
    var i = 0;
    var sectionHeight = jQuery(section).height() + 118 - 118;

    Array.prototype.forEach.call(section, function (e) {
      sections[e.id] = e.offsetTop + sectionHeight;
    });

    window.onscroll = function () {
      var scrollPosition =
        document.documentElement.scrollTop || document.body.scrollTop;
      for (i in sections) {
        if (sections[i] <= scrollPosition) {
          jQuery("header").addClass("white-border");
        } else {
          jQuery("header").removeClass("white-border");
        }
      }
    };
  })();

  AOS.refresh();
});

var cachedWidth = jQuery(window).width();

jQuery(window).on("resize", function () {
  var newWidth = jQuery(window).width();
  if(newWidth !== cachedWidth){
    cachedWidth = newWidth;
    linkSlider();
  }
});
