{"version":3,"file":"dist/557.js","mappings":"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","sources":["webpack://vaneckweb/../Static/eu/js/src/override/homepage-video-slider.js","webpack://vaneckweb/../Static/js/scrollify.js"],"sourcesContent":["import swapVideoSource from \"./video/swap-video-source\";\r\nimport 'slick-carousel';\r\n\r\nconst { next, currentIndex } = require(\"../../../../js/scrollify\");\r\n\r\nrequire(\"regenerator-runtime/runtime\");\r\n\r\nasync function loadVideoCarousel() {\r\n\r\n if($(\".compound-hero-video\").length == 0) return;\r\n\r\n //factory that generates the next slide function.\r\n var gotoNextSlideListener = function ($slider) {\r\n const gotoNextSlide = function (event) {\r\n $slider.slick(\"slickNext\");\r\n }\r\n return gotoNextSlide\r\n }\r\n\r\n const investorType = $('#hdnSelectedAudience')?.val();\r\n\r\n if (investorType && investorType === 'pi' && $('.homepage-video-carousel')?.hasClass('hide-audio-icon')) {\r\n $(\".compound-hero-video\").addClass('hide-audio-icon'); \r\n }\r\n\r\n //checks if the video has audio to hide and show the audio icon\r\n function hasAudio(video) {\r\n return video.mozHasAudio ||\r\n Boolean(video.webkitAudioDecodedByteCount) ||\r\n Boolean(video.audioTracks && video.audioTracks.length);\r\n }\r\n\r\n //To be run on the video elem once it has been loaded.\r\n function onVideoLoaded() {\r\n //If there is no audio, hide the mute button.\r\n hasAudio(this) ? $(\".audio-on-icon\").show() : $(\".audio-on-icon\").hide();\r\n\r\n //Remove this so it can be added again as needed.\r\n this.removeEventListener(\"loadeddata\", onVideoLoaded);\r\n }\r\n\r\n async function videoChange(prevSlideNumber, newSlideNumber) {\r\n //if prev slide and new slide are undefined the slider is loading for the first time...\r\n\r\n //All existing videos\r\n $('.slider-for video').find('video').each((i, e) => {\r\n e.pause(); //pause..\r\n if (isNaN(prevSlideNumber)) {\r\n e.currentTime = 0; //rewind all if this is loaded for the first time\r\n }\r\n e.removeEventListener(\"ended\", gotoNextSlideListener); //...and unbind.\r\n });\r\n\r\n //Get the first video of the currently selected slide or next slide, if this is a slide change.\r\n let firstVideo = $('.compound-hero-video .slider-for .slick-current').find('video').get(0);\r\n if (!isNaN(newSlideNumber)) {\r\n firstVideo = $(\".slick-slide[data-slick-index=\" + newSlideNumber + \"]\").find('video').get(0);\r\n }\r\n \r\n //swapSource to check if a mobile version is needed.\r\n var videoSwapped = await swapVideoSource($(firstVideo), window.innerWidth < 768);\r\n\r\n //reeind, unhide and play.\r\n firstVideo.currentTime = 0;\r\n await firstVideo.play();\r\n $(firstVideo).removeClass(\"d-none\");\r\n\r\n //The hasAudio API only works after the video is playing\r\n //Onloaded -- check for audio and hide/show the audio icon.\r\n onVideoLoaded.call(firstVideo)\r\n \r\n //Listner for once the current slide is ended to move to the next slide and push the next video.\r\n firstVideo.addEventListener(\"ended\", gotoNextSlideListener($('.slider-for')), false);\r\n firstVideo.loop = false;\r\n }\r\n\r\n //Bind our video change function to slick's thing.\r\n $(\".compound-hero-video .slider-for\").on('init reInit beforeChange', async function (_, slick, currentSlide, nextSlide) {\r\n\r\n videoChange(currentSlide, nextSlide);\r\n\r\n $(\".hero-video-carousel.slick-dots > li\").toArray().forEach(l => {\r\n if($(l).hasClass(\"svg-injected\")) return;\r\n //$(l).append(`<svg class=\"play-icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 40.26 53.68\"><defs><style>.cls-1{fill:#001e6d;}</style></defs><g id=\"Ebene_1-2\"><polygon class=\"cls-1\" points=\"40.26 26.84 0 0 0 53.68 40.26 26.84 40.26 26.84\"/></g></svg>`);\r\n if($(l).addClass(\"svg-injected\"));\r\n })\r\n });\r\n\r\n const videoSliders = $(\".homepage-video-carousel .slider-for .hero__video\").toArray();\r\n $(\".slider-for\").html(shuffle(videoSliders));\r\n\r\n //homepage video slider. And away we go...\r\n $('.compound-hero-video .slider-for').slick({\r\n autoplay: false,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n arrows: true,\r\n prevArrow: \"\\n <button class=\\\"home-video-carousel-control prev\\\" type=\\\"button\\\" aria-label=\\\"Previous Arrow\\\">\\n <svg\\n aria-hidden=\\\"true\\\"\\n focusable=\\\"false\\\"\\n data-prefix=\\\"far\\\"\\n data-icon=\\\"chevron-left\\\"\\n class=\\\"svg-inline--fa fa-chevron-left fa-w-16 fa-lg icon\\\"\\n role=\\\"img\\\"\\n xmlns=\\\"http://www.w3.org/2000/svg\\\"\\n viewBox=\\\"0 0 18 18\\\"\\n >\\n <path\\n fill=\\\"currentColor\\\"\\n d=\\\"M13.13 2.26a.75.75 0 00-.22-.54.75.75 0 00-1.07 0L5.1 8.47a.75.75 0 000 1.06l6.75 6.75a.75.75 0 001.07 0 .75.75 0 000-1.06L6.69 9l6.22-6.22a.75.75 0 00.21-.52z\\\"\\n >\\n </path>\\n </svg>\\n </button>\\n \",\r\n nextArrow: \"\\n <button class=\\\"home-video-carousel-control next\\\" type=\\\"button\\\" aria-label=\\\"Next Arrow\\\">\\n <svg\\n aria-hidden=\\\"true\\\"\\n focusable=\\\"false\\\"\\n data-prefix=\\\"far\\\"\\n data-icon=\\\"chevron-right\\\"\\n class=\\\"svg-inline--fa fa-chevron-right fa-w-16 fa-lg icon\\\"\\n role=\\\"img\\\"\\n xmlns=\\\"http://www.w3.org/2000/svg\\\"\\n viewBox=\\\"0 0 18 18\\\"\\n >\\n <path\\n fill=\\\"currentColor\\\"\\n d=\\\"M4.87 15.74a.75.75 0 00.22.54.75.75 0 001.07 0l6.75-6.75a.75.75 0 000-1.06L6.16 1.72a.75.75 0 00-1.07 0 .75.75 0 000 1.06L11.31 9 5.1 15.22a.75.75 0 00-.22.52z\\\"\\n >\\n </path>\\n </svg>\\n </button>\\n \",\r\n dots: true,\r\n draggable: false,\r\n dotsClass: 'slick-dots hero-video-carousel',\r\n swipe: true,\r\n mobileFirst: true,\r\n responsive: [\r\n {\r\n breakpoint: 767,\r\n settings: {\r\n swipe: false\r\n },\r\n },\r\n ],\r\n });\r\n\r\n $('.compound-hero-video .slider-for').on('beforeChange', function (event, slick, currentSlide, nextSlide) {\r\n //Pause the video for the previous slide if it is being changed only.\r\n const currVideo = $('.compound-hero-video .slick-current').find('video').get(0);\r\n currVideo.pause();\r\n $(currVideo).addClass(\"d-none\");\r\n });\r\n\r\n $(\".audio-on-icon\").click(function () {\r\n const videos = $(this).parent().find(\"video\").toArray();\r\n switch ($(this).hasClass(\"sound-turned-on\")) {\r\n case true:\r\n videos.forEach(x => x.muted = true)\r\n $(this).removeClass(\"sound-turned-on\");\r\n break;\r\n case false:\r\n videos.forEach(x => x.muted = false)\r\n $(this).addClass(\"sound-turned-on\");\r\n break;\r\n }\r\n })\r\n\r\n}\r\n\r\n// button transitions\r\n$('.compound-hero-video .slider-for').on('beforeChange', (event, slick, currentSlide, nextSlide) => {\r\n\r\n // swipe ->\r\n if (currentSlide < nextSlide) {\r\n $('.compound-hero-video ul.slick-dots.hero-video-carousel li.slick-active')\r\n }\r\n\r\n // swipe <-\r\n if (currentSlide > nextSlide) {\r\n $('.compound-hero-video ul.slick-dots.hero-video-carousel li.slick-active')\r\n }\r\n});\r\n\r\n// change slider dots to look like IG\r\nconst makeSliderDotsLookLikeIG = () => {\r\n $('.compound-hero-video .slider-for').on('init reInit beforeChange', function (event, slick, currentSlide, nextSlide) {\r\n\r\n // runs only first time when slider loaded\r\n if (event.type == 'init') {\r\n $('.compound-hero-video .slick-dots.hero-video-carousel li').toArray().forEach((e, i) => {\r\n if (i >= 7) {\r\n $(e).addClass('d-none');\r\n } else {\r\n i += 1;\r\n\r\n let dotSize = 0;\r\n\r\n switch (i) {\r\n case 1:\r\n dotSize = 1\r\n break;\r\n\r\n case 2:\r\n dotSize = 2\r\n break;\r\n\r\n case 3:\r\n dotSize = 3\r\n break;\r\n\r\n case 4:\r\n dotSize = 4\r\n break;\r\n\r\n case 5:\r\n dotSize = 5\r\n break;\r\n\r\n case 6:\r\n dotSize = 6\r\n break;\r\n\r\n case 7:\r\n dotSize = 7\r\n break;\r\n\r\n default:\r\n dotSize = 0\r\n }\r\n $(e).addClass(`dot-size-${dotSize}`);\r\n }\r\n })\r\n return;\r\n }\r\n\r\n // Get the current slide index\r\n let currentSlideIndex = nextSlide;\r\n let totalDots = document.querySelectorAll('.compound-hero-video ul.slick-dots li').length;\r\n // display dot based on position\r\n const changeDots = () => {\r\n document.querySelectorAll('.compound-hero-video ul.slick-dots li').forEach((element, i) => {\r\n let dotShown = shouldDotBeShown(currentSlideIndex, i, totalDots)\r\n\r\n if (dotShown) {\r\n $(element).removeClass((i, className) => {\r\n return (className.match(/(^|\\s)dot-size-\\S+/g) || []).join(' ');\r\n });\r\n let dotSize = getDotSize(currentSlideIndex, i);\r\n $(element).addClass(`dot-size-${dotSize}`);\r\n }\r\n\r\n $(element).removeClass(\"d-none\");\r\n !dotShown && $(element).addClass(`d-none`);\r\n })\r\n }\r\n\r\n setTimeout(changeDots, 250);\r\n });\r\n}\r\n\r\nmakeSliderDotsLookLikeIG();\r\n\r\n$(async () => await loadVideoCarousel());\r\n\r\nfunction shuffle(array) {\r\n let currentIndex = array.length, randomIndex;\r\n\r\n // While there remain elements to shuffle.\r\n while (currentIndex != 0) {\r\n\r\n // Pick a remaining element.\r\n randomIndex = Math.floor(Math.random() * currentIndex);\r\n currentIndex--;\r\n\r\n // And swap it with the current element.\r\n [array[currentIndex], array[randomIndex]] = [\r\n array[randomIndex], array[currentIndex]];\r\n }\r\n\r\n return array;\r\n}\r\n\r\nfunction shouldDotBeShown(activeDotIndex, currentDotIndex, totalDots) {\r\n\r\n totalDots -= 1;\r\n\r\n const dotsTobeShown = 7;\r\n const halfTheDotsToBeShown = dotsTobeShown / 2;\r\n\r\n if (totalDots < dotsTobeShown) {\r\n return true;\r\n }\r\n\r\n if (activeDotIndex < halfTheDotsToBeShown) {\r\n if (currentDotIndex < dotsTobeShown) {\r\n return true;\r\n }\r\n }\r\n\r\n const MiddleOfLastDots = totalDots - halfTheDotsToBeShown;\r\n const minimumDotsFromEnd = totalDots - dotsTobeShown;\r\n\r\n if (activeDotIndex > MiddleOfLastDots) {\r\n if (currentDotIndex > minimumDotsFromEnd) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n let min = activeDotIndex - 3;\r\n let max = activeDotIndex + 3;\r\n\r\n if (activeDotIndex < 3) {\r\n max += activeDotIndex - 2;\r\n }\r\n\r\n\r\n if (activeDotIndex > (totalDots - 3)) {\r\n min -= totalDots - activeDotIndex + 3;\r\n }\r\n\r\n if (currentDotIndex < min) return false;\r\n if (currentDotIndex > max) return false;\r\n\r\n return true;\r\n}\r\n\r\nfunction getDotSize(currentDotIndex, activeDotIndex) {\r\n\r\n let difference = currentDotIndex - activeDotIndex;\r\n\r\n switch (difference) {\r\n case 0:\r\n return 0\r\n break;\r\n\r\n case 1:\r\n case -1:\r\n return 1\r\n break;\r\n\r\n case 2:\r\n case -2:\r\n return 2\r\n break;\r\n\r\n case 3:\r\n case -3:\r\n return 3\r\n break;\r\n\r\n case 4:\r\n case -4:\r\n return 4\r\n break;\r\n\r\n case 5:\r\n case -5:\r\n return 5\r\n break;\r\n\r\n case 6:\r\n case -6:\r\n return 6\r\n break;\r\n\r\n case 7:\r\n case -7:\r\n return 7\r\n break;\r\n\r\n default:\r\n console.log('An Error Ocurred!')\r\n }\r\n}","/*!\r\n * jQuery Scrollify\r\n * Version 1.0.18\r\n *\r\n * Requires:\r\n * - jQuery 1.7 or higher\r\n *\r\n * https://github.com/lukehaas/Scrollify\r\n *\r\n * Copyright 2016, Luke Haas\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\r\n * this software and associated documentation files (the \"Software\"), to deal in\r\n * the Software without restriction, including without limitation the rights to\r\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\r\n * the Software, and to permit persons to whom the Software is furnished to do so,\r\n * subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in all\r\n * copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\r\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\r\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n\r\n\r\n\r\nif touchScroll is false - update index\r\n\r\n */\r\n(function (global,factory) {\r\n \"use strict\";\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define(['jquery'], function($) {\r\n return factory($, global, global.document);\r\n });\r\n } else if (typeof module === 'object' && module.exports) {\r\n // Node/CommonJS\r\n module.exports = factory(require('jquery'), global, global.document);\r\n } else {\r\n // Browser globals\r\n factory(jQuery, global, global.document);\r\n }\r\n}(typeof window !== 'undefined' ? window : this, function ($, window, document, undefined) {\r\n \"use strict\";\r\n var heights = [],\r\n names = [],\r\n elements = [],\r\n overflow = [],\r\n index = 0,\r\n currentIndex = 0,\r\n interstitialIndex = 1,\r\n hasLocation = false,\r\n timeoutId,\r\n timeoutId2,\r\n $window = $(window),\r\n portHeight,\r\n top = $window.scrollTop(),\r\n scrollable = false,\r\n locked = false,\r\n scrolled = false,\r\n manualScroll,\r\n swipeScroll,\r\n util,\r\n disabled = false,\r\n scrollSamples = [],\r\n scrollTime = new Date().getTime(),\r\n firstLoad = true,\r\n initialised = false,\r\n destination = 0,\r\n wheelEvent = 'onwheel' in document ? 'wheel' : document.onmousewheel !== undefined ? 'mousewheel' : 'DOMMouseScroll',\r\n settings = {\r\n //section should be an identifier that is the same for each section\r\n section: \".section\",\r\n sectionName: \"data-section-name\",\r\n interstitialSection: \"\",\r\n easing: \"easeOutQuad\",\r\n scrollSpeed: 500,\r\n offset: 0,\r\n scrollbars: true,\r\n target:\"html,body\",\r\n standardScrollElements: false,\r\n setHeights: false,\r\n overflowScroll:true,\r\n updateHash: true,\r\n touchScroll:true,\r\n before:function() {},\r\n after:function() {},\r\n afterResize:function() {},\r\n afterRender:function() {}\r\n };\r\n function getportHeight() {\r\n return ($window.height() + settings.offset);\r\n }\r\n function animateScroll(index,instant,callbacks,toTop) {\r\n if(currentIndex===index) {\r\n callbacks = false;\r\n }\r\n if(disabled===true) {\r\n return true;\r\n }\r\n if(names[index]) {\r\n scrollable = false;\r\n if(firstLoad===true) {\r\n settings.afterRender();\r\n firstLoad = false;\r\n }\r\n if(callbacks) {\r\n if( typeof settings.before == 'function' && settings.before(index,elements) === false ){\r\n return true;\r\n }\r\n }\r\n interstitialIndex = 1;\r\n destination = heights[index];\r\n if(firstLoad===false && currentIndex>index && toTop===false) {\r\n //We're going backwards\r\n if(overflow[index]) {\r\n portHeight = getportHeight();\r\n\r\n interstitialIndex = parseInt(elements[index].outerHeight()/portHeight);\r\n\r\n destination = parseInt(heights[index])+(elements[index].outerHeight()-portHeight);\r\n }\r\n }\r\n\r\n\r\n if(settings.updateHash && settings.sectionName && !(firstLoad===true && index===0)) {\r\n if(history.pushState) {\r\n try {\r\n history.replaceState(null, null, names[index]);\r\n } catch (e) {\r\n if(window.console) {\r\n console.warn(\"Scrollify warning: Page must be hosted to manipulate the hash value.\");\r\n }\r\n }\r\n\r\n } else {\r\n window.location.hash = names[index];\r\n }\r\n }\r\n\r\n currentIndex = index;\r\n if(instant) {\r\n $(settings.target).stop().scrollTop(destination);\r\n if(callbacks) {\r\n settings.after(index,elements);\r\n }\r\n } else {\r\n locked = true;\r\n if( $().velocity ) {\r\n $(settings.target).stop().velocity('scroll', {\r\n duration: settings.scrollSpeed,\r\n easing: settings.easing,\r\n offset: destination,\r\n mobileHA: false\r\n });\r\n } else {\r\n $(settings.target).stop().animate({\r\n scrollTop: destination\r\n }, settings.scrollSpeed,settings.easing);\r\n }\r\n\r\n if(window.location.hash.length && settings.sectionName && window.console) {\r\n try {\r\n if($(window.location.hash).length) {\r\n console.warn(\"Scrollify warning: ID matches hash value - this will cause the page to anchor.\");\r\n }\r\n } catch (e) {}\r\n }\r\n $(settings.target).promise().done(function(){\r\n locked = false;\r\n firstLoad = false;\r\n if(callbacks) {\r\n settings.after(index,elements);\r\n }\r\n });\r\n }\r\n\r\n }\r\n }\r\n\r\n function isAccelerating(samples) {\r\n function average(num) {\r\n var sum = 0;\r\n\r\n var lastElements = samples.slice(Math.max(samples.length - num, 1));\r\n\r\n for(var i = 0; i < lastElements.length; i++){\r\n sum += lastElements[i];\r\n }\r\n\r\n return Math.ceil(sum/num);\r\n }\r\n\r\n var avEnd = average(10);\r\n var avMiddle = average(70);\r\n\r\n if(avEnd >= avMiddle) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n var scrollify = function(options) {\r\n initialised = true;\r\n $.easing['easeOutExpo'] = function(x, t, b, c, d) {\r\n return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;\r\n };\r\n\r\n manualScroll = {\r\n handleMousedown:function() {\r\n if(disabled===true) {\r\n return true;\r\n }\r\n scrollable = false;\r\n scrolled = false;\r\n },\r\n handleMouseup:function() {\r\n if(disabled===true) {\r\n return true;\r\n }\r\n scrollable = true;\r\n if(scrolled) {\r\n //instant,callbacks\r\n manualScroll.calculateNearest(false,true);\r\n }\r\n },\r\n handleScroll:function() {\r\n if(disabled===true) {\r\n return true;\r\n }\r\n if(timeoutId){\r\n clearTimeout(timeoutId);\r\n }\r\n\r\n timeoutId = setTimeout(function(){\r\n scrolled = true;\r\n if(scrollable===false) {\r\n return false;\r\n }\r\n scrollable = false;\r\n //instant,callbacks\r\n manualScroll.calculateNearest(false,true);\r\n }, 200);\r\n },\r\n calculateNearest:function(instant,callbacks) {\r\n top = $window.scrollTop();\r\n var i =1,\r\n max = heights.length,\r\n closest = 0,\r\n prev = Math.abs(heights[0] - top),\r\n diff;\r\n for(;i<max;i++) {\r\n diff = Math.abs(heights[i] - top);\r\n\r\n if(diff < prev) {\r\n prev = diff;\r\n closest = i;\r\n }\r\n }\r\n if((atBottom() && closest>index) || atTop()) {\r\n index = closest;\r\n //index, instant, callbacks, toTop\r\n animateScroll(closest,instant,callbacks,false);\r\n }\r\n },\r\n wheelHandler:function(e) {\r\n if(disabled===true) {\r\n return true;\r\n } else if(settings.standardScrollElements) {\r\n if($(e.target).is(settings.standardScrollElements) || $(e.target).closest(settings.standardScrollElements).length) {\r\n return true;\r\n }\r\n }\r\n if(!overflow[index]) {\r\n e.preventDefault();\r\n }\r\n var currentScrollTime = new Date().getTime();\r\n\r\n\r\n e = e || window.event;\r\n var value = e.originalEvent.wheelDelta || -e.originalEvent.deltaY || -e.originalEvent.detail;\r\n var delta = Math.max(-1, Math.min(1, value));\r\n\r\n //delta = delta || -e.originalEvent.detail / 3 || e.originalEvent.wheelDelta / 120;\r\n\r\n if(scrollSamples.length > 149){\r\n scrollSamples.shift();\r\n }\r\n //scrollSamples.push(Math.abs(delta*10));\r\n scrollSamples.push(Math.abs(value));\r\n\r\n if((currentScrollTime-scrollTime) > 200){\r\n scrollSamples = [];\r\n }\r\n scrollTime = currentScrollTime;\r\n\r\n\r\n if(locked) {\r\n return false;\r\n }\r\n if(delta<0) {\r\n if(index<heights.length-1) {\r\n if(atBottom()) {\r\n if(isAccelerating(scrollSamples)) {\r\n e.preventDefault();\r\n index++;\r\n locked = true;\r\n //index, instant, callbacks, toTop\r\n animateScroll(index,false,true, false);\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n } else if(delta>0) {\r\n if(index>0) {\r\n if(atTop()) {\r\n if(isAccelerating(scrollSamples)) {\r\n e.preventDefault();\r\n index--;\r\n locked = true;\r\n //index, instant, callbacks, toTop\r\n animateScroll(index,false,true, false);\r\n } else {\r\n return false\r\n }\r\n }\r\n }\r\n }\r\n\r\n },\r\n keyHandler:function(e) {\r\n if(disabled===true || document.activeElement.readOnly===false) {\r\n return true;\r\n }\r\n if(locked===true) {\r\n return false;\r\n }\r\n if(e.keyCode==38 || e.keyCode==33) {\r\n if(index>0) {\r\n if(atTop()) {\r\n e.preventDefault();\r\n index--;\r\n //index, instant, callbacks, toTop\r\n animateScroll(index,false,true,false);\r\n }\r\n }\r\n } else if(e.keyCode==40 || e.keyCode==34) {\r\n if(index<heights.length-1) {\r\n if(atBottom()) {\r\n e.preventDefault();\r\n index++;\r\n //index, instant, callbacks, toTop\r\n animateScroll(index,false,true,false);\r\n }\r\n }\r\n }\r\n },\r\n init:function() {\r\n if(settings.scrollbars) {\r\n $window.on('mousedown', manualScroll.handleMousedown);\r\n $window.on('mouseup', manualScroll.handleMouseup);\r\n $window.on('scroll', manualScroll.handleScroll);\r\n } else {\r\n $(\"body\").css({\"overflow\":\"hidden\"});\r\n }\r\n $window.on(wheelEvent,manualScroll.wheelHandler);\r\n //$(document).bind(wheelEvent,manualScroll.wheelHandler);\r\n $window.on('keydown', manualScroll.keyHandler);\r\n }\r\n };\r\n\r\n swipeScroll = {\r\n touches : {\r\n \"touchstart\": {\"y\":-1,\"x\":-1},\r\n \"touchmove\" : {\"y\":-1,\"x\":-1},\r\n \"touchend\" : false,\r\n \"direction\" : \"undetermined\"\r\n },\r\n options:{\r\n \"distance\" : 30,\r\n \"timeGap\" : 800,\r\n \"timeStamp\" : new Date().getTime()\r\n },\r\n touchHandler: function(event) {\r\n if(disabled===true) {\r\n return true;\r\n } else if(settings.standardScrollElements) {\r\n if($(event.target).is(settings.standardScrollElements) || $(event.target).closest(settings.standardScrollElements).length) {\r\n return true;\r\n }\r\n }\r\n var touch;\r\n if (typeof event !== 'undefined'){\r\n if (typeof event.touches !== 'undefined') {\r\n touch = event.touches[0];\r\n switch (event.type) {\r\n case 'touchstart':\r\n swipeScroll.touches.touchstart.y = touch.pageY;\r\n swipeScroll.touches.touchmove.y = -1;\r\n\r\n swipeScroll.touches.touchstart.x = touch.pageX;\r\n swipeScroll.touches.touchmove.x = -1;\r\n\r\n swipeScroll.options.timeStamp = new Date().getTime();\r\n swipeScroll.touches.touchend = false;\r\n case 'touchmove':\r\n swipeScroll.touches.touchmove.y = touch.pageY;\r\n swipeScroll.touches.touchmove.x = touch.pageX;\r\n if(swipeScroll.touches.touchstart.y!==swipeScroll.touches.touchmove.y && (Math.abs(swipeScroll.touches.touchstart.y-swipeScroll.touches.touchmove.y)>Math.abs(swipeScroll.touches.touchstart.x-swipeScroll.touches.touchmove.x))) {\r\n //if(!overflow[index]) {\r\n event.preventDefault();\r\n //}\r\n swipeScroll.touches.direction = \"y\";\r\n if((swipeScroll.options.timeStamp+swipeScroll.options.timeGap)<(new Date().getTime()) && swipeScroll.touches.touchend == false) {\r\n\r\n swipeScroll.touches.touchend = true;\r\n if (swipeScroll.touches.touchstart.y > -1) {\r\n\r\n if(Math.abs(swipeScroll.touches.touchmove.y-swipeScroll.touches.touchstart.y)>swipeScroll.options.distance) {\r\n if(swipeScroll.touches.touchstart.y < swipeScroll.touches.touchmove.y) {\r\n\r\n swipeScroll.up();\r\n\r\n } else {\r\n swipeScroll.down();\r\n\r\n }\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n case 'touchend':\r\n if(swipeScroll.touches[event.type]===false) {\r\n swipeScroll.touches[event.type] = true;\r\n if (swipeScroll.touches.touchstart.y > -1 && swipeScroll.touches.touchmove.y > -1 && swipeScroll.touches.direction===\"y\") {\r\n\r\n if(Math.abs(swipeScroll.touches.touchmove.y-swipeScroll.touches.touchstart.y)>swipeScroll.options.distance) {\r\n if(swipeScroll.touches.touchstart.y < swipeScroll.touches.touchmove.y) {\r\n swipeScroll.up();\r\n\r\n } else {\r\n swipeScroll.down();\r\n\r\n }\r\n }\r\n swipeScroll.touches.touchstart.y = -1;\r\n swipeScroll.touches.touchstart.x = -1;\r\n swipeScroll.touches.direction = \"undetermined\";\r\n }\r\n }\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n },\r\n down: function() {\r\n\r\n if(index<heights.length) {\r\n\r\n if(atBottom() && index<heights.length-1) {\r\n\r\n index++;\r\n //index, instant, callbacks, toTop\r\n animateScroll(index,false,true,false);\r\n } else {\r\n portHeight = getportHeight();\r\n if(Math.floor(elements[index].height()/portHeight)>interstitialIndex) {\r\n\r\n interstitialScroll(parseInt(heights[index])+(portHeight*interstitialIndex));\r\n interstitialIndex += 1;\r\n\r\n } else {\r\n interstitialScroll(parseInt(heights[index])+(elements[index].outerHeight()-portHeight));\r\n }\r\n\r\n }\r\n }\r\n },\r\n up: function() {\r\n if(index>=0) {\r\n if(atTop() && index>0) {\r\n\r\n index--;\r\n //index, instant, callbacks, toTop\r\n animateScroll(index,false,true,false);\r\n } else {\r\n\r\n if(interstitialIndex>2) {\r\n portHeight = getportHeight();\r\n\r\n interstitialIndex -= 1;\r\n interstitialScroll(parseInt(heights[index])+(portHeight*interstitialIndex));\r\n\r\n } else {\r\n\r\n interstitialIndex = 1;\r\n interstitialScroll(parseInt(heights[index]));\r\n }\r\n }\r\n\r\n }\r\n },\r\n init: function() {\r\n if (document.addEventListener && settings.touchScroll) {\r\n var eventListenerOptions = {\r\n passive: false\r\n };\r\n document.addEventListener('touchstart', swipeScroll.touchHandler, eventListenerOptions);\r\n document.addEventListener('touchmove', swipeScroll.touchHandler, eventListenerOptions);\r\n document.addEventListener('touchend', swipeScroll.touchHandler, eventListenerOptions);\r\n }\r\n }\r\n };\r\n\r\n\r\n util = {\r\n refresh:function(withCallback,scroll) {\r\n clearTimeout(timeoutId2);\r\n timeoutId2 = setTimeout(function() {\r\n //retain position\r\n sizePanels(true);\r\n //scroll, firstLoad\r\n calculatePositions(scroll,false);\r\n if(withCallback) {\r\n settings.afterResize();\r\n }\r\n },400);\r\n },\r\n handleUpdate:function() {\r\n //callbacks, scroll\r\n //changed from false,true to false,false\r\n util.refresh(false,false);\r\n },\r\n handleResize:function() {\r\n //callbacks, scroll\r\n util.refresh(true,false);\r\n },\r\n handleOrientation:function() {\r\n //callbacks, scroll\r\n util.refresh(true,true);\r\n }\r\n };\r\n settings = $.extend(settings, options);\r\n\r\n //retain position\r\n sizePanels(false);\r\n\r\n calculatePositions(false,true);\r\n\r\n if(true===hasLocation) {\r\n //index, instant, callbacks, toTop\r\n animateScroll(index,false,true,true);\r\n } else {\r\n setTimeout(function() {\r\n //instant,callbacks\r\n manualScroll.calculateNearest(true,false);\r\n },200);\r\n }\r\n if(heights.length) {\r\n manualScroll.init();\r\n swipeScroll.init();\r\n\r\n $window.on(\"resize\",util.handleResize);\r\n if (document.addEventListener) {\r\n window.addEventListener(\"orientationchange\", util.handleOrientation, false);\r\n }\r\n }\r\n function interstitialScroll(pos) {\r\n if( $().velocity ) {\r\n $(settings.target).stop().velocity('scroll', {\r\n duration: settings.scrollSpeed,\r\n easing: settings.easing,\r\n offset: pos,\r\n mobileHA: false\r\n });\r\n } else {\r\n $(settings.target).stop().animate({\r\n scrollTop: pos\r\n }, settings.scrollSpeed,settings.easing);\r\n }\r\n }\r\n\r\n function sizePanels(keepPosition) {\r\n if(keepPosition) {\r\n top = $window.scrollTop();\r\n }\r\n\r\n var selector = settings.section;\r\n overflow = [];\r\n if(settings.interstitialSection.length) {\r\n selector += \",\" + settings.interstitialSection;\r\n }\r\n if(settings.scrollbars===false) {\r\n settings.overflowScroll = false;\r\n }\r\n portHeight = getportHeight();\r\n $(selector).each(function(i) {\r\n var $this = $(this);\r\n\r\n if(settings.setHeights) {\r\n if($this.is(settings.interstitialSection)) {\r\n overflow[i] = false;\r\n } else {\r\n if(($this.css(\"height\",\"auto\").outerHeight()<portHeight) || $this.css(\"overflow\")===\"hidden\") {\r\n $this.css({\"height\":portHeight});\r\n\r\n overflow[i] = false;\r\n } else {\r\n\r\n $this.css({\"height\":$this.height()});\r\n\r\n if(settings.overflowScroll) {\r\n overflow[i] = true;\r\n } else {\r\n overflow[i] = false;\r\n }\r\n }\r\n\r\n }\r\n\r\n } else {\r\n\r\n if(($this.outerHeight()<portHeight) || (settings.overflowScroll===false)) {\r\n overflow[i] = false;\r\n } else {\r\n overflow[i] = true;\r\n }\r\n }\r\n });\r\n if(keepPosition) {\r\n $window.scrollTop(top);\r\n }\r\n }\r\n function calculatePositions(scroll,firstLoad) {\r\n var selector = settings.section;\r\n if(settings.interstitialSection.length) {\r\n selector += \",\" + settings.interstitialSection;\r\n }\r\n heights = [];\r\n names = [];\r\n elements = [];\r\n $(selector).each(function(i){\r\n var $this = $(this);\r\n if(i>0) {\r\n heights[i] = parseInt($this.offset().top) + settings.offset;\r\n } else {\r\n heights[i] = parseInt($this.offset().top);\r\n }\r\n if(settings.sectionName && $this.data(settings.sectionName)) {\r\n names[i] = \"#\" + $this.data(settings.sectionName).toString().replace(/ /g,\"-\");\r\n } else {\r\n if($this.is(settings.interstitialSection)===false) {\r\n names[i] = \"#\" + (i + 1);\r\n } else {\r\n names[i] = \"#\";\r\n if(i===$(selector).length-1 && i>1) {\r\n heights[i] = heights[i-1] + (parseInt($($(selector)[i-1]).outerHeight()) - parseInt($(window).height())) + parseInt($this.outerHeight());\r\n }\r\n }\r\n }\r\n elements[i] = $this;\r\n try {\r\n if($(names[i]).length && window.console) {\r\n console.warn(\"Scrollify warning: Section names can't match IDs - this will cause the browser to anchor.\");\r\n }\r\n } catch (e) {}\r\n\r\n if(window.location.hash===names[i]) {\r\n index = i;\r\n hasLocation = true;\r\n }\r\n\r\n });\r\n\r\n if(true===scroll) {\r\n //index, instant, callbacks, toTop\r\n animateScroll(index,false,false,false);\r\n }\r\n }\r\n\r\n function atTop() {\r\n if(!overflow[index]) {\r\n return true;\r\n }\r\n top = $window.scrollTop();\r\n if(top>parseInt(heights[index])) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n function atBottom() {\r\n if(!overflow[index]) {\r\n return true;\r\n }\r\n top = $window.scrollTop();\r\n portHeight = getportHeight();\r\n\r\n if(top<parseInt(heights[index])+(elements[index].outerHeight()-portHeight)-28) {\r\n\r\n return false;\r\n\r\n } else {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n\r\n\t\r\n function move(panel,instant) {\r\n var z = names.length;\r\n for(;z>=0;z--) {\r\n if(typeof panel === 'string') {\r\n if (names[z]===panel) {\r\n index = z;\r\n //index, instant, callbacks, toTop\r\n animateScroll(z,instant,true,true);\r\n }\r\n } else {\r\n if(z===panel) {\r\n index = z;\r\n //index, instant, callbacks, toTop\r\n animateScroll(z,instant,true,true);\r\n }\r\n }\r\n }\r\n }\r\n scrollify.move = function(panel) {\r\n if(panel===undefined) {\r\n return false;\r\n }\r\n if(panel.originalEvent) {\r\n panel = $(this).attr(\"href\");\r\n }\r\n move(panel,false);\r\n };\r\n scrollify.instantMove = function(panel) {\r\n if(panel===undefined) {\r\n return false;\r\n }\r\n move(panel,true);\r\n };\r\n scrollify.next = function() {\r\n if(index<names.length) {\r\n index += 1;\r\n //index, instant, callbacks, toTop\r\n animateScroll(index,false,true,true);\r\n }\r\n };\r\n scrollify.previous = function() {\r\n if(index>0) {\r\n index -= 1;\r\n //index, instant, callbacks, toTop\r\n animateScroll(index,false,true,true);\r\n }\r\n };\r\n scrollify.instantNext = function() {\r\n if(index<names.length) {\r\n index += 1;\r\n //index, instant, callbacks, toTop\r\n animateScroll(index,true,true,true);\r\n }\r\n };\r\n scrollify.instantPrevious = function() {\r\n if(index>0) {\r\n index -= 1;\r\n //index, instant, callbacks, toTop\r\n animateScroll(index,true,true,true);\r\n }\r\n };\r\n scrollify.destroy = function() {\r\n if(!initialised) {\r\n return false;\r\n }\r\n if(settings.setHeights) {\r\n $(settings.section).each(function() {\r\n $(this).css(\"height\",\"auto\");\r\n\t\t/* $(this).css({\r\n \"height\": $(window).height()\r\n });*/\r\n });\r\n }\r\n $window.off(\"resize\",util.handleResize);\r\n if(settings.scrollbars) {\r\n $window.off('mousedown', manualScroll.handleMousedown);\r\n $window.off('mouseup', manualScroll.handleMouseup);\r\n $window.off('scroll', manualScroll.handleScroll);\r\n }\r\n $window.off(wheelEvent,manualScroll.wheelHandler);\r\n $window.off('keydown', manualScroll.keyHandler);\r\n\r\n if (document.addEventListener && settings.touchScroll) {\r\n document.removeEventListener('touchstart', swipeScroll.touchHandler, false);\r\n document.removeEventListener('touchmove', swipeScroll.touchHandler, false);\r\n document.removeEventListener('touchend', swipeScroll.touchHandler, false);\r\n }\r\n heights = [];\r\n names = [];\r\n elements = [];\r\n overflow = [];\r\n };\r\n scrollify.update = function() {\r\n if(!initialised) {\r\n return false;\r\n }\r\n util.handleUpdate();\r\n };\r\n scrollify.current = function() {\r\n return elements[index];\r\n };\r\n scrollify.currentIndex = function() {\r\n return index;\r\n };\r\n scrollify.disable = function() {\r\n disabled = true;\r\n };\r\n scrollify.enable = function() {\r\n disabled = false;\r\n if (initialised) {\r\n //instant,callbacks\r\n manualScroll.calculateNearest(false,false);\r\n }\r\n };\r\n scrollify.isDisabled = function() {\r\n return disabled;\r\n };\r\n scrollify.setOptions = function(updatedOptions) {\r\n if(!initialised) {\r\n return false;\r\n }\r\n if(typeof updatedOptions === \"object\") {\r\n settings = $.extend(settings, updatedOptions);\r\n util.handleUpdate();\r\n } else if(window.console) {\r\n console.warn(\"Scrollify warning: setOptions expects an object.\");\r\n }\r\n };\r\n $.scrollify = scrollify;\r\n return scrollify;\r\n}));\r\n"],"names":["next","currentIndex","require","$","on","event","slick","currentSlide","nextSlide","type","toArray","forEach","e","i","addClass","dotSize","currentSlideIndex","totalDots","document","querySelectorAll","length","setTimeout","changeDots","element","dotShown","activeDotIndex","currentDotIndex","dotsTobeShown","min","max","shouldDotBeShown","removeClass","className","match","join","console","log","getDotSize","async","gotoNextSlideListener","$slider","investorType","val","onVideoLoaded","video","this","mozHasAudio","Boolean","webkitAudioDecodedByteCount","audioTracks","show","hide","removeEventListener","hasClass","_","prevSlideNumber","newSlideNumber","find","each","pause","isNaN","currentTime","firstVideo","get","swapVideoSource","window","innerWidth","play","call","addEventListener","loop","videoChange","l","videoSliders","html","array","randomIndex","Math","floor","random","shuffle","autoplay","slidesToShow","slidesToScroll","arrows","prevArrow","nextArrow","dots","draggable","dotsClass","swipe","mobileFirst","responsive","breakpoint","settings","currVideo","click","videos","parent","x","muted","loadVideoCarousel","global","define","undefined","timeoutId","timeoutId2","portHeight","manualScroll","swipeScroll","util","heights","names","elements","overflow","index","interstitialIndex","hasLocation","$window","top","scrollTop","scrollable","locked","scrolled","disabled","scrollSamples","scrollTime","Date","getTime","firstLoad","initialised","destination","wheelEvent","onmousewheel","section","sectionName","interstitialSection","easing","scrollSpeed","offset","scrollbars","target","standardScrollElements","setHeights","overflowScroll","updateHash","touchScroll","before","after","afterResize","afterRender","getportHeight","height","animateScroll","instant","callbacks","toTop","parseInt","outerHeight","history","pushState","replaceState","warn","location","hash","stop","velocity","duration","mobileHA","animate","promise","done","isAccelerating","samples","average","num","sum","lastElements","slice","ceil","scrollify","options","interstitialScroll","pos","sizePanels","keepPosition","selector","$this","is","css","calculatePositions","scroll","data","toString","replace","atTop","atBottom","t","b","c","d","pow","handleMousedown","handleMouseup","calculateNearest","handleScroll","clearTimeout","diff","closest","prev","abs","wheelHandler","preventDefault","currentScrollTime","value","originalEvent","wheelDelta","deltaY","detail","delta","shift","push","keyHandler","activeElement","readOnly","keyCode","init","touches","touchHandler","touch","touchstart","y","pageY","touchmove","pageX","timeStamp","touchend","direction","timeGap","distance","up","down","eventListenerOptions","passive","refresh","withCallback","handleUpdate","handleResize","handleOrientation","extend","move","panel","z","attr","instantMove","previous","instantNext","instantPrevious","destroy","off","update","current","disable","enable","isDisabled","setOptions","updatedOptions","factory"],"sourceRoot":""}