1(function($) { 2 // Snippet addds navigator.userAgent value to html tag 3 document.documentElement.setAttribute('data-browser', navigator.userAgent); 4 5 $(document).ready(function(){ 6 // Start Interior page hero video 7 if ($('body').hasClass('home-archive') || $('body').hasClass('title-sea-to-stars')) { 8 $noherovideo = true; 9 } else { 10 $noherovideo = false; 11 $winWidthC = $(window).width(); 12 $heroblock = $(".heroblock video"); 13 $herovideoHeight = $heroblock.height(); 14 if($winWidthC > 991) { 15 $herodivlimit = 600; 16 $heroblockDiff = ($herodivlimit-$herovideoHeight)/2; 17 } else if($winWidthC > 767) { 18 $herodivlimit = 520; 19 $heroblockDiff = ($herodivlimit-$herovideoHeight)/2; 20 } else { 21 $herodivlimit = 340; 22 $heroblockDiff = 0; 23 } 24 25 $heroblock.css('margin-top',$heroblockDiff); 26 }// End Interior page hero video 27 28 function resize(e) { 29 var mqsize = window.getComputedStyle(document.body,':after').content.replace(/"|'/g, ''); 30 31 // Start Interior page hero video 32 $winWidthC = $(window).width(); 33 $heroblock = $(".heroblock video"); 34 $herovideoHeight = $heroblock.height(); 35 if($winWidthC > 991) { 36 $herodivlimit = 600; 37 $heroblockDiff = ($herodivlimit-$herovideoHeight)/2; 38 } else if($winWidthC > 767) { 39 $herodivlimit = 520; 40 $heroblockDiff = ($herodivlimit-$herovideoHeight)/2; 41 } else { 42 $herodivlimit = 340; 43 $heroblockDiff = 0; 44 } 45 $heroblock.css('margin-top',$heroblockDiff); 46 // End Interior page hero video 47 48 switch (true) { 49 case (mqsize == 'mobile'): 50 //console.info('Window.width is less than or equal to ' + mqsize); 51 $('.navbar-default .navbar-toggle').addClass('collapsed'); 52 $('.navbar-default .navbar-collapse ul.navbar-nav > li').each(function(index){ 53 $(this).attr('data-val', index); 54 $(this).find('ul.menu > li').each(function(index){ 55 $(this).attr('data-val', index); 56 }); 57 }); 58 $('.navbar-default .navbar-collapse ul.navbar-nav > li a[href*="http"]').attr('target', '_blank'); 59 $('.navbar-collapse.in, .block__lets-talk-block.in').removeClass('in'); 60 $('.navbar-nav li.dropdown').css('transform','translateY(0px)'); 61 $('.navbar-header button.navbar-toggle').off('click'); 62 $('.navbar-header button.navbar-toggle').on('click', function() { 63 // Hide/Show apply now button on global nav 64 if (!$(".apply-now-header").hasClass("apply-hidden")) { 65 $('.apply-now-header').addClass('apply-hidden'); 66 } else { 67 $('.apply-now-header').removeClass('apply-hidden'); 68 } 69 if (!$(".navy-search-block").hasClass("in")) { 70 $('.navy-search-block').addClass('in'); 71 } else { 72 $('.navy-search-block').removeClass('in'); 73 } 74 if (!$(".breadcrumb-header").hasClass("in")) { 75 $('.breadcrumb-header').addClass('in'); 76 } else { 77 $('.breadcrumb-header').removeClass('in'); 78 } 79 $('.navbar-nav, .navbar-nav .open').removeClass('open opensub'); 80 $('.navbar-nav li.dropdown').css('transform','translateY(0px)'); 81 }); 82 83 $('#navbar-collapse ul.navbar-nav > li.dropdown > a.dropdown-toggle').each(function(e){ 84 $(this).off('click'); 85 $(this).on('click', function(event){ 86 event.preventDefault(); 87 event.stopPropagation(); 88 $(this).parent().siblings().removeClass('open'); 89 $('ul.dropdown-menu, ul.dropdown-menu .dropdown-submenu.open').removeClass('open'); 90 if($(this).parent().hasClass('open')) { 91 $(this).parent().removeClass('open'); 92 $(this).parent().css('transform','translateY(0px)'); 93 $(this).parent().parent('.menu.navbar-nav').removeClass('open opensub'); 94 } else { 95 var menutransVal = parseInt($(this).parent().attr('data-val')); 96 var menuSlideup = 'translateY(-' + ((menutransVal*40)+(menutransVal*2)) +'px)'; 97 $(this).parent().css('transform',menuSlideup); 98 $(this).parent().addClass('open'); 99 $(this).parent().parent('.menu.navbar-nav').addClass('open'); 100 } 101 }); 102 }); 103 104 $('#navbar-collapse ul.navbar-nav > li.dropdown .dropdown.dropdown-submenu > a.dropdown-toggle').each(function(e){ 105 $(this).off('click'); 106 $(this).on('click', function(event){ 107 event.preventDefault(); 108 event.stopPropagation(); 109 $(this).parent().siblings().removeClass('open'); 110 if($(this).parent().hasClass('open')) { 111 $(this).parent().removeClass('open'); 112 $('.menu.navbar-nav').removeClass('opensub'); 113 $(this).parent().parent('.menu.dropdown-menu').removeClass('open'); 114 $(this).parent().css('transform','translateY(0px)'); 115 } else { 116 $(this).parent().addClass('open'); 117 $('.menu.navbar-nav').addClass('opensub'); 118 $(this).parent().parent('.menu.dropdown-menu').addClass('open'); 119 var subtransVal = parseInt($(this).parent().attr('data-val')); 120 var submenuSlideup = 'translateY(-' + (((subtransVal*42)+(subtransVal*2))+62) +'px)'; 121 $(this).parent().css('transform',submenuSlideup); 122 } 123 }); 124 }); 125 126 break; 127 128 //case (mqsize == 'desktop'): 129 default: 130 //console.info('Window.width is less than or equal to ' + mqsize); 131 $('.navbar-default .navbar-collapse ul.navbar-nav > li').each(function(index){ 132 $(this).attr('data-val', index); 133 $(this).find('ul.menu > li').each(function(index){ 134 $(this).attr('data-val', index); 135 }); 136 }); 137 $('.navbar-default .navbar-collapse ul.navbar-nav > li a[href*="http"]').attr('target', '_blank'); 138 $('.navbar-nav li.dropdown').removeAttr('style'); 139 $('.navbar-header button.navbar-toggle').off('click'); 140 $('.navbar-header button.navbar-toggle').on('click', function() { 141 if (!$("#block-letstalkheaderblock").hasClass("in")) { 142 //$('html').addClass('lockscroll'); 143 $('#block-letstalkheaderblock').addClass('in'); 144 } else { 145 //$('html').removeClass('lockscroll'); 146 $('#block-letstalkheaderblock').removeClass('in'); 147 } 148 if (!$(".apply-now-header").hasClass("apply-hidden")) { 149 //$('html').addClass('lockscroll'); 150 $('.apply-now-header').addClass('apply-hidden'); 151 } else { 152 //$('html').removeClass('lockscroll'); 153 $('.apply-now-header').removeClass('apply-hidden'); 154 } 155 if (!$(".navy-search-block").hasClass("in")) { 156 $('.navy-search-block').addClass('in'); 157 } else { 158 $('.navy-search-block').removeClass('in'); 159 } 160 if (!$(".breadcrumb-header").hasClass("in")) { 161 $('.breadcrumb-header').addClass('in'); 162 } else { 163 $('.breadcrumb-header').removeClass('in'); 164 } 165 $('.navbar-nav, .navbar-nav .open').removeClass('open opensub'); 166 $('.navbar-nav li.dropdown').removeAttr('style'); 167 }); 168 169 $('#navbar-collapse ul.navbar-nav > li.dropdown > a.dropdown-toggle').each(function(e){ 170 $(this).off('click'); 171 $(this).on('click', function(event){ 172 event.preventDefault(); 173 event.stopPropagation(); 174 $(this).parent().siblings().removeClass('open'); 175 $('ul.dropdown-menu, ul.dropdown-menu .dropdown-submenu.open').removeClass('open'); 176 if($(this).parent().hasClass('open')) { 177 $(this).parent().removeClass('open'); 178 $(this).parent().parent('.menu.navbar-nav').removeClass('open opensub'); 179 } else { 180 //var menuSlideup = 'translateY(-' + (parseInt(($(this).parent().attr('data-val'))*40)+(subtransVal*2)) +'px)'; 181 //var menutransVal = parseInt($(this).parent().attr('data-val')); 182 //var menuSlideup = 'translateY(-' + ((menutransVal*40)+(menutransVal*2)) +'px)'; 183 $(this).parent().addClass('open'); 184 $(this).parent().parent('.menu.navbar-nav').addClass('open'); 185 } 186 }); 187 }); 188 189 $('#navbar-collapse ul.navbar-nav > li.dropdown .dropdown.dropdown-submenu > a.dropdown-toggle').each(function(e){ 190 $(this).off('click'); 191 $(this).on('click', function(event){ 192 event.preventDefault(); 193 event.stopPropagation(); 194 $(this).parent().siblings().removeClass('open'); 195 if($(this).parent().hasClass('open')) { 196 $(this).parent().removeClass('open'); 197 $('.menu.navbar-nav').removeClass('opensub'); 198 $(this).parent().parent('.menu.dropdown-menu').removeClass('open'); 199 } else { 200 $(this).parent().addClass('open'); 201 $('.menu.navbar-nav').addClass('opensub'); 202 $(this).parent().parent('.menu.dropdown-menu').addClass('open'); 203 //var subtransVal = parseInt($(this).parent().attr('data-val')); 204 //var submenuSlideup = 'translateY(-' + (((subtransVal*42)+(subtransVal*2))+62) +'px)'; 205 } 206 }); 207 }); 208 } 209 //console.debug( "Resize method finished funning:\t", { $this: this, $eventArg: e } ); 210 } 211 /** onResize(event) 212 * Called whenever window is resize. 213 * This acts as a buffer between the multiple times resize is fired and the resize method being fired. 214 **/ 215 function onResize(e) { 216 this['__debounce_timer__'] && clearTimeout(this['__debounce_timer__']); 217 this['__debounce_timer__'] = setTimeout($.proxy(resize, this, e), 1000); 218 }
219 // Same as window.addEventListener('resize', onResize); resize(new Event('resize', {})); 220 $(window).on('resize', onResize).trigger('resize'); 221 222 223 /** 224 * Navy Custom Search - Setting 225 * **/ 226 function linkMod () { 227 $('.navy-search-block .search-overlay .searchon .view-content .views-row').on('click', function() { 228 $('body').append('<div class="loading-pn-overlay"></div>'); 229 window.open($(this).find('.search-result-itm-title a').attr('href'),"_self"); 230 }); 231 } 232 $('.navy-search-block .navy-search-icon').on('click', function() { 233 $('button.navbar-toggle').css('display','none'); 234 $('.navy-search-block .search-overlay').css('display','block'); 235 $('.navy-search-block .search-overlay').prepend('<div class="close-search"><span class="cross-lines"></span></div>'); 236 $('html, body').css({ 237 overflow: 'hidden', 238 height: '100%' 239 }); 240 if($('.navy-search-block .search-overlay .searchon .view-content').length == 0) { 241 $('.navy-search-block .search-overlay .searchon nav.pager-nav').remove(); 242 } 243 $('.search-overlay .navy-search input.form-autocomplete').focus(); 244 prepSearchOverlay (); 245 watchSubmitSearch (); 246 }); 247 function prepSearchOverlay () { 248 $('.navy-search-block .search-overlay .close-search').on('click', function() { 249 $('button.navbar-toggle').css('display','block'); 250 $('.navy-search-block .search-overlay').css('display','none'); 251 $('.navy-search-block .search-overlay .close-search').remove(); 252 $('html, body').css({ 253 overflow: 'auto', 254 height: 'auto' 255 }); 256 }); 257 } 258 function paginationBind () { 259 $('.navy-search-block .search-overlay .navy-search nav.pager-nav .pager__item a').on('click', function() { 260 $('body').append('<div class="loading-pn-overlay"></div>'); 261 $(document).ajaxSuccess(function() { 262 $('body .searching-overlay').remove(); 263 $('body .loading-pn-overlay').remove(); 264 watchSubmitSearch (); 265 paginationBind (); 266 linkMod (); 267 }); 268 }); 269 } 270 function watchSubmitSearch () { 271 // Adding Spinner while getting the data 272 var spinner_on = false; 273 var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver; 274 var element = document.querySelector('.searchon .view-filters form#views-exposed-form-navy-search-block-1 button.js-form-submit'); 275 var observer = new MutationObserver(function(mutations) { 276 mutations.forEach(function(mutation) { 277 if (mutation.type == 'attributes') { 278 if(spinner_on == false) { 279 $('body').append('<div class="searching-overlay"></div>'); 280 spinner_on = true; 281 } else { 282 var rawInputText = $('.navy-search-block .search-overlay .navy-search .view-filters .ui-autocomplete-input').val(); 283 var escapedInputText = Drupal.checkPlain(rawInputText); 284 spinner_on = false; 285 setTimeout(function() { // Clear search field from homepage search keyword 286 if(!$('.navy-search-block .search-overlay .navy-search .view-content').length && escapedInputText) { 287 if(!$('.navy-search-block .search-overlay .block-views-blocknavy-search-block-1 > .form-group .view-empty').length) { 288 $('.navy-search-block .search-overlay .block-views-blocknavy-search-block-1 > .form-group').append('<div class="view-empty">Sorry, we couldn\'t find any results matching "<b class="noMatchWord"><i>' + escapedInputText.replace(/(<([^>]+)>)/ig,"") + '</i></b>"</div>'); 289 } else { 290 $('.navy-search-block .search-overlay .block-views-blocknavy-search-block-1 > .form-group .view-empty').html('Sorry, we couldn\'t find any results matching "<b class="noMatchWord"><i>' + escapedInputText.replace(/(<([^>]+)>)/ig,"") + '</i></b>"'); 291 } 292 } else { 293 $('.navy-search-block .search-overlay .block-views-blocknavy-search-block-1 .form-group .view-empty').remove(); 294 } 295 paginationBind (); 296 watchSubmitSearch (); 297 linkMod (); 298 searchFocusA (); 299 $('body .searching-overlay').remove(); 300 }, 500); 301 } 302 } 303 }); 304 305 }); 306 observer.observe(element, { 307 attributes: true 308 }); 309 } 310 function searchFocusA () { 311 var searchInput = $('.search-overlay .navy-search input.form-autocomplete'); 312 var strLength = searchInput.val().length * 2; 313 searchInput.focus(); 314 searchInput[0].setSelectionRange(strLength, strLength); 315 } 316 $('.navy-search-block .searching-overlay').remove(); 317 $('ul.search-api-autocomplete-search').on('click', 'li.ui-menu-item a.ui-menu-item-wrapper .search-api-autocomplete-suggestion .autocomplete-suggestion-label', function() { 318 $('body').append('<div class="loading-pn-overlay"></div>'); 319 }); 320 /** End Navy Custom Search - Setting **/ 321 322 setTimeout(function(){ 323 //showing search icon after page loads 324 325 $('.navy-search-block').css('display','block'); 326 327 }, 100); 328 $('.path-sitemap .sitemap-plugin--menu div ul').removeClass('dropdown-menu'); 329 }); 330 $('.footer .region-footer .logo > img').attr('src', '/themes/custom/navycom/assets/images/footer-logo.png'); 331 332 function updateFavicons() { 333 334 const isDark = window.matchMedia('(prefers-color-scheme: dark)').matches; 335 let epoch = new Date().getTime(); 336 const suffix = isDark ? '-dark' : ''; 337 338 // Update favicons 339 document.getElementById('apple-touch-icon').href = '/themes/custom/navycom/apple-touch-icon' + suffix + '.png' + '?v=' + epoch; 340 document.getElementById('favicon-32').href = '/themes/custom/navycom/favicon-32x32' + suffix + '.png' + '?v=' + epoch; 341 document.getElementById('favicon-16').href = '/themes/custom/navycom/favicon-16x16' + suffix + '.png' + '?v=' + epoch; 342 document.getElementById('favicon-ico').href = '/themes/custom/navycom/favicon' + suffix + '.ico' + '?v=' + epoch; 343 document.getElementById('manifest').href = '/themes/custom/navycom/site' + suffix + '.webmanifest' + '?v=' + epoch; 344 345 // Update theme color
346 const themeColor = document.querySelector('meta[name="theme-color"]') || 347 document.createElement('meta'); 348 themeColor.name = 'theme-color'; 349 themeColor.content = isDark ? '#000000' : '#ffffff'; 350 351 if (!document.querySelector('meta[name="theme-color"]')) { 352 document.head.appendChild(themeColor); 353 } else { 354 themeColor.content = isDark ? '#000000' : '#ffffff'; 355 } 356 } 357 358 // Run on load 359 document.addEventListener("DOMContentLoaded", function() { 360 updateFavicons(); 361 }); 362 363 // Listen for theme changes 364 document.addEventListener("DOMContentLoaded", function() { 365 window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', updateFavicons); 366 }); 367 368 $('.video-embed-field-lazy-play').attr('aria-label', 'Play video'); 369})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.