CNVS.Headers = function() { var __core = SEMICOLON.Core; var __base = SEMICOLON.Base; var __modules = SEMICOLON.Modules; var _offset = function() { var elHeader = __core.getVars.elHeader; var elHeaderInc = document.querySelector('.include-header'); __core.getVars.headerOffset = elHeader.offsetTop; if( __core.getVars.elHeader?.classList.contains('floating-header') || elHeaderInc?.classList.contains('include-topbar') ) { __core.getVars.headerOffset = __core.offset(elHeader).top; } __core.getVars.elHeaderWrap?.classList.add('position-absolute'); __core.getVars.headerWrapOffset = __core.getVars.headerOffset + __core.getVars.elHeaderWrap?.offsetTop; __core.getVars.elHeaderWrap?.classList.remove('position-absolute'); if( elHeader.hasAttribute('data-sticky-offset') ) { var headerDefinedOffset = elHeader.getAttribute('data-sticky-offset'); if( headerDefinedOffset == 'full' ) { __core.getVars.headerWrapOffset = __core.viewport().height; var headerOffsetNegative = elHeader.getAttribute('data-sticky-offset-negative'); if( typeof headerOffsetNegative !== 'undefined' ) { if( headerOffsetNegative == 'auto' ) { __core.getVars.headerWrapOffset = __core.getVars.headerWrapOffset - elHeader.offsetHeight - 1; } else { __core.getVars.headerWrapOffset = __core.getVars.headerWrapOffset - Number(headerOffsetNegative) - 1; } } } else { __core.getVars.headerWrapOffset = Number(headerDefinedOffset); } } }; var _sticky = function(stickyOffset) { if( !__core.getVars.elBody.classList.contains('is-expanded-menu') && __core.getVars.mobileSticky != 'true' ) { return true; } if( window.scrollY > stickyOffset ) { if( !__core.getVars.elBody.classList.contains('side-header') ) { __core.getVars.elHeader.classList.add('sticky-header'); _changeMenuClass('sticky'); if( __core.getVars.elBody.classList.contains('is-expanded-menu') && __core.getVars.stickyShrink == 'true' && !__core.getVars.elHeader.classList.contains('no-sticky') ) { if( ( window.scrollY - stickyOffset ) > Number( __core.getVars.stickyShrinkOffset ) ) { __core.getVars.elHeader.classList.add('sticky-header-shrink'); } else { __core.getVars.elHeader.classList.remove('sticky-header-shrink'); } } } } else { _removeSticky(); if( __core.getVars.mobileSticky == 'true' ) { _changeMenuClass('responsive'); } } }; var _removeSticky = function() { __core.getVars.elHeader.className = __core.getVars.headerClasses; __core.getVars.elHeader.classList.remove('sticky-header', 'sticky-header-shrink'); if( __core.getVars.elHeaderWrap ) { __core.getVars.elHeaderWrap.className = __core.getVars.headerWrapClasses; } if( !__core.getVars.elHeaderWrap?.classList.contains('force-not-dark') ) { __core.getVars.elHeaderWrap?.classList.remove('not-dark'); } __base.sliderMenuClass(); }; var _changeMenuClass = function(type) { var newClassesArray = ''; if( 'responsive' == type ) { if( __core.getVars.elBody.classList.contains('is-expanded-menu') ){ return true; } if( __core.getVars.mobileHeaderClasses ) { newClassesArray = __core.getVars.mobileHeaderClasses.split(/ +/); } } else { if( !__core.getVars.elHeader.classList.contains('sticky-header') ){ return true; } if( __core.getVars.stickyHeaderClasses ) { newClassesArray = __core.getVars.stickyHeaderClasses.split(/ +/); } } var noOfNewClasses = newClassesArray.length; if( noOfNewClasses > 0 ) { var i = 0; for( i=0; i