/home/bdqbpbxa/demo-subdomains/sendon.goodface.com.ua/wp-content/themes/sendon/assets/js/script.js
$(document).ready(function () {
  preloaderHidden()
});
$(window).on('load', function () {
  preloaderHidden();
});

function preloaderHidden() {
  if (document.readyState === "complete") {

    if ($('.preloader').length) {
      $('.preloader').addClass('-active');

      setTimeout(function () {
        unlockScroll();
        $('.preloader').fadeOut(300, function () {
          $(this).remove();
        });
      }, 400)
    }
  }
}


// Services scroller function

function setDefaultServicesOffset() {
  if (isPc) {

    let servicesContainer = $('.services');
    let servicesList = $('.services__items');
    let firstEl = servicesList.find('.services__item').eq(0);
    let lastEl = servicesList.find('.services__item:last-child');

    let menuFirstEl = $('.services__menu').find('.services__menu-item').eq(0);
    let menuLastEl = $('.services__menu').find('.services__menu-item:last-child');

    let topOffset = (firstEl.innerHeight() - menuFirstEl.innerHeight()) / 2;
    let bottomOffset = (lastEl.innerHeight() - menuLastEl.innerHeight()) / 2;

    servicesContainer.css('padding', `${topOffset}px 0 ${bottomOffset}px 0`);
  }
}

function updateServicesItemsHeight() {
  if (isPc) {
    let servicesList = $('.services__items');
    let el = $('.services__menu-item.-active');
    servicesList.css('height', el.innerHeight());
  }
}

function animateServicesSection() {
  const titles = gsap.utils.toArray('.services__menu-item');
  let startPos, endPos;
  if (isPc) {
    startPos = 'top center';
    endPos = 'bottom center';
  } else {
    startPos = 'top 60%';
    endPos = 'bottom center';
  }
  titles.forEach(title => {
    gsap.to(title, {
      scrollTrigger: {
        invalidateOnRefresh: true,
        start: startPos,
        end: endPos,
        trigger: title,
        onUpdate: self => {
          let menu = $('.services__menu');
          let servicesList = $('.services__items');
          let el = $(self.trigger);
          let currIndex = el.index();

          menu.find('.-active').removeClass('-active');
          el.addClass('-active');
          servicesList.find('.-active').removeClass('-active');
          servicesList.find('.services__item').eq(currIndex).addClass('-active');
          updateServicesItemsHeight();
          ScrollTrigger.refresh(true);
        },
        // markers: true,
      },
    });
  });
}

$(window).on('load resize', setDefaultServicesOffset);
$(window).on('load', animateServicesSection);
$(window).on('load', updateServicesItemsHeight);


// Services anchors link

$(document).on('click', '.services__menu-item', function () {
  linkScroll($(this), 'center');
})

// Elements that can be clicked or scrolled when page scroll lock

var $scrollableElement = document.querySelectorAll(
  '.mobile-menu'
);



// Open/close mobile menu

$(document).on('click', '.burger', function () {
  $(this).toggleClass('-active');
  $('.mobile-menu').toggleClass('-active');
  if ($(this).hasClass('-active')) {
    scrollLock.disablePageScroll($scrollableElement);
  } else {
    scrollLock.enablePageScroll($scrollableElement);

  }

})

$(document).on('click', '.default-button.-disabled', function (e) {
  preventDefault(e)
})

// Show cta button when we need it

$(window).on('load', function () {
  if ($('.cta-button').length) {
    let mainHeight = $('main').innerHeight();
    let startPosition = $('main').find('section:first-child').innerHeight();
    let endPosition = mainHeight - $('main').find('section:last-child').innerHeight();
    let scrollContainer = gsap.to(".cta-button", {
      x: 0,
      ease: "none",
      scrollTrigger: {
        trigger: "main",
        start: `${startPosition} 50%`,
        end: `${endPosition}px 50%`,
        onUpdate: function (obj) {
          if (obj.progress < 1 && obj.progress > 0) {
            $('.cta-button').addClass('-active');
          } else {
            $('.cta-button').removeClass('-active');
          }
        }
      }
    });
  }
})

function changeVideoToPhoto() {
  let video = $('.animation-line-item__circle video');
  if (isApple && window.isMobile && video.length) {
    video.each(function () {
      let container = $(this).closest('.animation-line-item__circle .img');
      let imgSrc = container.attr('data-image');
      container.html(`
        <img src="${imgSrc}">
      `);
    })
  }
}

$(document).ready(function () {
  changeVideoToPhoto();
});