1(function ($) { 2 'use strict'; 3 4 var AUTOPLAY_SPEED = 5000; 5 6 function formatSlideNumber(index) { 7 var num = index + 1; 8 return num < 10 ? '0' + num : String(num); 9 } 10 11 function initOneColumnSlider() { 12 $('.mt_one_column_slider_section').each(function () { 13 var $section = $(this); 14 var $slider = $section.find('.mt_one_column_slider.mt_slider'); 15 16 if (!$slider.length || !$slider.hasClass('slick-initialized')) { 17 return; 18 } 19 20 var $dots = $section.find('.mt_one_column_slider_dot'); 21 var $current = $section.find('.mt_one_column_slider_current'); 22 var $pauseBtn = $section.find('.mt_play'); 23 24 $slider.slick('slickSetOption', 'autoplay', true, true); 25 $slider.slick('slickSetOption', 'autoplaySpeed', AUTOPLAY_SPEED, true); 26 $slider.slick('slickSetOption', 'infinite', true, true); 27 $slider.slick('slickPlay'); 28 $pauseBtn.removeClass('paused'); 29 30 function setActiveSlide(index) { 31 $dots.removeClass('is-active').find('button').attr('aria-selected', 'false'); 32 $dots.eq(index).addClass('is-active').find('button').attr('aria-selected', 'true'); 33 $current.text(formatSlideNumber(index)); 34 $pauseBtn.attr( 35 'aria-label', 36 $pauseBtn.hasClass('paused') ? 'Play slideshow' : 'Pause slideshow' 37 ); 38 } 39 40 $section.find('.mt_one_column_slider_dot button').on('click', function () { 41 var slideIndex = parseInt($(this).data('slide'), 10); 42 $slider.slick('slickGoTo', slideIndex); 43 setActiveSlide(slideIndex); 44 }); 45 46 $pauseBtn.on('click.oneColumnSliderAria', function () { 47 var $btn = $(this); 48 window.setTimeout(function () { 49 $btn.attr( 50 'aria-label', 51 $btn.hasClass('paused') ? 'Play slideshow' : 'Pause slideshow' 52 ); 53 }, 0); 54 }); 55 56 $slider.on('afterChange', function (event, slick, currentSlide) { 57 setActiveSlide(currentSlide); 58 }); 59 }); 60 } 61 62 function initAccordionImageSlider() { 63 $('.mt_accordion_image_slider_section').each(function () { 64 var $section = $(this); 65 var $slider = $section.find('.mt_accordion_image_slider_carousel'); 66 var $items = $section.find('.mt_accordion_item'); 67 var $dots = $section.find('.mt_accordion_image_slider_dot'); 68 var $current = $section.find('.mt_accordion_image_slider_current'); 69 70 function setActiveSlide(index) { 71 $dots.removeClass('is-active').find('button').attr('aria-selected', 'false'); 72 $dots.eq(index).addClass('is-active').find('button').attr('aria-selected', 'true'); 73 $current.text(index + 1); 74 } 75 76 $section.find('.mt_accordion_trigger').on('click', function () { 77 var $item = $(this).closest('.mt_accordion_item'); 78 var $trigger = $item.find('.mt_accordion_trigger'); 79 var $panel = $item.find('.mt_accordion_panel'); 80 var isOpen = $item.hasClass('is-open'); 81 82 $items.find('.mt_accordion_panel').stop(true, true); 83 84 $items.removeClass('is-open'); 85 $items.find('.mt_accordion_trigger').attr('aria-expanded', 'false'); 86 $items.find('.mt_accordion_panel').slideUp(300, function () { 87 $(this).attr('hidden', 'hidden'); 88 }); 89 90 if (!isOpen) { 91 $item.addClass('is-open'); 92 $trigger.attr('aria-expanded', 'true'); 93 $panel.removeAttr('hidden').hide().slideDown(300); 94 95 var sectionIndex = parseInt($item.data('section'), 10); 96 if ($slider.length && $slider.hasClass('slick-initialized')) { 97 $slider.slick('slickGoTo', sectionIndex);
98 setActiveSlide(sectionIndex); 99 } 100 } 101 }); 102 103 if ($slider.length && !$slider.hasClass('slick-initialized')) { 104 $slider.slick({ 105 rows: 0, 106 dots: false, 107 arrows: false, 108 infinite: false, 109 fade: true, 110 speed: 800, 111 cssEase: 'ease-in-out', 112 pauseOnHover: false, 113 pauseOnFocus: false, 114 useTransform: true, 115 lazyLoad: 'ondemand' 116 }); 117 } 118 119 if ($slider.length && $slider.hasClass('slick-initialized')) { 120 $section.find('.mt_accordion_image_slider_dot button').on('click', function () { 121 var slideIndex = parseInt($(this).data('slide'), 10); 122 $slider.slick('slickGoTo', slideIndex); 123 setActiveSlide(slideIndex); 124 }); 125 126 $slider.on('afterChange', function (event, slick, currentSlide) { 127 setActiveSlide(currentSlide); 128 }); 129 } 130 }); 131 } 132 133 $(function () { 134 setTimeout(function () { 135 initOneColumnSlider(); 136 initAccordionImageSlider(); 137 }, 0); 138 }); 139})(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.