adamstark@114: /* adamstark@114: @licstart The following is the entire license notice for the JavaScript code in this file. adamstark@114: adamstark@114: The MIT License (MIT) adamstark@114: adamstark@114: Copyright (C) 1997-2020 by Dimitri van Heesch adamstark@114: adamstark@114: Permission is hereby granted, free of charge, to any person obtaining a copy of this software adamstark@114: and associated documentation files (the "Software"), to deal in the Software without restriction, adamstark@114: including without limitation the rights to use, copy, modify, merge, publish, distribute, adamstark@114: sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is adamstark@114: furnished to do so, subject to the following conditions: adamstark@114: adamstark@114: The above copyright notice and this permission notice shall be included in all copies or adamstark@114: substantial portions of the Software. adamstark@114: adamstark@114: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING adamstark@114: BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND adamstark@114: NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, adamstark@114: DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, adamstark@114: OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. adamstark@114: adamstark@114: @licend The above is the entire license notice for the JavaScript code in this file adamstark@114: */ adamstark@114: function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { adamstark@114: function makeTree(data,relPath) { adamstark@114: var result=''; adamstark@114: if ('children' in data) { adamstark@114: result+=''; adamstark@114: } adamstark@114: return result; adamstark@114: } adamstark@114: var searchBoxHtml; adamstark@114: if (searchEnabled) { adamstark@114: if (serverSide) { adamstark@114: searchBoxHtml='
'+ adamstark@114: '
'+ adamstark@114: '
 '+ adamstark@114: ''+ adamstark@114: '
'+ adamstark@114: '
'+ adamstark@114: '
'+ adamstark@114: '
'; adamstark@114: } else { adamstark@114: searchBoxHtml='
'+ adamstark@114: ''+ adamstark@114: ' '+ adamstark@114: ''+ adamstark@114: ''+ adamstark@114: ''+ adamstark@114: ''+ adamstark@114: ''+ adamstark@114: '
'; adamstark@114: } adamstark@114: } adamstark@114: adamstark@114: $('#main-nav').before('
'+ adamstark@114: ''+ adamstark@114: ''+ adamstark@114: '
'); adamstark@114: $('#main-nav').append(makeTree(menudata,relPath)); adamstark@114: $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); adamstark@114: if (searchBoxHtml) { adamstark@114: $('#main-menu').append('
  • '); adamstark@114: } adamstark@114: var $mainMenuState = $('#main-menu-state'); adamstark@114: var prevWidth = 0; adamstark@114: if ($mainMenuState.length) { adamstark@114: function initResizableIfExists() { adamstark@114: if (typeof initResizable==='function') initResizable(); adamstark@114: } adamstark@114: // animate mobile menu adamstark@114: $mainMenuState.change(function(e) { adamstark@114: var $menu = $('#main-menu'); adamstark@114: var options = { duration: 250, step: initResizableIfExists }; adamstark@114: if (this.checked) { adamstark@114: options['complete'] = function() { $menu.css('display', 'block') }; adamstark@114: $menu.hide().slideDown(options); adamstark@114: } else { adamstark@114: options['complete'] = function() { $menu.css('display', 'none') }; adamstark@114: $menu.show().slideUp(options); adamstark@114: } adamstark@114: }); adamstark@114: // set default menu visibility adamstark@114: function resetState() { adamstark@114: var $menu = $('#main-menu'); adamstark@114: var $mainMenuState = $('#main-menu-state'); adamstark@114: var newWidth = $(window).outerWidth(); adamstark@114: if (newWidth!=prevWidth) { adamstark@114: if ($(window).outerWidth()<768) { adamstark@114: $mainMenuState.prop('checked',false); $menu.hide(); adamstark@114: $('#searchBoxPos1').html(searchBoxHtml); adamstark@114: $('#searchBoxPos2').hide(); adamstark@114: } else { adamstark@114: $menu.show(); adamstark@114: $('#searchBoxPos1').empty(); adamstark@114: $('#searchBoxPos2').html(searchBoxHtml); adamstark@114: $('#searchBoxPos2').show(); adamstark@114: } adamstark@114: if (typeof searchBox!=='undefined') { adamstark@114: searchBox.CloseResultsWindow(); adamstark@114: } adamstark@114: prevWidth = newWidth; adamstark@114: } adamstark@114: } adamstark@114: $(window).ready(function() { resetState(); initResizableIfExists(); }); adamstark@114: $(window).resize(resetState); adamstark@114: } adamstark@114: $('#main-menu').smartmenus(); adamstark@114: } adamstark@114: /* @license-end */