/** * navigation.js * Licensed under the GPLv2 license. * Handles toggling the navigation menu for small screens. */ ( function() { var container, button, menu, holder; container = document.getElementById( 'navigation' ); if ( ! container ) return; button = container.getElementsByTagName( 'button' )[0]; if ( 'undefined' === typeof button ) return; menu = container.getElementsByTagName( 'ul' )[0]; // Hide menu toggle button if menu is empty and return early. if ( 'undefined' === typeof menu ) { button.style.display = 'none'; return; } holder = container.getElementsByTagName( 'div' )[0]; if ( 'undefined' === typeof holder ) return; button.onclick = function() { if ( -1 == menu.className.indexOf( 'mobile-menu' ) ) menu.className = 'menu'; if ( -1 != button.className.indexOf( 'toggled-on' ) ) { button.className = button.className.replace( ' toggled-on', '' ); menu.className = menu.className.replace( ' toggled-on', '' ); menu.className = menu.className.replace( 'mobile-menu', 'menu' ); holder.className = holder.className.replace( 'mobile-menu', 'menu' ); container.className = container.className.replace( 'main-small-navigation', 'navigation-main' ); } else { button.className += ' toggled-on'; menu.className += ' toggled-on'; menu.className = menu.className.replace( 'menu', 'mobile-menu' ); holder.className = holder.className.replace( 'menu', 'mobile-menu' ); container.className = container.className.replace( 'navigation-main', 'main-small-navigation' ); } }; } )();