{"version":3,"file":"Home.js","sources":["Home.js"],"sourcesContent":["/*==============================================================================================================================\r\n| Author Ignia, LLC\r\n| Client GoldSim\r\n| Project Website\r\n\\=============================================================================================================================*/\r\n\r\n/**\r\n * HOME SCRIPTS\r\n * @file A collection of scripts for wiring up events relevant to the homepage, such as opening the video in a modal window,\r\n * playing the video, and wiring up the carousel.\r\n */\r\n;(function(window, document, goldSimWeb, $, undefined) {\r\n\r\n /*============================================================================================================================\r\n | FUNCTION: INIT\r\n \\---------------------------------------------------------------------------------------------------------------------------*/\r\n /**\r\n * Provides lazy loading for images so that the page can load quickly, with images being filled in after-the-fact. This is\r\n * useful for the homepage given how long it is, and especially with the carousels, as those don't affect the initial user\r\n * experience of the page.\r\n */\r\n function init() {\r\n var deferredImages = document.getElementsByTagName('img');\r\n for (var i = 0; i < deferredImages.length; i++) {\r\n if (deferredImages[i].getAttribute('data-src')) {\r\n deferredImages[i].setAttribute('src', deferredImages[i].getAttribute('data-src'));\r\n }\r\n }\r\n }\r\n window.onload = init;\r\n\r\n /*============================================================================================================================\r\n | FUNCTION: INIT VIDEO\r\n \\---------------------------------------------------------------------------------------------------------------------------*/\r\n /**\r\n * Dynamically loads the MPEG-DASH video player upon request. This is done dynamically as we don't want the video to begin\r\n * until the user clicks on the popup, as most users will just pass over it.\r\n */\r\n function initVideo() {\r\n\r\n /*--------------------------------------------------------------------------------------------------------------------------\r\n | DECLARE VARIABLES\r\n \\-------------------------------------------------------------------------------------------------------------------------*/\r\n var\r\n manifestUrl = 'https://media.GoldSim.com/Videos/Home/GoldSim_Overview_dash.mpd',\r\n fallbackUrl = 'https://31cac97e830ee523d21d-3991774b1862aed7fa3658c502b53d27.ssl.cf1.rackcdn.com/GoldSimm_Overview_082718.mp4',\r\n dashPlayer = dashjs.MediaPlayer().create(),\r\n isSafari = !!navigator.userAgent.match(/Version\\/[\\d\\.]+.*Safari/),\r\n isIos = /iPhone|iPod/.test(navigator.userAgent) && !window.MSStream,\r\n isIe11 = !!navigator.userAgent.match(/Trident\\/7\\./);\r\n\r\n /*--------------------------------------------------------------------------------------------------------------------------\r\n | CONFIGURE PLAYER\r\n \\-------------------------------------------------------------------------------------------------------------------------*/\r\n dashPlayer.updateSettings({\r\n 'streaming' : {\r\n 'retryAttemps' : {\r\n 'MPD' : 2,\r\n 'XLinkExpansion' : 2,\r\n 'IndexSegment' : 3,\r\n 'InitializationSegment' : 3,\r\n 'BitstreamSwitchingSegment': 3\r\n },\r\n 'abr' : {\r\n 'autoSwitchBitrate' : {\r\n 'audio' : false,\r\n 'video' : true\r\n }\r\n }\r\n }\r\n });\r\n\r\n /*--------------------------------------------------------------------------------------------------------------------------\r\n | INITIALIZE PLAYER\r\n \\-------------------------------------------------------------------------------------------------------------------------*/\r\n if (!(isIos && isSafari) && !isIe11) {\r\n dashPlayer.initialize(document.querySelector('#IntroductionVideo'), manifestUrl, true);\r\n }\r\n\r\n /*--------------------------------------------------------------------------------------------------------------------------\r\n | HANDLE UNSUPPORTED BROWSERS\r\n \\-------------------------------------------------------------------------------------------------------------------------*/\r\n else {\r\n $('#IntroductionVideo source').attr('src', fallbackUrl);\r\n $('#IntroductionVideo')[0].play();\r\n }\r\n\r\n }\r\n\r\n /*============================================================================================================================\r\n | JQUERY: WIRE UP ACTIONS\r\n \\---------------------------------------------------------------------------------------------------------------------------*/\r\n $(document).ready(function() {\r\n\r\n /*--------------------------------------------------------------------------------------------------------------------------\r\n | ESTABLISH VARIABLES\r\n \\-------------------------------------------------------------------------------------------------------------------------*/\r\n var isVideoLoaded = false;\r\n var introductionPanelPosition = ($('#Introduction').offset().top - 24);\r\n\r\n /*--------------------------------------------------------------------------------------------------------------------------\r\n | HANDLE SCROLL CLICK\r\n \\-------------------------------------------------------------------------------------------------------------------------*/\r\n $('img.arrow.scroll').click(function() {\r\n $('html,body').animate({\r\n scrollTop : introductionPanelPosition\r\n }, 1000);\r\n });\r\n\r\n /*--------------------------------------------------------------------------------------------------------------------------\r\n | INITIALIZE CAROUSEL\r\n \\-------------------------------------------------------------------------------------------------------------------------*/\r\n $('.owl-carousel.large').owlCarousel({\r\n items : 1,\r\n margin : 0,\r\n autoHeight : true,\r\n nav : true,\r\n navText : [\r\n '',\r\n ''\r\n ],\r\n loop : false\r\n });\r\n $('.owl-carousel.small').owlCarousel({\r\n items : 1,\r\n margin : 0,\r\n autoHeight : false,\r\n nav : true,\r\n navText : [\r\n '',\r\n ''\r\n ],\r\n loop : false\r\n });\r\n\r\n /*--------------------------------------------------------------------------------------------------------------------------\r\n | CAROUSEL: HANDLE SCROLLING\r\n \\-------------------------------------------------------------------------------------------------------------------------*/\r\n /**\r\n * Handle toggling of carousel slide text / screenshot\r\n */\r\n $.fn.toggleText = function (textOriginal, textToggled) {\r\n if (this.text() == textOriginal) {\r\n this.text(textToggled);\r\n }\r\n else {\r\n this.text(textOriginal);\r\n }\r\n return this;\r\n };\r\n $('a.js-toggle-slide').click(function () {\r\n $(this).siblings('.description, .screenshot').toggleClass('is-hidden');\r\n $(this).toggleText('View Screenshot', 'View Description');\r\n });\r\n\r\n /*--------------------------------------------------------------------------------------------------------------------------\r\n | INITIALIZE VIDEO\r\n \\-------------------------------------------------------------------------------------------------------------------------*/\r\n /**\r\n * Handle video playback based on Foundation Reveal events\r\n */\r\n $(document).on('open.zf.reveal', '[data-reveal]', function () {\r\n\r\n // Play, if already loaded\r\n if (isVideoLoaded === true) {\r\n $('#IntroductionVideo')[0].play();\r\n return;\r\n }\r\n\r\n // Initialize video\r\n initVideo();\r\n\r\n // Toggle video loaded\r\n isVideoLoaded = true;\r\n\r\n // Track video play event\r\n ga('send', 'event', 'Video', 'Play', 'Hompage Splash Video');\r\n\r\n });\r\n\r\n /*--------------------------------------------------------------------------------------------------------------------------\r\n | CLOSE VIDEO\r\n \\-------------------------------------------------------------------------------------------------------------------------*/\r\n $(document).on('closed.zf.reveal', '[data-reveal]', function () {\r\n $('#IntroductionVideo')[0].pause();\r\n });\r\n\r\n });\r\n\r\n}(window, document, window.goldSimWeb = window.goldSimWeb || {}, jQuery));"],"names":["window","document","$","onload","deferredImages","getElementsByTagName","i","length","getAttribute","setAttribute","ready","isVideoLoaded","introductionPanelPosition","offset","top","click","animate","scrollTop","owlCarousel","items","margin","autoHeight","nav","navText","loop","fn","toggleText","textOriginal","textToggled","this","text","siblings","toggleClass","on","dashPlayer","isSafari","isIos","isIe11","play","dashjs","MediaPlayer","create","navigator","userAgent","match","test","MSStream","updateSettings","streaming","retryAttemps","MPD","XLinkExpansion","IndexSegment","InitializationSegment","BitstreamSwitchingSegment","abr","autoSwitchBitrate","audio","video","attr","initialize","querySelector","ga","pause","goldSimWeb","jQuery"],"mappings":"AAWC,CAAC,SAASA,EAAQC,EAAsBC,GAkBvCF,EAAOG,OARP,WAEE,IADA,IAAIC,EAAiBH,EAASI,qBAAqB,KAAK,EAC/CC,EAAI,EAAGA,EAAIF,EAAeG,OAAQD,CAAC,GACtCF,EAAeE,GAAGE,aAAa,UAAU,GAC3CJ,EAAeE,GAAGG,aAAa,MAAOL,EAAeE,GAAGE,aAAa,UAAU,CAAC,CAGtF,EAgEAN,EAAED,CAAQ,EAAES,MAAM,WAKhB,IAAIC,EAA0B,CAAA,EAC1BC,EAA6BV,EAAE,eAAe,EAAEW,OAAO,EAAEC,IAAM,GAKnEZ,EAAE,kBAAkB,EAAEa,MAAM,WAC1Bb,EAAE,WAAW,EAAEc,QAAQ,CACrBC,UAA0BL,CAC5B,EAAG,GAAI,CACT,CAAC,EAKDV,EAAE,qBAAqB,EAAEgB,YAAY,CACnCC,MAA4B,EAC5BC,OAA4B,EAC5BC,WAA4B,CAAA,EAC5BC,IAA4B,CAAA,EAC5BC,QAA4B,CAC1B,iCACA,8BAEFC,KAA4B,CAAA,CAC9B,CAAC,EACDtB,EAAE,qBAAqB,EAAEgB,YAAY,CACnCC,MAA4B,EAC5BC,OAA4B,EAC5BC,WAA4B,CAAA,EAC5BC,IAA4B,CAAA,EAC5BC,QAA4B,CAC1B,iCACA,8BAEFC,KAA4B,CAAA,CAC9B,CAAC,EAQDtB,EAAEuB,GAAGC,WAAa,SAAUC,EAAcC,GAOxC,OANIC,KAAKC,KAAK,GAAKH,EACjBE,KAAKC,KAAKF,CAAW,EAGrBC,KAAKC,KAAKH,CAAY,EAEjBE,IACT,EACA3B,EAAE,mBAAmB,EAAEa,MAAM,WAC3Bb,EAAE2B,IAAI,EAAEE,SAAS,2BAA2B,EAAEC,YAAY,WAAW,EACrE9B,EAAE2B,IAAI,EAAEH,WAAW,kBAAmB,kBAAkB,CAC1D,CAAC,EAQDxB,EAAED,CAAQ,EAAEgC,GAAG,iBAAkB,gBAAiB,WAGhD,IAtHAC,EACAC,EACAC,EACAC,EAmHsB,CAAA,IAAlB1B,EACFT,EAAE,oBAAoB,EAAE,GAAGoC,KAAK,GAvHlCJ,EAA4BK,OAAOC,YAAY,EAAEC,OAAO,EACxDN,EAA4B,CAAC,CAACO,UAAUC,UAAUC,MAAM,0BAA0B,EAClFR,EAA4B,cAAcS,KAAKH,UAAUC,SAAS,GAAK,CAAC3C,EAAO8C,SAC/ET,EAA4B,CAAC,CAACK,UAAUC,UAAUC,MAAM,cAAc,EAKxEV,EAAWa,eAAe,CACxBC,UAA4B,CAC1BC,aAA0B,CACxBC,IAAwB,EACxBC,eAAwB,EACxBC,aAAwB,EACxBC,sBAA0B,EAC1BC,0BAA6B,CAC/B,EACAC,IAA0B,CACxBC,kBAAwB,CACtBC,MAAsB,CAAA,EACtBC,MAAsB,CAAA,CACxB,CACF,CACF,CACF,CAAC,EAKKtB,GAASD,GAAcE,GAQ3BnC,EAAE,2BAA2B,EAAEyD,KAAK,MAtCR,gHAsC0B,EACtDzD,EAAE,oBAAoB,EAAE,GAAGoC,KAAK,GARhCJ,EAAW0B,WAAW3D,EAAS4D,cAAc,oBAAoB,EAhCrC,kEAgCqD,CAAA,CAAI,EAiGrFlD,EAAgB,CAAA,EAGhBmD,GAAG,OAAQ,QAAS,QAAS,OAAQ,sBAAsB,EAE7D,CAAC,EAKD5D,EAAED,CAAQ,EAAEgC,GAAG,mBAAoB,gBAAiB,WAClD/B,EAAE,oBAAoB,EAAE,GAAG6D,MAAM,CACnC,CAAC,CAEH,CAAC,CAEH,EAAE/D,OAAQC,UAAUD,OAAOgE,WAAahE,OAAOgE,YAAc,GAAIC,OAAO"}