googletag.cmd.push(function() { const BILLBOARD_ADUNIT_CODE = 'jsid-ad-container-billboard'; var complete = false; var hasViewed = false; var hasScrolled = false; var slotEl; var slotRenderEndedListener = function(event, remove = false) { if (complete) { return; } // if (event && event.slot) { // const slotId = event.slot.getSlotElementId(); // if (!slotId.startsWith(BILLBOARD_ADUNIT_CODE)) { // return; // } // slotEl = document.getElementById(slotId); // } if (slotEl) { const billboardWrapper = document.querySelector('.billboard-flexsider-ad'); if (billboardWrapper) { const navBar = document.getElementById('top-nav'); if (remove) { if (hasScrolled && hasViewed) { googletag.pubads().removeEventListener("impressionViewable", impressionViewableListener); setTimeout(function() { billboardWrapper.style.top = '-' + billboardWrapper.offsetHeight + 'px'; navBar.style.top = '0px'; var transitionListener = function(event) { billboardWrapper.removeEventListener("transitionend", transitionListener); document.body.classList.remove('billboard-sticky'); ayManagerEnv.destroy([BILLBOARD_ADUNIT_CODE]); billboardWrapper.remove(); }; billboardWrapper.addEventListener("transitionend", transitionListener); }, 1000); } else if (hasScrolled) { setTimeout(function() { slotRenderEndedListener(event, true); }, 5000); } } else { navBar.style.top = event.creative_height + 'px'; document.body.classList.add('billboard-sticky'); } } } }; var impressionViewableListener = function(event) { hasViewed = true; slotRenderEndedListener(event, true); }; var impressionListener = function(event) { var payload = event.data.payload; if (!payload.slotId.startsWith(BILLBOARD_ADUNIT_CODE)) { return; } slotEl = document.getElementById(payload.slotId); slotRenderEndedListener(payload, false); // window.removeEventListener('assertive_logImpression', impressionListener); }; window.addEventListener('assertive_logImpression', impressionListener); googletag.pubads().addEventListener("impressionViewable", impressionViewableListener); var scrollListener = function(event) { hasScrolled = true; slotRenderEndedListener(null, true); document.removeEventListener('scroll', scrollListener); } document.addEventListener('scroll', scrollListener); var path = window.location.pathname; ayManagerEnv.onEvent('beforePageChange', function() { if (path !== window.location.pathname) { path = window.location.pathname; const topNav = document.getElementById('top-nav'); if (topNav) { topNav.style.transition = 'none'; topNav.style.top = null; setTimeout(function() { topNav.style.transition = null; }, 0); } } }); });