var CrucialHome = (function () { var fixedTopMenu = document.querySelector('.fixed-top-menu'); var subPageHeader = document.querySelector('.sub-page-header'); var subMainMenu = document.querySelector('.sub-main-menu'); // var $fixedTopMenu = $('.fixed-under-menu'); var $content = $('.main-menu'); var emailInputId; let subMenuOpen = false; let _hideTimer; function bind() { $(window).scroll(function (evt) { var scroll = $(window).scrollTop(); var contentTop = $content.position().top; if (subMainMenu) { if(scroll >= contentTop + 20) { subMainMenu.style.display = 'flex'; subPageHeader.style.padding = '12px 16px'; } else if (scroll === 0) { subMainMenu.style.display = 'none'; subPageHeader.style.padding = '4px 16px'; } } }); $('#btn-signup-footer, #btn-signup-products').on('click', handleSignupClick); $('#btn-signup-front-main').on('click', processFrontSignup); $('#btn-signup-main').on('click', processSignup); $('.modal-close').on('click', hideModal); $('.hamburger').on('click', toggleDropMenu); $('.dropmenu-container .item').on('click', toggleDropMenu); document.getElementById('icon-close-mobile-menu').addEventListener('click', hideDropMenu); $('#video-intro-banner').on('click', showVideoIntro); if (document.getElementById('menu-item-products')) { $('#menu-item-products, #fixed-item-products').on('mouseenter', handleMouseEnter); $('#menu-item-products, #fixed-item-products').on('mouseleave', handleMouseLeave); $('.fixed-sub-menu').on('mouseenter', handleSubMenuMouseEnter); $('.fixed-sub-menu').on('mouseleave', handleSubMenuMouseLeave); } document.body.addEventListener('click', handleBodyClick); const url = new URL(window.location); const pathName = url.pathname; const split = pathName.split('/'); if (split[1] === 'products') { if (split[2] === 'flow-writer') { document.getElementById(`product-menu-flowwriter`).style.fontWeight = 600; document.querySelector(`#product-menu-flowwriter a`).style.color = '#3366CC'; } else { document.getElementById(`product-menu-${split[2]}`).style.fontWeight = 600; document.querySelector(`#product-menu-${split[2]} a`).style.color = '#3366CC'; } } let currentDate = new Date(); document.getElementById('footer-year').innerText = currentDate.getFullYear(); } function handleSubMenuMouseEnter(e) { clearTimeout(_hideTimer); } function handleSubMenuMouseLeave(e) { _hideTimer = setTimeout(hideSubMenu, 500); } function handleMouseEnter(e) { clearTimeout(_hideTimer); showSubMenu(e); } function handleMouseLeave(e) { _hideTimer = setTimeout(hideSubMenu, 500); } function handleBodyClick(e) { if (subMenuOpen && e.target.id !== 'item-products' && e.target.id !== 'fixed-item-products' && e.target.id !== 'icon-angle-products' && !e.target.closest('.main-menu-item') && !e.target.closest('.fixed-sub-menu') ) { hideSubMenu(); } } function showSubMenu(e) { if (subMenuOpen) { hideSubMenu(); } const id = e.currentTarget.id.split('-')[2]; $('#fixed-sub-menu-' + id).show(); $('#fixed-sub-menu-' + id).css( 'top', e.currentTarget.offsetParent.offsetTop + e.currentTarget.offsetHeight + 10 + 'px' ); $('#fixed-sub-menu-' + id).css('left', e.currentTarget.offsetLeft + 'px'); // $('#fixed-sub-menu').css('left', e.currentTarget.offsetParent.offsetLeft - (e.currentTarget.offsetWidth / 2) + 'px'); subMenuOpen = true; } function hideSubMenu(e) { $('.fixed-sub-menu').hide(); subMenuOpen = false; } function toggleDropMenu() { $('.dropmenu-container').toggle(200); } function hideDropMenu() { $('.dropmenu-container').hide(200); } function hideModal() { $('.overlay, .modal').hide(); $('#modal-content').html(''); } function emailIsValid(email) { var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return re.test(email); } function showVideoIntro() { $('.overlay, .modal').show(); $('.modal-close').show(); $('#modal-content').html(''); } function processFrontSignup(e) { var emailInputId = ''; var target = e.currentTarget; if (target.id === 'btn-signup-front-main') { emailInputId = 'email-front-main'; } var dom = document.getElementById(emailInputId); if (!emailIsValid(dom.value)) { if (emailInputId === 'email-front-main') { $('#signup-front-main-error').css('visibility', 'visible'); } document.getElementById(emailInputId).focus(); return; } showModal('