var selector = { }; var states = { }; window.addEventListener('DOMContentLoaded', function() { states.mobileMenu = 'closed'; states.lngMenu = 'closed'; selector.nav = document.getElementById('nav'); selector.product = document.getElementById('product'); selector.menuMobileBtn = document.getElementById('nav-btn'); selector.lngMobileBtn = document.getElementById('nav-lngbtn'); selector.productBtn = document.getElementById('btn_menu_product'); selector.menuMobile = document.getElementById('nav-mobile'); selector.lngMobile = document.getElementById('nav-lngmobile'); selector.menuHomeBtn = document.getElementById('btn_menu_home'); selector.menuProductBtn = document.getElementById('btn_menu_product'); selector.homeProductBtn = document.getElementById('actionbtn'); selector.processList = document.getElementById('list_proccess'); // init nav initNav(); // init scroll initScroll(); // init list initList(); // click on product if(selector.productBtn) selector.productBtn.addEventListener('click',scrollToProductHandler); // click on action if(selector.homeProductBtn) selector.homeProductBtn.addEventListener('click',scrollToProductHandler); // click on mobile menu if(selector.menuMobileBtn){ selector.menuMobileBtn.addEventListener('click',function(e){ e.preventDefault() e.stopPropagation(); if(states.mobileMenu === 'closed'){ closeLngMobile(); openMenuMobile(); return; } closeMenuMobile(); }); } // click on lng menu if(selector.lngMobileBtn){ selector.lngMobileBtn.addEventListener('click',function(e){ e.preventDefault() e.stopPropagation(); if(states.lngMenu === 'closed'){ closeMenuMobile(); openLngMobile(); return; } closeLngMobile(); }); } }); function initNav(){ if(window.pageYOffset > 0) setNavSmall(selector.nav); setTimeout(function(){ selector.nav.classList.add('nav--animation'); },3000); }; function initScroll(){ window.addEventListener("scroll", function(e) { if(window.pageYOffset === 0){ setNavBig(selector.nav); } else { setNavSmall(selector.nav); } if(selector.product){ var position = selector.product.offsetTop; if(window.pageYOffset > (position - 90)){ selector.menuHomeBtn.classList.remove('nav__link--active'); selector.menuProductBtn.classList.add('nav__link--active'); } else { selector.menuProductBtn.classList.remove('nav__link--active'); selector.menuHomeBtn.classList.add('nav__link--active'); } } }); } function initList(){ if(!selector.processList) return false; var items = selector.processList.querySelectorAll(".list__item"); if(!items.length) return false; for(var i = 0; i < items.length;i++){ items[i].addEventListener("click", function(e){ var class_list = this.classList; if(class_list.contains('list__item--open')) class_list.remove('list__item--open'); else class_list.add('list__item--open'); }); } } function setNavSmall(nav){ if(!nav) return false; nav.classList.add('nav--small'); return true; } function setNavBig(nav){ if(!nav) return false; nav.classList.remove('nav--small'); return true; } function scrollToEnd(){ window.scrollTo(0,document.body.scrollHeight); return true; } function scrollToPosition(position){ if(!position || position < 1) return false; $('html, body').animate({ scrollTop: position }, 500); } function scrollToProductHandler(e){ if(!selector.product) return true; e.preventDefault() e.stopPropagation(); var position = selector.product.offsetTop; scrollToPosition(position); }; function closeMenuMobile(){ selector.menuMobile.style.display = 'none'; selector.menuMobileBtn.classList.remove('nav__menubtn--closed'); states.mobileMenu = 'closed'; }; function openMenuMobile(){ selector.menuMobile.style.display = 'block'; selector.menuMobileBtn.classList.add('nav__menubtn--closed'); states.mobileMenu = 'open'; }; function closeLngMobile(){ selector.lngMobile.style.display = 'none'; states.lngMenu = 'closed'; }; function openLngMobile(){ selector.lngMobile.style.display = 'block'; states.lngMenu = 'open'; };