try { window.onload = function() { if (document.getElementById("cta-pixel-anchor")) { if ( "IntersectionObserver" in window && "IntersectionObserverEntry" in window && "intersectionRatio" in window.IntersectionObserverEntry.prototype ) { let observer = new IntersectionObserver(entries => { if (entries[0].boundingClientRect.y < 0) { document.body.classList.add("cta-attached"); } else { document.body.classList.remove("cta-attached"); } }); observer.observe(document.getElementById("cta-pixel-anchor")); } } }; jQuery(function($) { "use strict"; // enable Copy to Clipboard on copy btn new ClipboardJS('.btn-copy'); $(document).ready(function($) { let firstPresentImageUrl = $(".presents-container input:first-child").val(); let secondPresentImageUrl = $(".presents-container input:last-child").val(); let presentsContainer = $(".presents-container"); // xmas 2020 $('.xmas-2020.second-section').hide(); $('.xmas-btn-cancel').on('click', function () { $('.popup-overlay').hide(); $(".go-back").show(); }); $('.popup-close').on('click', function () { $('.popup-overlay').hide(); $(".go-back").show(); }); $('.go-back').on('click', function () { $(this).hide(); $('.xmas-2020.first-section').show(); $('.xmas-2020.second-section').hide(); let popups = $('.popup-container'); popups.each(function() { $(this).hide(); }); $('.static-presents').hide(); }); $('#xmas2020start').on('click', function () { let presentCounter = 0; var neoteric = 'requestAnimationFrame' in $(window), move = 'mousemove.drag touchmove.drag', release = 'mouseup.drag touchend.drag', animationClasses = ['animate-drop-left', 'animate-drop-right']; $('.xmas-2020.first-section').hide(); $('.xmas-2020.second-section').show(); $('.go-back').show(); function showXmasPopup() { let overlay = $('.popup-overlay'); let popups = $('.popup-container'); popups.each(function() { $(this).hide(); }) let randomNumber = Math.floor(Math.random() * popups.length) + 1; overlay.show(); overlay.css({'background-color' : 'rgba(0,0,0,.5)'}); $('#popup' + randomNumber).show(); $('.go-back').hide(); } $.fn.handleShake = function () { var $el = this, $elf = $('.shake-element'); $el.on('mousedown touchstart', function(e) { if (e.type == 'mousedown' && e.which != 1) return; let runPresentGenerator = true; let downTimer = 1; setInterval( function() { downTimer++ }, 1000); setTimeout(function () { $('.static-presents').show(); }, 1200); setInterval(function () { if (runPresentGenerator) { presentCounter++ let randomClass = animationClasses[Math.floor(Math.random() * animationClasses.length)]; let randomRotation = Math.floor(Math.random() * 105) + (-15); let randomTop = Math.floor(Math.random() * 275) + 75; let randomLeft = Math.floor(Math.random() * 145) + 15; let randomHeight = Math.floor(Math.random() * 80) + 30; let css = "height:" + randomHeight + "px;" + " top:" + randomTop + "px;" + " left:" + randomLeft + "px;" + " transform: rotate(" + randomRotation + "deg)"; let presentEl = ""; presentsContainer.append(presentEl); setTimeout(function () { let randomClass = animationClasses[Math.floor(Math.random() * animationClasses.length)]; let randomRotationNd = Math.floor(Math.random() * 105) + (-15); let randomTopNd = Math.floor(Math.random() * 275) + 75; let randomLeftNd = Math.floor(Math.random() * 145) + 15; let randomHeight = Math.floor(Math.random() * 80) + 30; let cssNd = "height:" + randomHeight + "px;" + " top:" + randomTopNd + "px;" + " left:" + randomLeftNd + "px;" + " transform:" + randomRotationNd + "px"; let presentElNd = ""; presentsContainer.append(presentElNd); }, 50) } }, 300); var marginX = $el.parent().width()-$el.outerWidth(), oldX = $el.position().left, newX, grabbingTouch = e.originalEvent.touches, startX = grabbingTouch ? grabbingTouch[0].pageX : e.pageX; $(window).on(move, function(e) { // shake the elf let offset = $elf.offset(); let center_y = offset.top; let center_x = offset.left; let touch = e.originalEvent.touches; let mouse_x = touch ? touch[0].pageX : e.pageX; let mouse_y = touch ? touch[0].pageY : e.pageY; let radians = Math.atan2(mouse_x - center_x, mouse_y - center_y); let speedConst = 22; let degree = (radians * speedConst) * -1; if (neoteric) requestAnimationFrame(setShakeElement($elf, degree)); else setShakeElement($elf, degree); // move grab handle var contact = e.originalEvent.touches, endX = contact ? contact[0].pageX : e.pageX; newX = Math.max(0, Math.min(oldX+endX-startX, marginX)); if (neoteric) requestAnimationFrame(setHandleElement($el, newX)); else setHandleElement($el, newX); }).one(release, function() { // stop shaking $(this).off(move); // show popup if (downTimer >= 3) { showXmasPopup(); } downTimer = 0; // stop presents from generating runPresentGenerator = false; // empty presents container presentsContainer.children("img").remove(); }); e.preventDefault(); }); return this; } function setHandleElement(handleObj, newX) { handleObj.css('left', newX); } function setShakeElement(shakeObj, degree) { shakeObj.css('-moz-transform', 'rotatez(' + degree + 'deg)'); shakeObj.css('-webkit-transform', 'rotatez(' + degree + 'deg)'); shakeObj.css('-o-transform', 'rotatez(' + degree + 'deg)'); shakeObj.css('-ms-transform', 'rotatez(' + degree + 'deg)'); } $.fn.directShake = function () { var $el = this; $el.on('mousedown touchstart', function(e) { $el.css('z-index', 10); let runPresentGenerator = true; if (e.type == 'mousedown' && e.which != 1) return; let downTimer = 1; setInterval( function() { downTimer++ }, 1000); setTimeout(function () { $('.static-presents').show(); }, 1200); setInterval(function () { if (runPresentGenerator) { presentCounter++ let randomClass = animationClasses[Math.floor(Math.random() * animationClasses.length)]; let randomRotation = Math.floor(Math.random() * 105) + (-15); let randomTop = Math.floor(Math.random() * 275) + 75; let randomLeft = Math.floor(Math.random() * 145) + 15; let randomHeight = Math.floor(Math.random() * 80) + 30; let css = "height:" + randomHeight + "px;" + " top:" + randomTop + "px;" + " left:" + randomLeft + "px;" + " transform: rotate(" + randomRotation + "deg)"; let presentEl = ""; presentsContainer.append(presentEl); setTimeout(function () { let randomClass = animationClasses[Math.floor(Math.random() * animationClasses.length)]; let randomRotationNd = Math.floor(Math.random() * 105) + (-15); let randomTopNd = Math.floor(Math.random() * 275) + 75; let randomLeftNd = Math.floor(Math.random() * 145) + 15; let randomHeight = Math.floor(Math.random() * 80) + 30; let cssNd = "height:" + randomHeight + "px;" + " top:" + randomTopNd + "px;" + " left:" + randomLeftNd + "px;" + " transform:" + randomRotationNd + "px"; let presentElNd = ""; presentsContainer.append(presentElNd); }, 50) } }, 300); $(window).on(move, function(e) { let offset = $el.offset(); let center_y = offset.top; let center_x = offset.left; let touch = e.originalEvent.touches; let mouse_x = touch ? touch[0].pageX : e.pageX; let mouse_y = touch ? touch[0].pageY : e.pageY; let radians = Math.atan2(mouse_x - center_x, mouse_y - center_y); let speedConst = 22; let degree = (radians * speedConst) * -1; if (neoteric) requestAnimationFrame(setShakeElement); else setShakeElement($el, degree); }).one(release, function() { // stop shaking $(this).off(move); // show popup if (downTimer >= 3) { showXmasPopup(); } downTimer = 0; // stop presents from generating runPresentGenerator = false; // empty presents container presentsContainer.children("img").remove(); }); e.preventDefault(); }); return this; } $('.grabbing-shake-element').handleShake(); $('.shake-element').directShake(); }); // ACCORDION var acc = $('.accordion-container .accordion') var i; for (i = 0; i < acc.length; i++) { acc[i].addEventListener("click", function () { this.classList.toggle("active"); var panel = this.nextElementSibling; if (panel.style.maxHeight) { panel.style.maxHeight = null; } else { panel.style.maxHeight = panel.scrollHeight + "px"; } }); } //ACCORDION END $(document).find('.slick-sm').slick({ //lazyLoad: 'ondemand', //centerMode: true, dots: false, infinite: false, speed: 300, slidesToShow: 4, slidesToScroll: 1, responsive: [ { breakpoint: 768, settings: { slidesToShow: 2, slidesToScroll: 1, arrows: false, autoplay: true, autoplaySpeed: 2000 } } // You can unslick at a given breakpoint now by adding: // settings: "unslick" // instead of a settings object ] }); $(document).find('.slick-lg').slick({ //lazyLoad: 'ondemand', //centerMode: true, dots: false, infinite: false, speed: 300, slidesToShow: 4, slidesToScroll: 1, responsive: [ { breakpoint: 768, settings: { slidesToShow: 2, slidesToScroll: 1, arrows: false, autoplay: true, autoplaySpeed: 2000 } } // You can unslick at a given breakpoint now by adding: // settings: "unslick" // instead of a settings object ] }); // ***** LANDINGPAGE STUFFS ***** $('.center').on('afterChange init', function(event, slick, direction){ // console.log('afterChange/init', event, slick, slick.$slides); // remove all prev/next slick.$slides.find('.inner').removeClass('prev').removeClass('next'); // find current slide for (var i = 0; i < slick.$slides.length; i++) { var $slide = $(slick.$slides[i]); if ($slide.hasClass('slick-current')) { // update DOM siblings $slide.prevAll().find('.inner').addClass('prev'); $slide.nextAll().find('.inner').addClass('next'); break; } } } ) .on('beforeChange', function(event, slick) { // optional, but cleaner maybe // remove all prev/next // slick.$slides.find('.inner').removeClass('prev').removeClass('next'); }).slick({ centerMode: true, centerPadding: '160px', slidesToShow: 5, arrows: false, responsive: [ { breakpoint: 768, settings: { arrows: false, centerMode: true, centerPadding: '40px', slidesToShow: 3 } }, { breakpoint: 480, settings: { arrows: false, centerMode: true, centerPadding: '40px', slidesToShow: 3 } } ] }); $('.infoboxes').slick({ centerMode: true, centerPadding: '60px', slidesToShow: 3, responsive: [ { breakpoint: 768, settings: { arrows: false, centerMode: true, centerPadding: '40px', slidesToShow: 3 } }, { breakpoint: 480, settings: { arrows: false, centerMode: true, centerPadding: '40px', slidesToShow: 1 } } ] }); $(function(){ (window.location != window.parent.location) ? $("body").addClass("inlobby") : $("body").addClass("outlobby"); if (!$('body').hasClass("landingpage")) { $('.sticky-footer .left').html($('.ctatext').html()); $('.sticky-footer .right').html($('.ctabtn').html()); } $('footer.footer ul.nav li:has(a.hidden-mobile)').addClass('hidden-mobile'); $('footer.footer ul.nav li:has(a.hidden-lobby)').addClass('hidden-lobby'); }); }); function resizeInput() { $(this).attr('size', $(this).val().length); } $('input[type="text"]') // event handler .keyup(resizeInput) // resize on page load .each(resizeInput); let bottom = $('#bottom'); if (bottom.length) { $(window).scroll(function() { var hT = bottom.offset().top, hH = bottom.outerHeight(), wH = $(window).height(), wS = $(this).scrollTop(); console.log((hT-wH) , wS); if (wS > (hT+hH-wH)){ document.body.classList.add("ft-attached"); } else { document.body.classList.remove("ft-attached"); } }); } }); } catch (e) { console.error('Error in file:/templates/ozwin/js/lp_template.js?b91455c3d50ca7b056dcd87a797e9742; Error:' + e.message); }; try { // Slick | https://kenwheeler.github.io/slick/ !function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function(i){"use strict";var e=window.Slick||{};(e=function(){var e=0;return function(t,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(t),appendDots:i(t),arrows:!0,asNavFor:null,prevArrow:'',nextArrow:'',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i('