var hamburgerImage = document.getElementById("hamburger-image"); var crossImage = document.getElementById("cross-image"); var expandingCircle = document.getElementById("expanding-circle"); var expandedMenuContainer = document.getElementById("expanded-menu-container-hide"); var oBody = $('body'); var body = document.body; document.addEventListener("DOMContentLoaded", function(event) { document.body.class = ""; fCenterMenuContainerFix(); }); window.addEventListener("optimizedResize", function(event) { fCenterMenuContainerFix(); }); document.addEventListener("optimizedResize", function(event) { fCenterMenuContainerFix(); }); $('.dropdown').on('shown.bs.dropdown', function() { fCenterMenuContainerFix(); }); $('.dropdown').on('hidden.bs.dropdown', function() { fCenterMenuContainerFix(); }); var nTempScrollTop = 0; var bTransitioning = 0; hamburgerImage.addEventListener("click",fToggleHamburg); function fToggleHamburg(e) { if(expandingCircle.className != "expanded" && !bTransitioning){ bTransitioning = 1; nTempScrollTop = window.pageYOffset || document.documentElement.scrollTop; expandingCircle.className = "expanded"; expandedMenuContainer.className = "expanded-menu-container-show"; hamburgerImage.className = "fa fa-times header-social-icon"; setTimeout(function(){ oBody.css("height", $(window).height() + "px"); oBody.css("overflow", "hidden"); bTransitioning = 0; }, 500); } else if(!bTransitioning) { oBody.css("height", ""); oBody.css("overflow", ""); expandingCircle.className = ""; expandedMenuContainer.className = ""; hamburgerImage.className = "fa fa-bars header-social-icon"; $('html, body').animate({scrollTop: nTempScrollTop}, 50); } e.preventDefault(); } /*throttle of the js resize event to improve performance*/ ;(function() { var throttle = function(type, name, obj) { obj = obj || window; var running = false; var func = function() { if (running) { return; } running = true; requestAnimationFrame(function() { obj.dispatchEvent(new CustomEvent(name)); running = false; }); }; obj.addEventListener(type, func); }; //throttle ("scroll", "optimizedScroll"); throttle("resize", "optimizedResize"); })(); // resize code to help deal with the nav overlapping the header in mobile view landscape // fContainerHeightFix function var oHeaderWrapper = $('#header-wrapper'); var oCenterMenuContainer = $('.center-menu-container'); function fCenterMenuContainerFix() { if ($(window).height() < oCenterMenuContainer[0].scrollHeight + ((oHeaderWrapper.outerHeight() + 10) * 2)) { oCenterMenuContainer.css("overflow", "auto"); oCenterMenuContainer.css("width", "100%"); oCenterMenuContainer.css("top", oHeaderWrapper.outerHeight() + 10 + "px"); oCenterMenuContainer.css("transform", "translateX(-50%)"); oCenterMenuContainer.css("-o-transform", "translateX(-50%)"); oCenterMenuContainer.css("-ms-transform", "translateX(-50%)"); oCenterMenuContainer.css("-moz-transform", "translateX(-50%)"); oCenterMenuContainer.css("-webkit-transform", "translateX(-50%)"); oCenterMenuContainer.css("max-height", ($(window).height() - oHeaderWrapper.outerHeight() - 10 + "px")); $('html').css('overflow', 'auto'); } else { oCenterMenuContainer.removeAttr('style'); $('html').css('overflow', '-moz-scrollbars-vertical'); } };