{"version":3,"sources":["20220822Gobackpack_functions.js"],"names":["initVideoGrid","vid","document","getElementById","changeVideoSize","size","videoSource","$","attr","autoplay","load","console","log","loadVideo","sm","window","matchMedia","md","lg","xl","addEventListener","matches","contains","onloadeddata","classList","add","onresize","elements","querySelectorAll","check","entries","map","entry","isIntersecting","target","observer","unobserve","closePopUpVideo","IntersectionObserver","cards","forEach","elem","observe","togglers","sliderParticipants","toggler","closest","toggle","Swiper","slidesPerView","loop","spaceBetween","effect","fadeEffect","crossFade","speed","navigation","nextEl","prevEl","scrollbar","el","draggable","autoHeight","pagination","type","slidersPrecamp","on","card","remove","jQuery","documentElement","body","animate","scrollTop","parent","offset","top","slidersJourney","i","breakpoints","600","centeredSlides","initialSlide","900","sliderProducts","grabCursor","creativeEffect","prev","shadow","translate","next","slidesPerGroup","freeMode","enabled","sticky","1200","playVideoBtns","msdwPopupVideoWrapper","querySelector","msdwPopupVideoBackDrop","msdwPopupVideo","scaleAmount","playVideoBtn","e","preventDefault","videoUrl","getAttribute","setAttribute","muted","play","pause","currentTime","onkeydown","keyCode","scrollZoom","images","observerConfig","rootMargin","threshold","percentageSeen","element","parentNode","viewportHeight","innerHeight","scrollY","elPosY","getBoundingClientRect","borderHeight","parseFloat","getComputedStyle","getPropertyValue","elHeight","offsetHeight","percentage","Math","round","image","isVisible","self","style","transform","pageYOffset","subVideo","playlistIdValue","data","getJSON","part","key","maxResults","playlistId","each","items","item","snippet","resourceId","videoId","append","wrap","toggle_video_modal","close_video_modal","removeClass","src","this","addClass","event","keyup"],"mappings":"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","file":"20220822Gobackpack_functions.min.js","sourcesContent":["// HEADER VIDEO HIDDEN AFTER PLAY\r\n// FADE-IN-UP ELEMENTS ON SCROLL\r\n// FLIP CARD\r\n// SLIDER (SWIPER JS)\r\n// VIDEO POP-UP\r\n\r\n//\r\n// =RESPONSIVE VIDEO!\r\n// --------------------------------------------------\r\ninitVideoGrid();\r\n\r\nconst vid = document.getElementById(\"msdw-video-responsive\");\r\n\r\nfunction changeVideoSize(size) {\r\n const videoSource = $(\"#msdw-video-responsive source\");\r\n videoSource.attr(\"src\", videoSource.attr(\"data-video-\" + size));\r\n vid.autoplay = true;\r\n vid.load();\r\n console.log(videoSource.attr(\"src\"));\r\n}\r\n\r\nfunction loadVideo() {\r\n var sm = window.matchMedia(\"(min-width: 0px) and (max-width: 599px)\"), // Standard def (mp4, 640x360)\r\n md = window.matchMedia(\"(min-width: 600px) and (max-width: 899px)\"), // Standard def (mp4, 960x540)\r\n lg = window.matchMedia(\"(min-width: 900px) and (max-width: 1199px)\"), // High def (mp4, 1280x720)\r\n xl = window.matchMedia(\"(min-width: 1200px) and (max-width: 99999px)\"); // High def 1080 (mp4, 1920x1080)\r\n\r\n sm.addEventListener(\"change\", changeVideoSize);\r\n md.addEventListener(\"change\", changeVideoSize);\r\n lg.addEventListener(\"change\", changeVideoSize);\r\n xl.addEventListener(\"change\", changeVideoSize);\r\n\r\n if (sm.matches) {\r\n changeVideoSize(\"sm\");\r\n } else if (md.matches) {\r\n changeVideoSize(\"md\");\r\n } else if (lg.matches) {\r\n changeVideoSize(\"lg\");\r\n } else if (xl.matches) {\r\n changeVideoSize(\"xl\");\r\n }\r\n}\r\n\r\nif (document.contains(vid)) {\r\n document.addEventListener(\"DOMContentLoaded\", loadVideo);\r\n vid.onloadeddata = () => vid.classList.add(\"msdw-video-loaded\");\r\n window.onresize = loadVideo;\r\n}\r\n\r\n//\r\n// =HEADER VIDEO HIDDEN AFTER PLAY\r\n// --------------------------------------------------\r\n\r\n// const videos = document.querySelectorAll(\".msdw-header-video\");\r\n\r\n// videos.forEach((video) => {\r\n// video.onended = function () {\r\n// video.style.opacity = 0;\r\n// };\r\n// });\r\n\r\n//\r\n// =FADE-IN-UP ELEMENTS ON SCROLL\r\n// --------------------------------------------------\r\n\r\nconst elements = document.querySelectorAll(\".msdw-animate\");\r\n\r\nfunction check(entries) {\r\n entries.map((entry) => {\r\n if (entry.isIntersecting) {\r\n entry.target.classList.add(\"msdw-animated\");\r\n observer.unobserve(entry.target);\r\n }\r\n });\r\n}\r\n\r\nconst observer = new IntersectionObserver(check);\r\n\r\nelements.forEach((elem) => observer.observe(elem));\r\n\r\n//\r\n// =FLIP CARD\r\n// --------------------------------------------------\r\n\r\nconst cards = document.querySelectorAll(\".msdw-flip-card\");\r\nconst togglers = document.querySelectorAll(\".msdw-icon--plus\");\r\n\r\ntogglers.forEach((toggler) => {\r\n toggler.addEventListener(\"click\", () =>\r\n toggler.closest(\".msdw-flip-card\").classList.toggle(\"is-flipped\")\r\n );\r\n});\r\n\r\n//\r\n// =SLIDERS (SWIPER JS)\r\n// --------------------------------------------------\r\n\r\nconst sliderParticipants = new Swiper(\"#sliderParticipants\", {\r\n slidesPerView: 1,\r\n loop: false,\r\n spaceBetween: 0,\r\n effect: \"fade\",\r\n fadeEffect: { crossFade: true },\r\n speed: 500,\r\n navigation: {\r\n nextEl: \".swiper-participants-button-next\",\r\n prevEl: \".swiper-participants-button-prev\",\r\n },\r\n scrollbar: {\r\n el: \".swiper-scrollbar\",\r\n draggable: true,\r\n },\r\n autoHeight: true,\r\n pagination: {\r\n el: \".swiper-pagination\",\r\n type: \"fraction\",\r\n },\r\n});\r\n\r\nsliderParticipants.on(\"slideChange\", function () {\r\n cards.forEach((card) => {\r\n card.classList.remove(\"is-flipped\");\r\n });\r\n});\r\n\r\nsliderParticipants.on(\"slideChange\", function () {\r\n jQuery([document.documentElement, document.body]).animate(\r\n {\r\n scrollTop: $(\"#sliderParticipants\").parent().offset().top - 59,\r\n },\r\n 350\r\n );\r\n});\r\n\r\nconst slidersPrecamp = document.querySelectorAll('.swiper-precamp');\r\n\r\nslidersPrecamp.forEach((el, i) => {\r\n el.classList.add('swiper-precamp-' + i);\r\n\r\n let slider = new Swiper('.swiper-precamp-' + i, {\r\n slidesPerView: 1,\r\n loop: false,\r\n spaceBetween: 10,\r\n speed: 500,\r\n navigation: {\r\n nextEl: \".swiper-precamp-button-next\",\r\n prevEl: \".swiper-precamp-button-prev\",\r\n },\r\n pagination: {\r\n el: \".swiper-precamp-pagination\",\r\n type: \"fraction\",\r\n },\r\n breakpoints: {\r\n 600: {\r\n centeredSlides: true,\r\n slidesPerView: 1.5,\r\n spaceBetween: 15,\r\n initialSlide: 0,\r\n },\r\n 900: {\r\n centeredSlides: true,\r\n slidesPerView: 1.975,\r\n spaceBetween: 20,\r\n initialSlide: 0,\r\n },\r\n }\r\n });\r\n});\r\n\r\n\r\n\r\nconst slidersJourney = document.querySelectorAll('.swiper-journey');\r\n\r\nslidersJourney.forEach((el, i) => {\r\n el.classList.add('swiper-journey-' + i);\r\n\r\n let slider = new Swiper('.swiper-journey-' + i, {\r\n speed: 500,\r\n grabCursor: true,\r\n effect: \"creative\",\r\n creativeEffect: {\r\n prev: {\r\n shadow: true,\r\n translate: [0, 0, -400],\r\n },\r\n next: {\r\n translate: [\"100%\", 0, 0],\r\n },\r\n },\r\n navigation: {\r\n nextEl: \".swiper-journey-button-next\",\r\n prevEl: \".swiper-journey-button-prev\",\r\n },\r\n scrollbar: {\r\n el: \".swiper-scrollbar\",\r\n draggable: true,\r\n },\r\n autoHeight: true,\r\n pagination: {\r\n el: \".swiper-pagination\",\r\n type: \"fraction\",\r\n },\r\n });\r\n});\r\n\r\nconst sliderProducts = new Swiper(\"#sliderProducts\", {\r\n slidesPerView: 1,\r\n slidesPerGroup: 1, // you need this\r\n loop: false,\r\n freeMode: {\r\n enabled: true,\r\n sticky: true,\r\n },\r\n spaceBetween: 10,\r\n navigation: {\r\n nextEl: \".swiper-products-button-next\",\r\n prevEl: \".swiper-products-button-prev\",\r\n },\r\n breakpoints: {\r\n 600: {\r\n slidesPerView: 2,\r\n slidesPerGroup: 2, // you need this\r\n spaceBetween: 15,\r\n },\r\n 900: {\r\n slidesPerView: 3,\r\n slidesPerGroup: 3, // you need this\r\n spaceBetween: 20,\r\n },\r\n 1200: {\r\n slidesPerView: 4,\r\n slidesPerGroup: 4, // you need this\r\n spaceBetween: 20,\r\n },\r\n },\r\n});\r\n\r\n//\r\n// =VIDEO POP-UP\r\n// --------------------------------------------------\r\n\r\nconst playVideoBtns = document.querySelectorAll(\".msdw-play-video\");\r\nconst msdwPopupVideoWrapper = document.querySelector(\r\n \".msdw-popup-video-wrapper\"\r\n);\r\nconst msdwPopupVideoBackDrop = document.querySelector(\r\n \".msdw-popup-video-backdrop\"\r\n);\r\nconst msdwPopupVideo = document.getElementById(\"msdwPopupVideo\");\r\n\r\nif (document.contains(msdwPopupVideoWrapper)) {\r\n // OPEN\r\n playVideoBtns.forEach((playVideoBtn) => {\r\n playVideoBtn.addEventListener(\"click\", (e) => {\r\n e.preventDefault();\r\n const videoUrl = playVideoBtn.getAttribute(\"data-modal-video\");\r\n msdwPopupVideo.setAttribute(\"src\", videoUrl);\r\n msdwPopupVideoWrapper.classList.add(\"msdw-active\");\r\n document.body.classList.add(\"jws-overflowHidden\");\r\n msdwPopupVideo.muted = false;\r\n msdwPopupVideo.play();\r\n });\r\n });\r\n\r\n // CLOSE\r\n const closePopUpVideo = () => {\r\n document.body.classList.remove(\"jws-overflowHidden\");\r\n msdwPopupVideo.muted = true;\r\n msdwPopupVideo.pause();\r\n msdwPopupVideo.currentTime = 0;\r\n\r\n msdwPopupVideoWrapper.classList.remove(\"msdw-active\");\r\n };\r\n\r\n msdwPopupVideoBackDrop.addEventListener(\"click\", () => {\r\n closePopUpVideo();\r\n });\r\n\r\n window.onkeydown = (e) => {\r\n if (e.keyCode == 27) closePopUpVideo();\r\n };\r\n}\r\n\r\n//\r\n// =SUB PAGE: ZOOM IN HEADER\r\n// --------------------------------------------------\r\n\r\n// Higher number = more zoom\r\nlet scaleAmount = 0.5;\r\n\r\nfunction scrollZoom() {\r\n const images = document.querySelectorAll(\"[data-scroll-zoom]\");\r\n let scrollPosY = 0;\r\n scaleAmount = scaleAmount / 100;\r\n\r\n const observerConfig = {\r\n rootMargin: \"0% 0% 0% 0%\",\r\n threshold: 0,\r\n };\r\n\r\n // Create separate IntersectionObservers and scroll event listeners for each image so that we can individually apply the scale only if the image is visible\r\n if (images) {\r\n images.forEach((image) => {\r\n let isVisible = false;\r\n const observer = new IntersectionObserver((elements, self) => {\r\n elements.forEach((element) => {\r\n isVisible = element.isIntersecting;\r\n });\r\n }, observerConfig);\r\n\r\n observer.observe(image);\r\n\r\n // Set initial image scale on page load\r\n image.style.transform = `scale(${\r\n 1 + scaleAmount * percentageSeen(image)\r\n })`;\r\n\r\n // Only fires if IntersectionObserver is intersecting\r\n window.addEventListener(\"scroll\", () => {\r\n if (isVisible) {\r\n scrollPosY = window.pageYOffset;\r\n image.style.transform = `scale(${\r\n 1 + scaleAmount * percentageSeen(image)\r\n })`;\r\n }\r\n });\r\n });\r\n }\r\n\r\n // Calculates the \"percentage seen\" based on when the image first enters the screen until the moment it leaves\r\n // Here, we get the parent node position/height instead of the image since it's in a container that has a border, but\r\n // if your container has no extra height, you can simply get the image position/height\r\n function percentageSeen(element) {\r\n const parent = element.parentNode;\r\n const viewportHeight = window.innerHeight;\r\n const scrollY = window.scrollY;\r\n const elPosY = parent.getBoundingClientRect().top + scrollY;\r\n const borderHeight =\r\n parseFloat(\r\n getComputedStyle(parent).getPropertyValue(\"border-bottom-width\")\r\n ) +\r\n parseFloat(\r\n getComputedStyle(element).getPropertyValue(\"border-top-width\")\r\n );\r\n const elHeight = parent.offsetHeight + borderHeight;\r\n\r\n if (elPosY > scrollY + viewportHeight) {\r\n // If we haven't reached the image yet\r\n return 0;\r\n } else if (elPosY + elHeight < scrollY) {\r\n // If we've completely scrolled past the image\r\n return 100;\r\n } else {\r\n // When the image is in the viewport\r\n const distance = scrollY + viewportHeight - elPosY;\r\n let percentage = distance / ((viewportHeight + elHeight) / 100);\r\n percentage = Math.round(percentage);\r\n\r\n return percentage;\r\n }\r\n }\r\n}\r\n\r\nscrollZoom();\r\n\r\n//\r\n// =SUB PAGE: NO VIDEO AUTOPLAY\r\n// --------------------------------------------------\r\n\r\nconst subVideo = document.querySelector(\r\n \".msdw-sub-page #msdw-video-responsive\"\r\n);\r\n\r\nwindow.addEventListener(\"DOMContentLoaded\", () => {\r\n if (subVideo) {\r\n subVideo.autoplay = false;\r\n }\r\n});\r\n\r\n\r\n//\r\n// =RENDER YT PLAYLIST VIDEOS IN A GRID\r\n// --------------------------------------------------\r\nfunction initVideoGrid() {\r\n var key = 'AIzaSyDqIn7hpzFnbDAkGAyzoFX6ETJ45yC6Q9I';\r\n var playlistIdValue = $('#msdw-video-grid').data(\"playlist\");\r\n var playlistId = playlistIdValue;\r\n var URL = 'https://www.googleapis.com/youtube/v3/playlistItems';\r\n var options = {\r\n part: 'snippet',\r\n key: key,\r\n maxResults: 10,\r\n playlistId: playlistId\r\n }\r\n loadVids();\r\n function loadVids() {\r\n $.getJSON(URL, options, function (data) {\r\n // var id = data.items[0].snippet.resourceId.videoId;\r\n // console.log(data);\r\n $.each(data.items, function (i, item) {\r\n var vid = item.snippet.resourceId.videoId;\r\n $('#msdw-yt-videos').append(`\r\n \r\n `);\r\n // $('#msdw-yt-videos').append('');\r\n });\r\n moveVids();\r\n // INIT VIDEO MODAL\r\n toggle_video_modal();\r\n });\r\n }\r\n function moveVids() {\r\n if ('#msdw-yt-0') { $('#msdw-video-01 figure img').wrap( $('#msdw-yt-0') ) }\r\n if ('#msdw-yt-1') { $('#msdw-video-02 figure img').wrap( $('#msdw-yt-1') ) }\r\n if ('#msdw-yt-2') { $('#msdw-video-03 figure img').wrap( $('#msdw-yt-2') ) }\r\n if ('#msdw-yt-3') { $('#msdw-video-04 figure img').wrap( $('#msdw-yt-3') ) }\r\n if ('#msdw-yt-4') { $('#msdw-video-05 figure img').wrap( $('#msdw-yt-4') ) }\r\n if ('#msdw-yt-5') { $('#msdw-video-06 figure img').wrap( $('#msdw-yt-5') ) }\r\n if ('#msdw-yt-6') { $('#msdw-video-07 figure img').wrap( $('#msdw-yt-6') ) }\r\n if ('#msdw-yt-7') { $('#msdw-video-08 figure img').wrap( $('#msdw-yt-7') ) }\r\n if ('#msdw-yt-8') { $('#msdw-video-09 figure img').wrap( $('#msdw-yt-8') ) }\r\n if ('#msdw-yt-9') { $('#msdw-video-10 figure img').wrap( $('#msdw-yt-9') ) }\r\n }\r\n}\r\n//\r\n// =YT VIDEO MODAL\r\n// --------------------------------------------------\r\nfunction toggle_video_modal() {\r\n $(\".js-trigger-video-modal\").on(\"click\", function(e){\r\n e.preventDefault();\r\n var id = $(this).attr('data-youtube-id');\r\n var autoplay = '?autoplay=1';\r\n var related_no = '&rel=0';\r\n var src = '//www.youtube.com/embed/'+id+autoplay+related_no;\r\n $(\"#youtube\").attr('src', src);\r\n $(\"body\").addClass(\"show-video-modal noscroll\");\r\n });\r\n function close_video_modal() {\r\n $(\"body\").removeClass(\"show-video-modal noscroll\");\r\n $(\"#youtube\").attr('src', '');\r\n }\r\n $('body').on('click', '.close-video-modal, .video-modal .overlay', function(event) {\r\n close_video_modal();\r\n });\r\n $('body').keyup(function(e) {\r\n if (e.keyCode == 27) {\r\n close_video_modal();\r\n }\r\n });\r\n}"]}