{"version":3,"sources":["../../../../dev/j/v2/pages/lp-avast-one-offer_en-gb.js"],"names":["initModal","element","modalButton","querySelector","modalTarget","getAttribute","addEventListener","loadModal","e","charCode","target","document","getElementById","contentHolder","xhr","XMLHttpRequest","onreadystatechange","this","readyState","status","container","createElement","innerHTML","responseText","append","BSN","Modal","show","open","avastGlobals","web","domain","locale","setRequestHeader","send","addPositionAttr","position","ctas","length","attr","$","avm","require","$open","$close","$openComparison","$closeComparison","browser","detect","detectedPlatform","os","name","toLowerCase","isChrome","isAvast","isEdgeChromium","css","isFirefox","isOpera","isSafari","isEdge","isInternetExplorer","Vue","el","data","activeVal","methods","toggleActive","mounted","$el","updated","delimiters","on","parents","find","addClass","$target","removeClass","parent","next","$openButton","prev","window","scrollTo","top","offset","innerHeight","left","behavior","scrolledTop","pageYOffset","stickyBar","comarisonTable","outerHeight","stickyButtons","stickyBadges","heroButtons","heroBadges","planButtons","planBadges","footerButtons","footerBadges"],"mappings":"CAAA,WACC,YAmDA,SAASA,GAAUC,GAClB,GAAIC,GAAcD,EAAQE,cAAc,yBACvCC,EAA8B,OAAhBF,EAAuBA,EAAYG,aAAa,eAAiB,IAE5D,QAAhBH,GAAwC,OAAhBE,IAC3BF,EAAYI,iBAAiB,QAAS,WACrCC,EAAUH,KAGXF,EAAYI,iBAAiB,WAAY,SAASE,GAC9B,KAAfA,EAAEC,UACLF,EAAUH,MAMd,QAASG,GAAUG,GAElB,GAAwC,OAApCC,SAASC,eAAeF,GAAkB,CAC7C,GAAIG,GAAgBF,SAASR,cAAc,mBAC1CW,EAAM,GAAIC,eAEXD,GAAIE,mBAAqB,WACxB,GAAuB,GAAnBC,KAAKC,YAAkC,KAAfD,KAAKE,OAAe,CAE/C,GAAIC,GAAYT,SAASU,cAAc,MAEvCD,GAAUE,UAAYL,KAAKM,aAC3BV,EAAcW,OAAOJ,EAET,IAAIK,KAAIC,MAAMf,SAASC,eAAeF,IAC5CiB,SAIRb,EAAIc,KAAK,MAAO,WAAaC,aAAaC,IAAIC,OAAS,IAAMF,aAAaC,IAAIE,OAAS,IAAMtB,GAAQ,GACrGI,EAAImB,iBAAiB,mBAAoB,kBACzCnB,EAAIoB,KAAK,UACH,CACM,GAAIT,KAAIC,MAAMf,SAASC,eAAeF,IAC5CiB,QA2ER,QAASQ,GAAgBC,EAAUC,GACV,gBAAbD,IAA0BC,GAAQA,EAAKC,QACjDD,EAAKE,KAAK,gBAAiBH,GAxK7B,GAAII,GAAIC,IAAIC,QAAQ,UACnBC,EAAQH,EAAE,YACVI,EAASJ,EAAE,aACXK,EAAkBL,EAAE,uBACpBM,EAAmBN,EAAE,wBACrBO,EAAUlB,aAAamB,OAAOD,QAO9BE,EAAmBpB,aAAamB,OAAOE,GAAGC,KAAKC,eAE5CL,EAAQM,UAAYN,EAAQO,SAAWP,EAAQQ,kBAClDf,EAAE,kBAAkBgB,IAAI,UAAW,QACnChB,EAAE,2BAA2BgB,IAAI,UAAW,WACvCT,EAAQU,WAAaV,EAAQW,SAAWX,EAAQY,UAAYZ,EAAQa,QAAUb,EAAQc,sBAC3FrB,EAAE,kBAAkBgB,IAAI,UAAW,QACnChB,EAAE,0BAA0BgB,IAAI,UAAW,UAInB,YAArBP,IACHA,EAAmB,KAGF,IAAIa,MACpBC,GAAI,gBACJC,MACEC,UAAW,cAEbC,SACEC,aAAc,SAAShB,GACrBlC,KAAKgD,UAAYd,IAGrBiB,QAAS,WACuB,UAA5BvC,aAAaC,IAAIE,QAAkD,UAA5BH,aAAaC,IAAIE,QAC3DhC,EAAUiB,KAAKoD,MAGhBC,QAAS,WACuB,UAA5BzC,aAAaC,IAAIE,QAAkD,UAA5BH,aAAaC,IAAIE,QAC3DhC,EAAUiB,KAAKoD,MAGhBE,YAAa,KAAM,OAgDrB5B,GAAM6B,GAAG,QAAS,WACHhC,EAAEvB,MAAMwD,QAAQ,WAAWC,KAAK,iCAEtCC,SAAS,QACjBnC,EAAEvB,MAAM0D,SAAS,YAGlB/B,EAAO4B,GAAG,QAAS,WAClB,GAAII,GAAUpC,EAAEvB,MAAMwD,QAAQ,gCACfG,GAAQH,QAAQ,WAAWC,KAAK,YAEnCG,YAAY,UACxBD,EAAQC,YAAY,UAGrBhC,EAAgB2B,GAAG,QAAS,WACbhC,EAAEvB,MAAM6D,SAASC,KAAK,0BAE5BJ,SAAS,QACjBnC,EAAEvB,MAAM0D,SAAS,YAGlB7B,EAAiB0B,GAAG,QAAS,WAC5B,GAAII,GAAUpC,EAAEvB,MAAMwD,QAAQ,0BAC7BO,EAAcJ,EAAQK,OAAOP,KAAK,sBAEnCM,GAAYH,YAAY,UACxBD,EAAQC,YAAY,QAEpBrC,EAAE,eAAeqC,YAAY,UAE7BK,OAAOC,UACNC,IAAKJ,EAAYK,SAASD,IAAMF,OAAOI,YAAc,EACrDC,KAAM,EACNC,SAAU,aAIZhD,EAAE0C,QAAQV,GAAG,SAAU,WACtB,GAAIiB,GAAcP,OAAOQ,YACrBC,EAAYnD,EAAE,eACdoD,EAAiBpD,EAAE,8BAClBoD,GAAetD,SAGhBmD,EAAcG,EAAeP,SAASD,KAAOK,EAAcG,EAAeP,SAASD,IAAMQ,EAAeC,cAC3GF,EAAUhB,SAAS,UAEnBgB,EAAUd,YAAY,YAKxB,IAAIiB,GAAgBtD,EAAE,oBAClBuD,EAAevD,EAAE,6BAA6BsC,OAAO,qBACrDkB,EAAcxD,EAAE,cAChByD,EAAazD,EAAE,uBAAuBsC,OAAO,qBAC7CoB,EAAc1D,EAAE,6DAChB2D,EAAa3D,EAAE,+EAA+EsC,OAAO,qBACrGsB,EAAgB5D,EAAE,aAClB6D,EAAe7D,EAAE,sBAAsBsC,OAAO,oBAElD3C,GAAgB,SAAU2D,GAC1B3D,EAAgB,SAAU4D,GAC1B5D,EAAgB,OAAQ6D,GACxB7D,EAAgB,OAAQ8D,GACxB9D,EAAgB,QAAS+D,GACzB/D,EAAgB,QAASgE,GACzBhE,EAAgB,SAAUiE,GAC1BjE,EAAgB,SAAUkE","file":"lp-avast-one-offer_en-gb.js","sourcesContent":["(function() {\n\t'use strict';\n\tvar $ = avm.require('jquery'),\n\t\t$open = $('.js-open'),\n\t\t$close = $('.js-close'),\n\t\t$openComparison = $('.js-open-comparison'),\n\t\t$closeComparison = $('.js-close-comparison'),\n\t\tbrowser = avastGlobals.detect.browser,\n\t\ttrialDownloadIDs = {\n\t\t\tpc: 'AVAST-ONE-FREE-WIN-PP',\n\t\t\tmac: 'AVAST-ONE-FREE-MAC-PP',\n\t\t\tandroid: 'AVAST-ONE-ANDROID-PP',\n\t\t\tios: 'AVAST-ONE-IOS-PP'\n\t\t},\n\t\tdetectedPlatform = avastGlobals.detect.os.name.toLowerCase();\n\n\tif (browser.isChrome || browser.isAvast || browser.isEdgeChromium) {\n\t\t$('[data-browser]').css('display', 'none');\n\t\t$('[data-browser=\"chrome\"]').css('display', 'block');\n\t} if (browser.isFirefox || browser.isOpera || browser.isSafari || browser.isEdge || browser.isInternetExplorer) {\n\t\t$('[data-browser]').css('display', 'none');\n\t\t$('[data-browser=\"other\"]').css('display', 'block');\n\t}\n\n\t// fix platform name\n\tif (detectedPlatform === 'windows') {\n\t\tdetectedPlatform = 'pc';\n\t}\n\n\tvar cardToggler = new Vue({\n\t el: '#card-toggler',\n\t data: {\n\t activeVal: 'individual'\n\t },\n\t methods: {\n\t toggleActive: function(name) {\n\t this.activeVal = name;\n\t }\n\t },\n\t mounted: function() {\n\t\t\tif (avastGlobals.web.locale === 'en-us' || avastGlobals.web.locale === 'en-gb') {\n\t\t\t\tinitModal(this.$el);\n\t\t\t}\n\t },\n\t updated: function() {\n\t\t\tif (avastGlobals.web.locale === 'en-us' || avastGlobals.web.locale === 'en-gb') {\n\t\t\t\tinitModal(this.$el);\n\t\t\t}\n\t },\n\t delimiters: ['<%', '%>']\n\t});\n\n\tfunction initModal(element) {\n\t\tvar modalButton = element.querySelector('[data-toggle=\"modal\"]'),\n\t\t\tmodalTarget = modalButton !== null ? modalButton.getAttribute('data-target') : null;\n\n\t\tif (modalButton !== null && modalTarget !== null) {\n\t\t\tmodalButton.addEventListener('click', function() {\n\t\t\t\tloadModal(modalTarget);\n\t\t\t});\n\n\t\t\tmodalButton.addEventListener('keypress', function(e) {\n\t\t\t\tif (e.charCode === 13) {\n\t\t\t\t\tloadModal(modalTarget);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction loadModal(target) {\n\t\t// !!make sure name of source page for modal and target in modal trigger are same!!\n\t\tif (document.getElementById(target) === null) {\n\t\t\tvar contentHolder = document.querySelector('.content-holder'),\n\t\t\t\txhr = new XMLHttpRequest();\n\n\t\t\txhr.onreadystatechange = function() {\n\t\t\t\tif (this.readyState == 4 && this.status == 200) {\n\n\t\t\t\t\tvar container = document.createElement('div');\n\n\t\t\t\t\tcontainer.innerHTML = this.responseText;\n\t\t\t\t\tcontentHolder.append(container);\n\n\t\t\t\t\tvar modal = new BSN.Modal(document.getElementById(target));\n\t\t\t\t\tmodal.show();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\txhr.open('GET', 'https://' + avastGlobals.web.domain + '/' + avastGlobals.web.locale + '/' + target, true);\n\t\t\txhr.setRequestHeader('x-requested-with', 'XMLHttpRequest');\n\t\t\txhr.send(null);\n\t\t} else {\n\t\t\tvar modal = new BSN.Modal(document.getElementById(target));\n\t\t\tmodal.show();\n\t\t}\n\t}\n\n\t$open.on('click', function() {\n\t\tvar $target = $(this).parents('section').find('.js-media-supercharge-content');\n\n\t\t$target.addClass('show');\n\t\t$(this).addClass('d-none');\n\t});\n\n\t$close.on('click', function() {\n\t\tvar $target = $(this).parents('.js-media-supercharge-content'),\n\t\t\t$openButton = $target.parents('section').find('.js-open');\n\n\t\t$openButton.removeClass('d-none');\n\t\t$target.removeClass('show');\n\t});\n\n\t$openComparison.on('click', function() {\n\t\tvar $target = $(this).parent().next('.js-comparison-content');\n\n\t\t$target.addClass('show');\n\t\t$(this).addClass('d-none');\n\t});\n\n\t$closeComparison.on('click', function() {\n\t\tvar $target = $(this).parents('.js-comparison-content'),\n\t\t\t$openButton = $target.prev().find('.js-open-comparison');\n\n\t\t$openButton.removeClass('d-none');\n\t\t$target.removeClass('show');\n\n\t\t$('.sticky-bar').removeClass('hidden');\n\n\t\twindow.scrollTo({\n\t\t\ttop: $openButton.offset().top - window.innerHeight / 2,\n\t\t\tleft: 0,\n\t\t\tbehavior: 'smooth'\n\t\t});\n\t});\n\n\t$(window).on('scroll', function() {\n\t\tvar scrolledTop = window.pageYOffset;\n\t\tvar stickyBar = $('.sticky-bar');\n\t\tvar comarisonTable = $('.js-comparison-content.show');\n\t\tif (!comarisonTable.length) {\n\t\t\treturn;\n\t\t}\n\t\tif (scrolledTop > comarisonTable.offset().top && scrolledTop < comarisonTable.offset().top + comarisonTable.outerHeight()) {\n\t\t\tstickyBar.addClass('hidden');\n\t\t} else {\n\t\t\tstickyBar.removeClass('hidden');\n\t\t}\n\t});\n\n\t// custom button attributes\n\tvar stickyButtons = $('.sticky-bar .btn');\n\tvar stickyBadges = $('.sticky-bar .image-button').parent('.bi-download-link');\n\tvar heroButtons = $('.hero .btn');\n\tvar heroBadges = $('.hero .image-button').parent('.bi-download-link');\n\tvar planButtons = $('#section-table .a1-card .btn, #section-table .tables .btn');\n\tvar planBadges = $('#section-table .a1-card .image-button, #section-table .tables .image-button').parent('.bi-download-link');\n\tvar footerButtons = $('.bft .btn');\n\tvar footerBadges = $('.bft .image-button').parent('.bi-download-link');\n\n\taddPositionAttr('sticky', stickyButtons);\n\taddPositionAttr('sticky', stickyBadges);\n\taddPositionAttr('hero', heroButtons);\n\taddPositionAttr('hero', heroBadges);\n\taddPositionAttr('plans', planButtons);\n\taddPositionAttr('plans', planBadges);\n\taddPositionAttr('footer', footerButtons);\n\taddPositionAttr('footer', footerBadges);\n\n\tfunction addPositionAttr(position, ctas) {\n\t\tif (typeof position === 'string' && (ctas && ctas.length)) {\n\t\t\tctas.attr('data-position', position);\n\t\t}\n\t}\n\n})();\n"]}