1$(function () { 2 var resizeTo; 3 4 $(window).on('resize', windowSize); 5 6 $(window).on('load resize', windowSize); 7 8 windowSize(); 9 10 initContentSwitcher(); 11 initArticleSelect(); 12 13 $('#back-top').hide(); 14 15 $(window).scroll(function () { 16 if ($(this).scrollTop() > 700) { 17 $('#back-top').fadeIn(); 18 } else { 19 $('#back-top').fadeOut(); 20 } 21 }); 22 23 $('#back-top a').click(function () { 24 $('body,html').animate( 25 { 26 scrollTop: 0, 27 }, 28 800 29 ); 30 return false; 31 }); 32 33 $('.top-contact__bars label.hamburger').click(function () { 34 $(this).toggleClass('-active'); 35 if ($(this).hasClass('-active')) { 36 $('body').css({ overflow: 'hidden' }); 37 } else { 38 $('body').css({ overflow: 'auto' }); 39 } 40 }); 41 42 $('.partners__gallery').slick({ 43 infinite: true, 44 slidesToShow: 4, 45 slidesToScroll: 1, 46 prevArrow: '<div class="angle-left"></div>', 47 nextArrow: '<div class="angle-right"></div>', 48 responsive: [ 49 { 50 breakpoint: 1200, 51 settings: { 52 slidesToShow: 2, 53 slidesToScroll: 1, 54 infinite: true, 55 dots: false, 56 }, 57 }, 58 { 59 breakpoint: 750, 60 settings: { 61 slidesToShow: 1, 62 slidesToScroll: 1, 63 }, 64 }, 65 ], 66 }); 67 68 $('.partners__items.-gallery').slick({ 69 infinite: true, 70 slidesToShow: 3, 71 slidesToScroll: 1, 72 prevArrow: '<div class="angle-left"></div>', 73 nextArrow: '<div class="angle-right"></div>', 74 responsive: [ 75 { 76 breakpoint: 1024, 77 settings: { 78 slidesToShow: 2, 79 slidesToScroll: 2, 80 infinite: true, 81 dots: false, 82 }, 83 }, 84 { 85 breakpoint: 600, 86 settings: { 87 slidesToShow: 2, 88 slidesToScroll: 2, 89 }, 90 }, 91 { 92 breakpoint: 480, 93 settings: { 94 slidesToShow: 1, 95 slidesToScroll: 1, 96 }, 97 }, 98 ], 99 }); 100 101 $('.gallery__items').slick({ 102 infinite: true, 103 slidesToShow: 1, 104 slidesToScroll: 1, 105 dots: false, 106 prevArrow: '<div class="angle-left"></div>', 107 nextArrow: '<div class="angle-right"></div>', 108 }); 109 110 $('.js-video-gallery').slick({ 111 infinite: true, 112 slidesToShow: 4, 113 slidesToScroll: 1, 114 dots: false, 115 prevArrow: '<div class="angle-left"></div>', 116 nextArrow: '<div class="angle-right"></div>', 117 responsive: [ 118 { 119 breakpoint: 1024, 120 settings: { 121 slidesToShow: 2, 122 slidesToScroll: 2, 123 infinite: true, 124 dots: false, 125 }, 126 }, 127 { 128 breakpoint: 480, 129 settings: { 130 slidesToShow: 1, 131 slidesToScroll: 1, 132 }, 133 }, 134 ], 135 }); 136 137 $('.-js-infoblock-gallery').each(function () { 138 var $slider = $(this); 139 140 $slider.slick({ 141 infinite: true, 142 slidesToShow: 3, 143 slidesToScroll: 1, 144 adaptiveHeight: true, 145 dots: false, 146 prevArrow: '<div class="angle-left"></div>', 147 nextArrow: '<div class="angle-right"></div>', 148 responsive: [ 149 { 150 breakpoint: 1024, 151 settings: { 152 slidesToShow: 2, 153 slidesToScroll: 2, 154 infinite: true, 155 }, 156 }, 157 { 158 breakpoint: 480, 159 settings: { 160 slidesToShow: 1, 161 slidesToScroll: 1, 162 }, 163 }, 164 ], 165 }); 166 }); 167 168 $('.-js-veterans-gallery').slick({ 169 infinite: true, 170 slidesToShow: 4, 171 slidesToScroll: 1, 172 adaptiveHeight: true, 173 dots: true, 174 prevArrow: '<div class="angle-left"></div>', 175 nextArrow: '<div class="angle-right"></div>', 176 responsive: [ 177 { 178 breakpoint: 1240, 179 settings: { 180 slidesToShow: 3, 181 slidesToScroll: 1, 182 infinite: true, 183 }, 184 }, 185 { 186 breakpoint: 860, 187 settings: { 188 slidesToShow: 2, 189 slidesToScroll: 1, 190 }, 191 }, 192 { 193 breakpoint: 640, 194 settings: { 195 slidesToShow: 1, 196 slidesToScroll: 1, 197 }, 198 }, 199 ], 200 }); 201 202 $('.-js-content-sider').slick({ 203 infinite: true, 204 slidesToShow: 1, 205 slidesToScroll: 1, 206 dots: false, 207 prevArrow: '<div class="angle-left-bg"></div>', 208 nextArrow: '<div class="angle-right-bg"></div>', 209 responsive: [ 210 { 211 breakpoint: 1024, 212 settings: { 213 slidesToShow: 1, 214 slidesToScroll: 2, 215 infinite: true, 216 }, 217 }, 218 { 219 breakpoint: 480, 220 settings: { 221 slidesToShow: 1, 222 slidesToScroll: 1, 223 }, 224 }, 225 ], 226 }); 227 228 $('.js-news-gallery').slick({ 229 infinite: true, 230 slidesToShow: 3, 231 slidesToScroll: 1, 232 dots: false, 233 prevArrow: '<div class="angle-left"></div>', 234 nextArrow: '<div class="angle-right"></div>', 235 responsive: [ 236 { 237 breakpoint: 1024, 238 settings: { 239 slidesToShow: 2, 240 slidesToScroll: 2, 241 infinite: true, 242 dots: false, 243 }, 244 }, 245 { 246 breakpoint: 480, 247 settings: { 248 slidesToShow: 1, 249 slidesToScroll: 1, 250 }, 251 }, 252 ], 253 }); 254 $('[data-fancybox="gallery-fancybox"]').fancybox({ 255 protect: true, 256 }); 257 258 $('.resources-gallery').slick({ 259 infinite: true, 260 slidesToShow: 1, 261 slidesToScroll: 1, 262 adaptiveHeight: true, 263 dots: false, 264 prevArrow: '<div class="angle-left-l0"></div>', 265 nextArrow: '<div class="angle-right-r0"></div>', 266 responsive: [ 267 { 268 breakpoint: 1024, 269 settings: { 270 slidesToShow: 2, 271 slidesToScroll: 2, 272 infinite: true, 273 }, 274 }, 275 { 276 breakpoint: 480, 277 settings: { 278 slidesToShow: 1, 279 slidesToScroll: 1, 280 }, 281 }, 282 ], 283 }); 284 $('.-js-gallery-grief').slick({ 285 infinite: true, 286 slidesToShow: 3, 287 slidesToScroll: 1, 288 adaptiveHeight: true, 289 dots: false, 290 prevArrow: '<div class="angle-left-l0"></div>', 291 nextArrow: '<div class="angle-right-r0"></div>', 292 responsive: [ 293 { 294 breakpoint: 1024, 295 settings: { 296 slidesToShow: 2, 297 slidesToScroll: 2, 298 infinite: true, 299 }, 300 }, 301 { 302 breakpoint: 480, 303 settings: { 304 slidesToShow: 1, 305 slidesToScroll: 1, 306 }, 307 }, 308 ], 309 }); 310 311 var $toggleBtn = $('.toggleSearchBtn'); 312 var $searchForm = $('#searchForm'); 313 314 $toggleBtn.on('click', function (e) { 315 e.preventDefault(); 316 317 if ($searchForm.is(':hidden') || $searchForm.width() === 0) { 318 $searchForm.show().animate( 319 { width: '235px' }, 320 { 321 duration: 300, 322 complete: function () { 323 $toggleBtn.addClass('-hide'); 324 }, 325 } 326 ); 327 } else { 328 $searchForm.animate( 329 { width: 0 }, 330 { 331 duration: 300, 332 complete: function () { 333 $searchForm.hide(); 334 $toggleBtn.removeClass('-hide'); 335 }, 336 } 337 ); 338 } 339 }); 340 341 $(document).on('click', function (e) { 342 if ( 343 !$toggleBtn.is(e.target) && 344 $toggleBtn.has(e.target).length === 0 && 345 !$searchForm.is(e.target) && 346 $searchForm.has(e.target).length === 0 && 347 !$searchForm.is(':hidden') 348 ) { 349 $searchForm.animate( 350 { width: 0 }, 351 { 352 duration: 300, 353 complete: function () { 354 $searchForm.hide(); 355 $toggleBtn.removeClass('-hide'); 356 }, 357 } 358 ); 359 } 360 }); 361}); 362 363function windowSize() { 364 //function windowSize() { 365 if (resizeTo != 'big' && $(window).width() <= 1200) { 366 resizeTo = 'big'; 367 if (!$('.content-block__aside').hasClass('-hide')) { 368 $('#toggleNavBtn').click(); 369 } 370 } else if (resizeTo != 'small' && $(window).width() > 1200) { 371 resizeTo = 'small'; 372 if ($('.content-block__aside').hasClass('-hide')) { 373 $('#toggleNavBtn').click(); 374 } 375 } 376 //} 377 378 if ($(window).width() <= '600') { 379 $('[data-bg-mobile]').each(function () { 380 var attr = $(this).attr('data-bg-mobile'); 381 if (attr) { 382 $(this).css('background-image', 'url(' + attr + ')'); 383 } 384 }); 385 386 $('[data-src-mobile]').each(function () { 387 var attr = $(this).attr('data-src-mobile'); 388 if (attr) { 389 $(this).attr('src', attr); 390 } 391 }); 392 } else { 393 $('[data-bg-mobile]').each(function () { 394 var attr = $(this).attr('data-bg'); 395 if (attr) { 396 $(this).css('background-image', 'url(' + attr + ')'); 397 } 398 }); 399 400 $('[data-src-mobile]').each(function () { 401 var attr = $(this).attr('data-src'); 402 if (attr) { 403 $(this).attr('src', attr); 404 } 405 }); 406 } 407} 408 409function initContentSwitcher() { 410 $(document).on('click', '.js-nav-el', function () { 411 $('.js-nav-el').removeClass('-active'); 412 $(this).addClass('-active'); 413 $('.js-content-el').hide(); 414 var id = $(this).attr('data-content-id'); 415 $('.js-content-el#content-' + id).show(); 416 }); 417} 418 419function initArticleSelect() { 420 $(document).on('click', '.js-article-card', function (e) { 421 e.preventDefault(); 422 var articleId = $(this).attr('data-article-id'); 423 updateQueryString('articleId', articleId); 424 var data = { 425 articleId: articleId, 426 }; 427 refreshResults(data); 428 }); 429} 430 431var $page = $('html, body'); 432$('a[href*="#"]').click(function () { 433 $page.animate( 434 { 435 scrollTop: $($.attr(this, 'href')).offset().top, 436 }, 437 400 438 ); 439 return false;
440}); 441 442$('#toggleNavBtn').click(function () { 443 var $aside = $(this).next('.content-block__aside'); 444 var $parent = $aside.parent('.content-aside'); 445 446 if ($aside.hasClass('-hide')) { 447 $(this).text('â Hide navigation'); 448 } else { 449 $(this).text('â° Show navigation'); 450 } 451 452 $aside.toggleClass('-hide'); 453 $parent.toggleClass('-hide'); 454}); 455 456$('.info-block__btn-block').click(function () { 457 $('.-js-infoblock-gallery').slick('refresh'); 458 $('.-js-veterans-gallery').slick('refresh'); 459 $(this).toggleClass('-active'); 460 $(this) 461 .parents('.info-block__info-item') 462 .find('.info-block__text-hidden') 463 .slideToggle(); 464}); 465 466$('.button.-js-more').click(function () { 467 var btn = $(this); 468 469 btn.prev('.info-block__text-hidden').toggle('show'); 470 471 if (btn.hasClass('-js-more')) { 472 btn.parent().find('.info-block__text').addClass('-active'); 473 btn 474 .removeClass('-js-more') 475 .addClass('-js-less') 476 .html('Read Less <span>âº</span>'); 477 } else { 478 btn.parent().find('.info-block__text').removeClass('-active'); 479 btn 480 .removeClass('-js-less') 481 .addClass('-js-more') 482 .html('Continue Reading <span>âº</span>'); 483 } 484}); 485 486$(window).keyup(function (e) { 487 var target = $('.checkbox-btn-group input:focus'); 488 if (e.keyCode == 9 && $(target).length) { 489 $(target).parent().addClass('focused'); 490 } 491}); 492 493$('.checkbox-btn-group input').focusout(function () { 494 $(this).parent().removeClass('focused'); 495}); 496 497$('.slide-btn').click(function () { 498 $('.slide-btn,.resources').removeClass('-active'); 499 $('.resources-gallery.slick-initialized').slick('unslick'); 500 $(this).toggleClass('-active'); 501 var index = $(this).index(); 502 var resources = $('.resources').eq(index); 503 resources.addClass('-active'); 504 $('.resources-gallery', resources).slick({ 505 infinite: true, 506 slidesToShow: 1, 507 slidesToScroll: 1, 508 509 adaptiveHeight: true, 510 dots: false, 511 prevArrow: '<div class="angle-left-l0"></div>', 512 nextArrow: '<div class="angle-right-r0"></div>', 513 responsive: [ 514 { 515 breakpoint: 480, 516 settings: { 517 slidesToShow: 1, 518 slidesToScroll: 1, 519 }, 520 }, 521 ], 522 }); 523}); 524$('.slide-btn:first').click(); 525var $page = $('html, body'); 526$('.return-btn').click(function () { 527 $page.animate( 528 { 529 scrollTop: $($.attr(this, 'href')).offset().top, 530 }, 531 400 532 ); 533 return false; 534}); 535$(document).on('click', '.faq__item-icon', function () { 536 $(this).toggleClass('-active'); 537 $(this).parents('.faq__item').find('.faq__item-info').slideToggle(); 538}); 539$('.map-info__item-icon').click(function () { 540 $(this).toggleClass('-active'); 541 $(this).parents('.map-info__item').find('.map-info__item-info').slideToggle(); 542}); 543 544$(window).keyup(function (e) { 545 var target = $('.checkbox-btn-group input:focus'); 546 if (e.keyCode == 9 && $(target).length) { 547 $(target).parent().addClass('focused'); 548 } 549}); 550 551$('.checkbox-btn-group input').focusout(function () { 552 $(this).parent().removeClass('focused'); 553}); 554 555$('.-js-gallery-home').slick({ 556 infinite: true, 557 slidesToShow: 1, 558 slidesToScroll: 1, 559 adaptiveHeight: true, 560 dots: false, 561 prevArrow: '<div class="angle-left-l0"></div>', 562 nextArrow: '<div class="angle-right-r0"></div>', 563}); 564 565var nowyear = new Date().getFullYear(); 566var month = new Date().toLocaleString('en-EN', { month: 'long' }); 567 568$('.calendar-year__item').html(nowyear); 569$('.calendar-mounth__item') 570 .text(month) 571 .data({ monthNum: new Date().getMonth() }); 572 573$('.year-left').click(function () { 574 var year = parseInt($('.calendar-year__item').html()); 575 year--; 576 $('.calendar-year__item').html(year); 577 $('.blog-filter__input-y').val(year); 578 $('.calendar-input').val($('.calendar-mounth__item').html() + ' ' + year); 579 $('.year-right').removeClass('-noactive'); 580}); 581$('.year-right').click(function () { 582 var year = parseInt($('.calendar-year__item').html()); 583 year++; 584 if (year > nowyear) { 585 return; 586 } 587 $('.calendar-year__item').html(year); 588 $('.blog-filter__input-y').val(year); 589 $('.calendar-input').val($('.calendar-mounth__item').html() + ' ' + year); 590 if (year == nowyear) { 591 $('.year-right').addClass('-noactive'); 592 } 593}); 594 595$('.mounth-left').click(function () { 596 var monthNum = $('.calendar-mounth__item').data('monthNum'); 597 monthNum--; 598 if (monthNum < 0) { 599 monthNum = 11; 600 } 601 var date = new Date(); 602 date.setMonth(monthNum);
603 var month = date.toLocaleString('en-EN', { month: 'long' }); 604 $('.calendar-mounth__item').text(month).data({ monthNum: monthNum }); 605 $('.blog-filter__input-m').val(monthNum); 606 $('.calendar-input').val(month + ' ' + $('.calendar-year__item').html()); 607}); 608 609$('.mounth-right').click(function () { 610 var monthNum = $('.calendar-mounth__item').data('monthNum'); 611 monthNum++; 612 if (monthNum > 11) { 613 monthNum = 0; 614 } 615 var date = new Date(); 616 date.setMonth(monthNum); 617 var month = date.toLocaleString('en-EN', { month: 'long' }); 618 $('.calendar-mounth__item').text(month).data({ monthNum: monthNum }); 619 $('.blog-filter__input-m').val(monthNum); 620 $('.calendar-input').val(month + ' ' + $('.calendar-year__item').html()); 621}); 622 623$('.calendar-input').click(function () { 624 $('.calendar').toggle(); 625}); 626 627$(document).mouseup(function (e) { 628 var calendar = $('.calendar,.calendar-input'); 629 if (!calendar.is(e.target) && calendar.has(e.target).length === 0) { 630 $('.calendar').hide(); 631 } 632}); 633 634document.addEventListener('keydown', function (e) { 635 if (e.keyCode == 27) { 636 $('.calendar').hide(); 637 } 638}); 639 640//audio 641 642$(function () { 643 const $audio = $('#audio-element')[0]; 644 const $sources = $('#audio-element source'); 645 const playlist = $sources 646 .map((_, el) => { 647 const src = $(el).attr('src'); 648 const title = $(el).data('title') || ` ${$sources.index(el) + 1}`; 649 console.log(`â ${$sources.index(el) + 1}:`, src); 650 return { src, title }; 651 }) 652 .get(); 653 654 let curIdx = 0; 655 656 function loadTrack(idx) { 657 const track = playlist[idx]; 658 $audio.src = track.src; 659 $audio.load(); 660 console.log(`â¶: ${track.title} (${track.src})`); 661 } 662 663 loadTrack(curIdx); 664 665 const $playBtn = $('#play-pause-btn'); 666 const $prevBtn = $('#prev-btn'); 667 const $nextBtn = $('#next-btn'); 668 const $progress = $('#progress-bar'); 669 const $curTime = $('#current-time'); 670 const $totTime = $('#total-time'); 671 const $volIcon = $('#volume-icon'); 672 const $volBox = $('#volume-vertical'); 673 const $volRange = $volBox.find('input'); 674 675 $audio.addEventListener('loadedmetadata', () => { 676 $totTime.text(formatTime($audio.duration)); 677 $progress.attr('max', Math.floor($audio.duration)); 678 console.log(`â± track: ${formatTime($audio.duration)}`); 679 }); 680 681 $audio.addEventListener('timeupdate', () => { 682 $curTime.text(formatTime($audio.currentTime)); 683 $progress.val(Math.floor($audio.currentTime)); 684 685 $progress.toggleClass('playing', !$audio.paused); 686 }); 687 688 $progress.on('input change', function () { 689 $audio.currentTime = $(this).val(); 690 }); 691 692 $playBtn.on('click', () => { 693 if ($audio.paused) { 694 $audio 695 .play() 696 .then(() => console.log('â¶ Play')) 697 .catch((err) => console.error('â ï¸ Error play():', err)); 698 $playBtn.addClass('pause-audio'); 699 } else { 700 $playBtn.removeClass(); 701 $audio.pause(); 702 $playBtn.addClass('play-audio'); 703 } 704 }); 705 706 $prevBtn.on('click', () => { 707 curIdx = (curIdx - 1 + playlist.length) % playlist.length; 708 loadTrack(curIdx); 709 $audio.play().catch((err) => console.error(err)); 710 $playBtn.addClass('pause-audio'); 711 }); 712 713 $nextBtn.on('click', () => { 714 curIdx = (curIdx + 1) % playlist.length; 715 loadTrack(curIdx); 716 $audio.play().catch((err) => console.error(err)); 717 $playBtn.addClass('pause-audio'); 718 }); 719 720 $audio.addEventListener('ended', () => $nextBtn.trigger('click')); 721 722 $volIcon.on('click', () => $volBox.toggleClass('hidden')); 723 724 $volRange.on('input change', () => { 725 $audio.volume = Number($volRange.val()); 726 console.log(`ð Volume: ${$audio.volume}`); 727 }); 728 729 function formatTime(seconds) { 730 const mins = Math.floor(seconds / 60); 731 const secs = Math.floor(seconds % 60); 732 return `${String(mins).padStart(2, '0')}
732:${String(secs).padStart(2, '0')}`; 733 } 734});
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.