// /* global document console */

import ready from 'Utils/documentReady.js';
import getScrollSize from 'Utils/getScrollSize.js';

ready(function() {
  const body = document.querySelector('body');

  // Добавление кастомного свойства с системной шириной скролла
  document.documentElement.style.setProperty('--css-scroll-size', `${getScrollSize()}px`);

  const stickyHeader = document.querySelector('.page-header');
  const headerOffset = findOffset(stickyHeader);
  const headerOriginalHeight = stickyHeader.clientHeight;

  document.documentElement.style.setProperty('--header-bottom', `${stickyHeader.getBoundingClientRect().bottom}px`);
  
  window.addEventListener('scroll', () => {
    const bodyScrollTop = document.documentElement.scrollTop || document.body.scrollTop;
  
    if (bodyScrollTop > headerOffset.top) {
      body.style.paddingTop = `${headerOriginalHeight}px`;
      stickyHeader.classList.add('fixed');
    } else {
      body.style.paddingTop = `0`;
      stickyHeader.classList.remove('fixed');
    }

    document.documentElement.style.setProperty('--header-bottom', `${stickyHeader.getBoundingClientRect().bottom}px`);
  });

  function findOffset(element) {
    let top = 0, left = 0;
  
    do {
      top += element.offsetTop  || 0;
      left += element.offsetLeft || 0;
      element = element.offsetParent;
    } while(element);
  
    return {
      top: top,
      left: left
    };
  }

  // Mobile menu
  const mobMenu = document.querySelector(".mob-menu");

  if (mobMenu) {
    mobMenu.addEventListener("click", (e) => {
      if (e.target.classList.contains("mob-menu__close")) {
        closeMobMenu();
      }
    });
  }
});

function closeMobMenu() {
  const body = document.querySelector('body');
  const mobMenuTrigger = document.querySelector('.page-header .burger');

  mobMenuTrigger.classList.remove('burger--close');
  mobMenu.classList.remove('active');
  body.classList.remove('of-h', 'mob-menu-active');
}

import $ from 'jquery'; // Перед использованием установить как зависимость

$(function() {
  $('.move-to').click( function(){
    var scroll_el = $(this).children('a').attr('href');
    var body = $('body');

    if(scroll_el == undefined) {
      scroll_el = $(this).attr('href');
    }

    if ($(scroll_el).length != 0) {
      $('html, body').animate({ scrollTop: $(scroll_el).offset().top - 90 }, 850);
      closeMobMenu();
    }

    return false;
  });
});
