{"version":3,"sources":["app/js/custom-tooltip.js","app/js/common/modal-popup.js","app/js/common/add-to-basket.js","app/js/buy-page.js","app/js/buy-plan.js","app/js/common/tooltip.js","app/js/common/beauty-slider.js","app/js/common/session-expiry-feature.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"buy-page.min.js","sourcesContent":["var PES = PES || {};\r\nPES.CustomTooltip = function () {\r\n var delay = 300;\r\n\r\n function initTooltip(targetOpenId, targetCloseId, containerId, triggerEvent, closeEvent, closePreviousButtonTooltip) {\r\n $(targetOpenId)\r\n .on(triggerEvent,\r\n function (event) {\r\n var $targetElement = $(this).closest(targetOpenId);\r\n var currTarget = $targetElement.find(\"input\").length > 0\r\n ? $targetElement.find(\"input\")\r\n : $targetElement.find(\"button\");\r\n var targetEnabled = currTarget.length === 0 || !currTarget.prop('disabled');\r\n if (targetEnabled) {\r\n setTimeout(function () {\r\n $targetElement.popover('dispose');\r\n var tooltip = $targetElement.popover({\r\n content: $(containerId).html(),\r\n placement: \"top\",\r\n trigger: \"manual\",\r\n html: true\r\n });\r\n tooltip.popover(\"show\");\r\n }, delay);\r\n }\r\n });\r\n\r\n $(targetCloseId).on(closeEvent,\r\n function (event) {\r\n var tooltipIdentifier = $(targetOpenId).attr('aria-describedby');\r\n if (tooltipIdentifier && !$('#' + tooltipIdentifier).is(':hover')) {\r\n $(targetOpenId).popover('hide');\r\n }\r\n });\r\n }\r\n return {\r\n initTooltip: initTooltip\r\n };\r\n};\r\n","var PES = PES || {};\r\nPES.ModalPopup = function () {\r\n\r\n var showModal = function () {\r\n var modalTarget = \".open-modal\";\r\n var slideItem = \".slide-container > .slide-item\";\r\n var currentSlide;\r\n var thumbSelectors = \".thumb__selectors > li\";\r\n var currentThumb;\r\n var modalWindow = \".modal-window\";\r\n var modalWindowPlusProSlider = \".modal-window.plus-pro-slider\";\r\n var isPlus = \".plus-section\";\r\n var isPro = \".pro-section\";\r\n var plusButton = \"plus-button\";\r\n var proButton = \"pro-button\";\r\n var selectGalleryVersion = \".version__button--select\";\r\n var carouselContainer = \".modal-window .carousel-template\";\r\n var bodyContainer = 'body';\r\n var imageIndex;\r\n var targetWindow;\r\n\r\n var activatePlus = function () {\r\n $(isPro).removeClass(\"active\");\r\n $(\".pro-button\").removeClass(\"active\");\r\n $(isPlus).addClass(\"active\");\r\n $(\".plus-button\").addClass(\"active\");\r\n $(carouselContainer).removeClass(\"pro-banner\");\r\n }\r\n\r\n var activatePro = function () {\r\n $(isPlus).removeClass(\"active\");\r\n $(\".plus-button\").removeClass(\"active\");\r\n $(isPro).addClass(\"active\");\r\n $(\".pro-button\").addClass(\"active\");\r\n $(carouselContainer).addClass(\"pro-banner\");\r\n }\r\n\r\n $(modalTarget).on(\"click\", function (e) {\r\n e.preventDefault();\r\n imageIndex = $(this).children(\"img\").attr(\"data-index\");\r\n targetWindow = $(this).attr(\"data-target\");\r\n\r\n if ($(this).hasClass(\"plus-section\")) {\r\n $(modalWindowPlusProSlider).addClass(\"active\");\r\n activatePlus();\r\n } else if ($(this).hasClass(\"pro-section\")) {\r\n $(modalWindowPlusProSlider).addClass(\"active\");\r\n activatePro();\r\n } else if ($(modalWindow).hasClass(targetWindow)) {\r\n $(\".\" + targetWindow).addClass(\"active\");\r\n } else if (!$(this).hasClass('plus-addin-button')) {\r\n $(modalWindow).addClass('active');\r\n }\r\n\r\n if ($(modalWindow).hasClass(\"active\")) {\r\n $(bodyContainer).addClass(\"fixed-position\");\r\n }\r\n\r\n currentSlide = $(slideItem)[imageIndex];\r\n currentThumb = $(thumbSelectors)[imageIndex];\r\n\r\n $(currentSlide).siblings().removeClass(\"active\");\r\n $(currentSlide).addClass(\"active\");\r\n $(currentThumb).siblings().children(\".slide-select\").removeClass(\"active\");\r\n $(currentThumb).children(\".slide-select\").addClass(\"active\");\r\n });\r\n\r\n $(selectGalleryVersion).on(\"click\", function () {\r\n if ($(this).hasClass(plusButton)) {\r\n $(\".\" + plusButton).addClass(\"active\");\r\n $(\".\" + proButton).removeClass(\"active\");\r\n activatePlus();\r\n } else if ($(this).hasClass(proButton)) {\r\n $(\".\" + proButton).addClass(\"active\");\r\n $(\".\" + plusButton).removeClass(\"active\");\r\n activatePro();\r\n }\r\n });\r\n\r\n var closeModalWindow = function () {\r\n if (!$(\".modal-window.pro-suggestion\").hasClass(\"active\")) {\r\n $(modalWindow).removeClass(\"active\");\r\n if ($(isPlus).hasClass(\"active\") || $(isPro).hasClass(\"active\")) {\r\n $(isPlus).removeClass(\"active\");\r\n $(isPro).removeClass(\"active\");\r\n $(\".\" + proButton).removeClass(\"active\");\r\n $(\".\" + plusButton).removeClass(\"active\");\r\n }\r\n }\r\n $(bodyContainer).removeClass(\"fixed-position\");\r\n }\r\n\r\n $(modalWindow).on(\"click\", function (e) {\r\n e.preventDefault();\r\n var target = e.target;\r\n\r\n if ($(target).hasClass(\"close-button\") || (!$(target).parents(\".layout-section-content.carousel-container\").length && !$(target).parents(\".modal-window.pro-suggestion\").length)) {\r\n closeModalWindow();\r\n }\r\n });\r\n\r\n $(document).on(\"keydown\", function (e) {\r\n if (e.keyCode === 27 && $(modalWindow).hasClass(\"active\")) {\r\n closeModalWindow();\r\n }\r\n });\r\n }\r\n\r\n var init = function () {\r\n showModal();\r\n }\r\n\r\n return {\r\n init: init\r\n }\r\n}","var PES = PES || {};\r\nPES.AddToBasket = function () {\r\n\r\n var init = function () {\r\n $(\".add-to-basket > .jq-pick-up\").on(\"click\",\r\n function (e) {\r\n var paymentIntentCheckUrl = window.location.origin + \"/user-has-payment-intent\";\r\n $('.btn.btn--big').attr(\"disabled\", true);\r\n var btn = this;\r\n var loadingAnimation = $(btn).attr('data-loading-text');\r\n $.ajax({\r\n cache: false,\r\n url: paymentIntentCheckUrl,\r\n type: \"get\",\r\n contentType: \"application/json\",\r\n success: function (result) {\r\n if (!result.HasPaymentIntent) {\r\n $(btn).html(loadingAnimation);\r\n var trackingData = $(btn).data('tracking');\r\n var quantityElement = $(btn).parents(\".product-box\").find(\".qty-input\");\r\n var quantity = quantityElement.data(\"quantity\");\r\n PES.GATracking.AddToBasket(trackingData.name, trackingData.id, trackingData.price, quantity);\r\n $(btn).parent(\"form.add-to-basket\").submit();\r\n } else {\r\n $('.btn.btn--big').attr(\"disabled\", false);\r\n $('.modal--payment-intent').showModal();\r\n e.preventDefault();\r\n e.stopPropagation();\r\n return false;\r\n }\r\n }\r\n });\r\n e.preventDefault();\r\n });\r\n }\r\n\r\n return {\r\n init: init\r\n };\r\n}();","PES = PES || {}\r\nPES.Buy = function () {\r\n var stepTitle = '.buy-step__title.js-buy-step-1-title';\r\n var topProductBoxWithOto = '#both-services > .box_1.plus-and-pro';\r\n var animatedContainerItems = '.buy-step__content.js-buy-step-1 > .product_1';\r\n var selectAddinContainer = '.buy-step__content.js-buy-step-1';\r\n var mainContainer = '.main__container';\r\n var buttonToggle = '#toggle-addins';\r\n var slideItems = $('.addin-vs-oto .slide-step-item');\r\n var toggleSpeed = 200;\r\n var stepOnePosition;\r\n var documentScrollPosition;\r\n var selectVersionBtn = '.container.version-select > .btn';\r\n var selectPlusVersion = '.container.version-select > .btn.plus-button';\r\n var selectProVersion = '.container.version-select > .btn.pro-button';\r\n var selectPmoVersion = '.container.version-select > .btn.pmo-button';\r\n var selectEnterpriseVersion = '.container.version-select > .btn.enterprise-button';\r\n var openModalButton = 'a.js-open-modal';\r\n var productContainer = '.buy-step > .buy-step__content';\r\n\r\n var checkHighlightedProduct = function () {\r\n if ($(productContainer).hasClass('center-addin')) {\r\n $(productContainer).removeClass('center-addin');\r\n }\r\n };\r\n \r\n var resizeAnimatedContainer = function() {\r\n var containerWidth = $(stepTitle).width();\r\n //var productBoxWidth = $('.js-buy-step-1 > .product-item.product_2').outerWidth();\r\n\r\n if ($(selectAddinContainer).hasClass('addin-only')) {\r\n $(animatedContainerItems).css('width', containerWidth + 'px');\r\n } else {\r\n $(animatedContainerItems).css('width', '100%');\r\n }\r\n };\r\n\r\n var isAddinTrue = function() {\r\n if ($(stepTitle).hasClass('addin-only')) {\r\n $(slideItems).slideUp(toggleSpeed).css(\"opacity\", 0);;\r\n $('.buy-step.js-chooose-version').slideDown(toggleSpeed);\r\n }\r\n };\r\n\r\n var toggleAddinOnlyClass = function()\r\n {\r\n $(animatedContainerItems).toggleClass('addin-only');\r\n $(stepTitle).toggleClass('addin-only');\r\n $(selectAddinContainer).toggleClass('addin-only');\r\n resizeAnimatedContainer();\r\n };\r\n\r\n $(buttonToggle).on('click', function (e) {\r\n e.preventDefault();\r\n toggleAddinOnlyClass();\r\n stepOnePosition = $('.buy-steps-container').offset().top;\r\n documentScrollPosition = $(\"html, body\").scrollTop();\r\n $(\".mobile-fixed-thead\").removeClass(\"sticky-mobile\");\r\n \r\n $(slideItems).slideToggle(toggleSpeed).css(\"opacity\", 0);\r\n $('.buy-step.js-chooose-version').slideToggle(toggleSpeed);\r\n if (documentScrollPosition - stepOnePosition > 30) {\r\n $('html, body').animate({ scrollTop: stepOnePosition }, 250);\r\n }\r\n });\r\n\r\n $(stepTitle).on('click',function() {\r\n if ($(this).hasClass('addin-only')) {\r\n toggleAddinOnlyClass();\r\n }\r\n $(slideItems).slideToggle(toggleSpeed).css(\"opacity\", 1);;\r\n $('.buy-step.js-chooose-version').slideToggle(toggleSpeed);\r\n checkHighlightedProduct();\r\n });\r\n\r\n $(window).on('resize', function () {\r\n if (screen.width === window.innerWidth) {\r\n setTimeout(resizeAnimatedContainer(), 500);\r\n } else {\r\n resizeAnimatedContainer();\r\n }\r\n });\r\n\r\n var managePlusProModal = function() {\r\n if ($(selectPlusVersion).hasClass('active')) {\r\n $('.col-lg-12.plus-section').addClass('active');\r\n $('.col-lg-12.pro-section').removeClass('active');\r\n $('.col-lg-12.pmo-section').removeClass('active');\r\n $('.col-lg-12.enterprise-section').removeClass('active');\r\n $(selectPlusVersion).addClass('btn--secondary').removeClass('btn--ghost-secondary');\r\n }\r\n else\r\n {\r\n\r\n if ($(selectProVersion).hasClass('active')) {\r\n $('.col-lg-12.pro-section').addClass('active');\r\n $('.col-lg-12.plus-section').removeClass('active');\r\n $('.col-lg-12.pmo-section').removeClass('active');\r\n $('.col-lg-12.enterprise-section').removeClass('active');\r\n $(selectProVersion).addClass('btn--secondary').removeClass('btn--ghost-secondary');\r\n }\r\n else if ($(selectPmoVersion).hasClass('active')) {\r\n $('.col-lg-12.pmo-section').addClass('active');\r\n $('.col-lg-12.plus-section').removeClass('active');\r\n $('.col-lg-12.pro-section').removeClass('active');\r\n $('.col-lg-12.enterprise-section').removeClass('active');\r\n $(selectPmoVersion).addClass('btn--secondary').removeClass('btn--ghost-secondary');\r\n } else if ($(selectEnterpriseVersion).hasClass('active')) {\r\n $('.col-lg-12.enterprise-section').addClass('active');\r\n $('.col-lg-12.plus-section').removeClass('active');\r\n $('.col-lg-12.pro-section').removeClass('active');\r\n $('.col-lg-12.pmo-section').removeClass('active');\r\n $(selectEnterpriseVersion).addClass('btn--secondary').removeClass('btn--ghost-secondary');\r\n }\r\n }\r\n };\r\n\r\n $(selectVersionBtn).on('click', function () {\r\n if ($(this).hasClass('active')) {\r\n $(this).addClass('btn--secondary');\r\n $(this).siblings().removeClass('active btn--secondary');\r\n $(this).siblings().addClass('btn--ghost-secondary');\r\n } else {\r\n $(this).siblings().removeClass('active btn--secondary');\r\n $(this).siblings().addClass('btn--ghost-secondary');\r\n $(this).addClass('active btn--secondary').removeClass('btn--ghost-secondary');\r\n }\r\n managePlusProModal();\r\n });\r\n\r\n $(openModalButton).on('click', function () {\r\n if ($(this).hasClass('open-pro-section')) {\r\n $(selectProVersion).addClass('active btn--secondary');\r\n $(selectPlusVersion).removeClass('active btn--secondary').addClass('btn--ghost-secondary');\r\n $(selectPmoVersion).removeClass('active btn--secondary').addClass('btn--ghost-secondary');\r\n } else {\r\n if ($(this).hasClass('open-plus-section')) {\r\n $(selectPlusVersion).addClass('active btn--secondary');\r\n $(selectProVersion).removeClass('active btn--secondary').addClass('btn--ghost-secondary');\r\n $(selectPmoVersion).removeClass('active btn--secondary').addClass('btn--ghost-secondary');\r\n } else if ($(this).hasClass('open-pmo-section')) {\r\n $(selectPmoVersion).addClass('active btn--secondary');\r\n $(selectPlusVersion).removeClass('active btn--secondary').addClass('btn--ghost-secondary');\r\n $(selectProVersion).removeClass('active btn--secondary').addClass('btn--ghost-secondary');\r\n }\r\n }\r\n managePlusProModal();\r\n });\r\n\r\n var clearQueryString = function () {\r\n window.history.replaceState(null, null, window.location.pathname);\r\n };\r\n\r\n\r\n var init = function () {\r\n resizeAnimatedContainer();\r\n isAddinTrue();\r\n managePlusProModal();\r\n PES.AddToBasket.init();\r\n clearQueryString();\r\n }\r\n\r\n return {\r\n init: init\r\n }\r\n \r\n}","PES = PES || {}\r\nPES.BuyPlan = function () {\r\n var $container;\r\n var numberofDecimals;\r\n\r\n var initPageQuantityInput = function () {\r\n var planPrice = $container.attr(\"data-plan-price\").replace(\",\", \".\");\r\n numberofDecimals = (+planPrice) % 1 === 0 ? 0 : 2;\r\n $container.find(\".qty-input\").attr(\"data-quantity\", 1);\r\n $container.find(\".qty-input\").attr(\"data-quantity-price\", 1 + \"x\");\r\n $container.find(\".qty-input\").val(1 + \"x\");\r\n $container.find(\".qty-select\").change(function () {\r\n var $input = $container.find(\"input.qty-input\");\r\n var $optionSelected = $(this).find(\"option:selected\");\r\n $input.val($optionSelected.val()+\"x\");\r\n $input.attr(\"data-quantity\", $optionSelected.val());\r\n $input.attr(\"data-quantity-price\", $optionSelected.val()+\"x\");\r\n $container.find(\".quantity-selected\").val($input.attr(\"data-quantity\"));\r\n $container.find(\".quantity-x-price\").text(\"$\" + ($optionSelected.val() * (+ $container.find(\".quantity-x-price\").attr(\"data-price\"))).toFixed(numberofDecimals));\r\n $container.find(\".qty-select > option\").attr(\"selected\", false);\r\n $container.find(\".qty-select > option:first-child\").attr(\"selected\", true);\r\n });\r\n }\r\n\r\n var handlePageQuantity = function () {\r\n var planPrice = $container.attr(\"data-plan-price\").replace(\",\", \".\");\r\n numberofDecimals = (+planPrice) % 1 === 0 ? 0 : 2;\r\n var $input = $container.find(\".qty-input\");\r\n var $select = $container.find(\".qty-select\");\r\n $input.focusin(function() {\r\n $input.val($input.attr(\"data-quantity\"));\r\n }).focusout(function () {\r\n var qtyInputVal = $input.val();\r\n if (+qtyInputVal > 0) {\r\n $input.attr(\"data-quantity\", qtyInputVal);\r\n $input.attr(\"data-quantity-price\", qtyInputVal + \"x\");\r\n $input.val((qtyInputVal + \"x\"));\r\n\r\n if (+qtyInputVal > 100) {\r\n // A higher quantity than the max select option was selected, hence the index should be resetted\r\n $select[0].selectedIndex = -1\r\n }\r\n } else {\r\n $input.val($input.attr(\"data-quantity-price\"));\r\n }\r\n $container.find(\".quantity-x-price\").text(\"$\" + (+$input.attr(\"data-quantity\") * planPrice).toFixed(numberofDecimals));\r\n $container.find(\".quantity-selected\").val($input.attr(\"data-quantity\"));\r\n });\r\n $input.keydown(function (e) {\r\n var keyPressedAllowed = function (e) {\r\n if (// Allow: backspace, delete, escape, enter\r\n $.inArray(e.keyCode, [46, 8, 27, 13]) !== -1 ||\r\n // Allow: ctrl + a\r\n (e.keyCode === 65 && e.ctrlKey === true) ||\r\n // Allow: home, end, left, right\r\n (e.keyCode >= 35 && e.keyCode <= 39)) {\r\n return true;\r\n }\r\n // Allow: number character\r\n if (e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n if (!keyPressedAllowed(e)) {\r\n e.preventDefault();\r\n }\r\n });\r\n \r\n }\r\n\r\n\r\n var init = function (containerId) {\r\n $container = $('#' + containerId);\r\n initPageQuantityInput();\r\n handlePageQuantity();\r\n }\r\n return {\r\n init: init\r\n }\r\n}","var PES = PES || {};\r\nPES.Tooltip = function () {\r\n\r\n function init() {\r\n $('[data-toggle=\"popover\"]')\r\n .popover({ trigger: \"hover\", placement: \"top\", viewport: \"#body-content\" });\r\n\r\n $('select[data-toggle=\"popover\"], .checkout-item__amount[data-toggle=\"popover\"] > select')\r\n .change(function () {\r\n var is_touch_device = (\"ontouchstart\" in window) || window.DocumentTouch && document instanceof DocumentTouch;\r\n if (is_touch_device) {\r\n var _target = this;\r\n $(_target).closest('[data-toggle=\"popover\"]').popover('hide');\r\n } \r\n });\r\n\r\n function ifQtyBoxIsDisabled() {\r\n var customPopover = $('.checkout-item__amount[data-toggle=\"popover\"]');\r\n\r\n $(customPopover).hover(function () {\r\n if ($(this).children('select:disabled').length > 0 && $(this).children('input:disabled').not('[data-plan=\"basic\"]').length > 0) {\r\n $(this).popover('hide');\r\n }\r\n }); \r\n };\r\n\r\n $('[data-toggle-click=\"popover\"]')\r\n .popover({\r\n trigger: \"click\",\r\n placement: \"top\",\r\n viewport: \"#body-content\",\r\n content: function () {\r\n var contentSelector = $(this).data('popover-content');\r\n return $(contentSelector).html();\r\n },\r\n html: true\r\n }).on('shown.bs.popover', function () {\r\n var jqPopoverTrigger = $(this);\r\n var popoverSelector = '#' + jqPopoverTrigger.attr('aria-describedby');\r\n var jqPopover = $(popoverSelector);\r\n setTimeout(function () {\r\n var isMouseOver = $(popoverSelector + ':hover').length > 0;\r\n if (!isMouseOver)\r\n jqPopoverTrigger.popover('hide');\r\n }, 3000);\r\n\r\n jqPopover\r\n .on('mouseenter', function () {\r\n var _this = this;\r\n jqPopover.on('mouseleave', function () {\r\n setTimeout(function () {\r\n $(_this).popover('hide');\r\n }, 500);\r\n });\r\n });\r\n });\r\n\r\n $('[data-toggle=\"slide-popover\"]')\r\n .on({\r\n mouseenter: function (e) {\r\n var slidePopoverId = $(this).data('popover-id');\r\n var jqSlidePopover = $('#' + slidePopoverId);\r\n var qtySelector = $(' [data-toggle=\"slide-popover\"] > #popup-qty-selector');\r\n var y = qtySelector.offset().top - jqSlidePopover.height() - 13;\r\n\r\n jqSlidePopover.css('opacity', 1);\r\n jqSlidePopover.offset({ top: y});\r\n },\r\n mouseleave: function () {\r\n var slidePopoverId = $(this).data('popover-id');\r\n var jqSlidePopover = $('#' + slidePopoverId);\r\n jqSlidePopover.css('opacity', 0);\r\n }\r\n }); \r\n\r\n if ($(\".tooltip-checkout\").length > 0) {\r\n var tooltipTriggerElement = \"tooltip-checkout\";\r\n $(\".\" + tooltipTriggerElement)\r\n .popover({ trigger: \"manual\", placement: \"top\", viewport: \"#body-content\" });\r\n\r\n function debounce(func, wait) {\r\n var timeout;\r\n return function () {\r\n var context = this, args = arguments;\r\n var later = function () {\r\n timeout = null;\r\n func.apply(context, args);\r\n };\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n };\r\n };\r\n\r\n function handlePopoverBehaviour(elem) {\r\n\r\n removeTooltipForDeletedItem();\r\n\r\n if ($(window).outerWidth() < 1200) {\r\n mobileCheck(elem);\r\n } else {\r\n $('.' + elem).popover('dispose');\r\n desktopCheck(elem);\r\n }\r\n };\r\n\r\n function mobileCheck(el) {\r\n $(\".\" + el)\r\n .popover(\"hide\")\r\n .on(\"focusin\", function () {\r\n $(this).popover(\"show\");\r\n })\r\n .on(\"focusout\", function () {\r\n $(this).popover(\"hide\");\r\n });\r\n };\r\n\r\n function desktopCheck(el) {\r\n $(\".\" + el)\r\n .popover(\"dispose\")\r\n .off(\"focusin\");\r\n };\r\n\r\n function removeTooltipForDeletedItem() {\r\n $(\".checkout-item__delete\")\r\n .on(\"click focus\", function () {\r\n $(\".checkout-item__amount.tooltip-checkout\").popover(\"dispose\");\r\n });\r\n\r\n $('.checkout-item__amount[data-toggle=\"checkout-popover\"] > select')\r\n .change(function () {\r\n $(\".checkout-item__amount.tooltip-checkout\").popover('dispose');\r\n });\r\n }\r\n\r\n $(window).on(\"resize\",\r\n debounce(function () {\r\n handlePopoverBehaviour(tooltipTriggerElement);\r\n }, 500)\r\n );\r\n\r\n handlePopoverBehaviour(tooltipTriggerElement);\r\n };\r\n \r\n ifQtyBoxIsDisabled();\r\n\r\n }\r\n return {\r\n init: init\r\n };\r\n};","var PES = PES || {};\r\nPES.BeautySlider = function () {\r\n function init(container, hasTooltips, navContainer, navAsThumbnails) {\r\n var options = {\r\n items: 1,\r\n mouseDrag: true,\r\n touch: true,\r\n autoplayButtonOutput: false,\r\n speed: 1000,\r\n loop: true,\r\n mode: 'gallery',\r\n navPosition: 'bottom' \r\n }; \r\n if (container) {\r\n options.container = container;\r\n }\r\n if (navContainer) {\r\n options.navContainer = navContainer;\r\n }\r\n if (options.navAsThumbnails) {\r\n options.navAsThumbnails = navAsThumbnails;\r\n }\r\n\r\n var slider = tns(options);\r\n\r\n var onSliderIndexChanged = function(info, eventName) {\r\n //remove and reinsert the pulsating circle elements (this is required in Safari, in order for the animation to work properly)\r\n const activeSlideCircles = $(\"div.slider-with-circles.tns-slide-active\").children(\"span.circle-with-popup\");\r\n if (activeSlideCircles.length > 0) {\r\n activeSlideCircles.each(function() {\r\n const element = this;\r\n const clone = element.cloneNode(true);\r\n element.parentNode.replaceChild(clone, element);\r\n //reinit the tooltip for cloned elements\r\n if (hasTooltips) {\r\n PES.ImageTooltip().initElement(clone);\r\n }\r\n });\r\n } \r\n };\r\n\r\n var resetToZeroIndex = function (info, eventName) {\r\n \r\n if (info.index == 0) { \r\n $(\".made-with-pro-badge\").addClass(\"is-shown\"); \r\n } else {\r\n $(\".made-with-pro-badge\").removeClass(\"is-shown\");\r\n }\r\n\r\n if (info.index == 1) {\r\n $(\".made-with-pro-plus-badge\").addClass(\"is-shown\");\r\n } else {\r\n $(\".made-with-pro-plus-badge\").removeClass(\"is-shown\");\r\n }\r\n\r\n if (info.index == 7 && $(info.container).hasClass('online-general-slider')) {\r\n slider.goTo('next');\r\n slider.goTo('prev'); \r\n }\r\n }\r\n\r\n var isSafari = navigator.vendor &&\r\n navigator.vendor.indexOf('Apple') > -1 &&\r\n navigator.userAgent &&\r\n navigator.userAgent.indexOf('CriOS') == -1 &&\r\n navigator.userAgent.indexOf('FxiOS') == -1;\r\n if (isSafari) {\r\n slider.events.on('indexChanged', onSliderIndexChanged);\r\n }\r\n\r\n slider.events.on('indexChanged', resetToZeroIndex);\r\n }\r\n return {\r\n init: init\r\n };\r\n};","var PES = PES || {};\r\nPES.CheckSessionExpiryStatus = function () {\r\n var init = function () {\r\n\r\n $.ajaxSetup({ cache: false });\r\n \r\n var modalWindow = '.modal[data-check-login-modal]';\r\n var otherModals = 'div.modal';\r\n var modalBox = '.modal[data-check-login-modal] .modal__box';\r\n var authUserMsg = '.user__auth';\r\n var authModalTag = 'is-logged-in';\r\n var triggerModalTarget = '[data-session-modal-target-checkout]';\r\n var autoRenewAction = '[data-session-modal-target-auto-renew]';\r\n var openLoggedInModalOnlyButton = '[data-session-modal-target-buy]';\r\n var openCreditCartAction = '[data-session-modal-target-account-card]';\r\n var shareCartAction = '[data-session-modal-target-checkout-share-cart]';\r\n var clearCartAction = '[data-session-modal-target-checkout-clear-cart]'\r\n var manageUserLicenceSubscriptionAction = '[data-session-modal-target-account-subscription]';\r\n var revokeLicenseAction = '[data-session-modal-target-revoke-license-subscription]';\r\n var manageLicenseAction = '[data-session-modal-target-manage-license]';\r\n var seeOptionsModalTarget = '[data-session-modal-target-see-options]';\r\n var modalButtons = '[data-session-remove-modal-trigger]';\r\n var elementsToRemoveClickEventsFrom = '[data-session-remove-click-event], ' + openLoggedInModalOnlyButton;\r\n var unsubscribePageTarget = '[data-unsubscribe-switch-target]';\r\n\r\n var checkSessionPopUpCookie = function () {\r\n sessionCookie = $.cookie(\".OfficeTimeline.Cookies.SPE\");\r\n \r\n return sessionCookie ? true : false;\r\n };\r\n\r\n var userInfoAnchorExists = function () {\r\n return $(\".account-icon__container\").length;\r\n };\r\n\r\n $(document).on(\"click focus mousedown\", unsubscribePageTarget, function (e) {\r\n checkSessionForLoggedUsers(e)\r\n });\r\n \r\n $(document).on(\"click focus mousedown\", autoRenewAction, function (e) {\r\n checkSessionForLoggedUsers(e)\r\n });\r\n\r\n $(document).on(\"click focus mousedown\", openCreditCartAction, function (e) {\r\n adminPagesCheckSessionId(e)\r\n });\r\n \r\n $(document).on(\"click focus mousedown\", shareCartAction, function (e) {\r\n checkSessionForLoggedUsers(e)\r\n });\r\n\r\n $(document).on(\"click focus mousedown\", clearCartAction, function (e) {\r\n shareCartCheckSessionId(e)\r\n });\r\n\r\n $(document).on(\"click focus mousedown\", manageUserLicenceSubscriptionAction, function (e) {\r\n adminPagesCheckSessionId(e)\r\n });\r\n\r\n $(document).on(\"click focus mousedown\", revokeLicenseAction, function (e) {\r\n adminPagesCheckSessionId(e)\r\n });\r\n\r\n $(document).on(\"click focus mousedown\", manageLicenseAction, function (e) {\r\n adminPagesCheckSessionId(e)\r\n });\r\n\r\n $(document).on(\"click focus mousedown\", seeOptionsModalTarget, function (e) {\r\n adminPagesCheckSessionId(e)\r\n });\r\n\r\n var adminPagesCheckSessionId = function (e) {\r\n if (!checkSessionPopUpCookie()) {\r\n e.stopImmediatePropagation();\r\n e.preventDefault();\r\n actionLoginModal(e); \r\n }\r\n }\r\n var checkSessionForLoggedUsers = function (e) {\r\n if (userInfoAnchorExists() && !checkSessionPopUpCookie()) {\r\n e.stopImmediatePropagation();\r\n e.preventDefault();\r\n actionLoginModal(e);\r\n }\r\n };\r\n\r\n $(document).on('displaySessionExpired', function (e) {\r\n showSessionExpiryModal(authUserMsg, authModalTag);\r\n });\r\n\r\n $(document).on('displaySessionExpiredAndRefresh', function (e) {\r\n showSessionExpiryModal(authUserMsg, authModalTag);\r\n $(document).on('click', '.js-modal-close', function (e) {\r\n location.reload();\r\n });\r\n }); \r\n\r\n $(document).on('displaySessionExpiredStopPropagation', function (e) {\r\n e.stopImmediatePropagation();\r\n e.preventDefault();\r\n showSessionExpiryModal(authUserMsg, authModalTag);\r\n });\r\n \r\n var showSessionExpiryModal = function (userStatus, condition) {\r\n localStorage.removeItem(\".OfficeTimeline.Cookies.SPE\");\r\n \r\n $(otherModals).hide();\r\n $(modalWindow).show();\r\n $(modalBox).fadeIn(300);\r\n $(modalWindow).attr(\"data-check-login-modal\", condition);\r\n $(userStatus).show().siblings().hide();\r\n $(triggerModalTarget).blur().off();\r\n $(\"[data-toggle='popover']\").popover(\"hide\");\r\n $(\".popover.bs-popover-top\").hide();\r\n $(\".popover\").removeClass(\"show\");\r\n $(\".form-control.qty-select\").removeClass('control-focus').blur();\r\n };\r\n\r\n var actionLoginModal = function (e) {\r\n $(elementsToRemoveClickEventsFrom).off(\"click\");\r\n $(modalButtons).removeClass(\"js-open-modal\");\r\n showSessionExpiryModal(authUserMsg, authModalTag);\r\n return false;\r\n };\r\n \r\n };\r\n return {\r\n init: init\r\n };\r\n};"]}