{"version":3,"sources":["../../dev/j/affiliate-homepage-v2.js"],"names":["setStickyMargin","headerElems","margin","$window","innerWidth","removeAttr","css","filterClick","evt","target","currentTarget","suffix","hash","substr","filterElements","$","removeClass","$details","$thProduct","waypoints","avm","require","hashVal","window","location","platformsArray","each","push","this","length","indexOf","on","substring","click","parent","find","slideToggle","toggleClass","event","preventDefault","section","attr","replace","sel","trim","$visibleTable","$tableFooter","addClass","outerHeight","document","ready","selectsList","querySelectorAll","Array","prototype","slice","call","forEach","el","key","closest","dataset","actionboxDecoupledSelect","querySelector","appendChild","IntersectionObserver","avastGlobals","web","locale","tableStickyWaypoints","topStickyWaypoint","tableStickyWaypoint","entries","entry","intersectionRatio","fadeIn","threshold","observe","hide","show"],"mappings":"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","file":"affiliate-homepage-v2.js","sourcesContent":["(function() {\n\t'use strict';\n\tvar $actionbox = '.js-col-actionbox',\n\t\t$details = $('.js-details'),\n\t\t$thProduct = $('#comparison table thead th.product:not(.feature)'),\n\t\twaypoints = avm.require('avast.web.waypoints'),\n\t\thashVal = window.location.hash.substr(1),\n\t\tplatformsArray = [],\n\t\t$window = $(window);\n\n\t// set filter by url hash\n\t$('.filter a').each(function(){platformsArray.push(this.hash.substr(1))});\n\tif(hashVal.length>0 && platformsArray.indexOf(hashVal) !== -1) {\n\t\tfilterElements(hashVal)\n\t}\n\t// set listener on hash change\n\t$window.on('hashchange', function(){\n\t\tif (platformsArray.indexOf(window.location.hash.substr(1)) !== -1) {\n\t\t\tfilterElements(window.location.hash.substr(1))\n\t\t}\n\t\tif (window.location.hash.substring(1) !== -1) {\n\t\t\tif(window.location.hash.substring(1) === 'mac' ) {\n\t\t\t\t$('.text-small.js-pc').css('display','none');\n\t\t\t\t$('.text-small.js-mac').css('display','inline-flex');\n\t\t\t} else if (window.location.hash.substring(1) === 'pc'){\n\t\t\t\t$('.text-small.js-mac').css('display','none');\n\t\t\t\t$('.text-small.js-pc').css('display','inline-flex');\n\t\t\t}\n\t\t}\n\t})\n\n\t// add margin for footer offset on mobile\n\tfunction setStickyMargin(headerElems, margin) {\n\t\tif ($window.innerWidth() > 1055 || !margin) {\n\t\t\theaderElems.removeAttr('style')\n\t\t\treturn\n\t\t}\n\t\theaderElems.css('marginBottom', margin)\n\t\theaderElems.css('marginTop', -margin)\n\t}\n\n\n\t// Initialy synthetic all-products click\n\n\t// Bind click to filter\n\t$('.filter').on('click', 'a', filterClick);\n\n\t/**\n\t *\n\t * @param {Object} evt\n\t */\n\tfunction filterClick(evt) {\n\t\tvar target = evt.currentTarget,\n\t\t\tsuffix = target && target.hash ? target.hash.substr(1) : 'all';\n\n\t\tfilterElements(suffix)\n\n\t\t$('.js-avg-comparison-table').removeClass('is-sticky');\n\t}\n\n\t/**\n\t * set of filtered elements\n\t * @param {string} platform\n\t *\n\tfunction filterElements(platform) {\n\t\t// Highlight filter buttons\n\t\tfilterContent('a.' + platform, '.filter a');\n\n\t\t// Switch headlines\n\t\tfilterContent('.headline-' + platform, '#top h1[class^=\"headline-\"]');\n\n\t\t// Switch sections\n\t\tfilterContent('#section-' + platform, '[id^=\"section-\"]');\n\t}\n\t*/\n\n\t/**\n\t * filterContent Switch content visibility\n\t * @param {String} selector Selector for element to be switched on and visible on page.\n\t * @param {String} all Selector for all elements to be switched off and to be hidden.\n\t */\n\tfunction filterContent(selector, all) {\n\t\tdocument.querySelectorAll(all).forEach(function(el) {\n\t\t\tel.classList.remove('active');\n\t\t});\n\n\t\tdocument.querySelector(selector).classList.add('active');\n\t}\n\n\n\t// Mobile version detail toggler\n\t$details.click(function() {\n\t\t$(this).parent().find($actionbox).slideToggle();\n\t\t$(this).toggleClass('close');\n\t\tevent.preventDefault();\n\t });\n\n\t$window.on('resize scroll', function() {\n\t\tvar section = $('.filter .filter-items .active').attr('class').replace('active', ''),\n\t\t\tsel = section ? '#section-' + section.trim() + ' .js-avg-comparison-table' : null,\n\t\t\t$visibleTable = $('section.active[role=\"tabpanel\"] #comparison .avg-comparison-table:visible'),\n\t\t\t$tableFooter = null;\n\n\t\tif ($visibleTable.length) {\n\t\t\t$tableFooter = $visibleTable.find('tfoot')\n\t\t\tif (!$tableFooter.length) {\n\t\t\t\t$tableFooter = $visibleTable.find('tbody tr.border + tr')\n\t\t\t}\n\t\t}\n\n\t\tif (sel && waypoints($(sel), null, null, true)) {\n\t\t\t$(sel).addClass('is-sticky');\n\t\t\t$tableFooter = $visibleTable.find('tfoot');\n\t\t\tif ($thProduct.length && $tableFooter.length) {\n\t\t\t\tsetStickyMargin($thProduct, $tableFooter.outerHeight());\n\t\t\t}\n\t\t} else {\n\t\t\t$('.js-avg-comparison-table').removeClass('is-sticky');\n\t\t\tif ($thProduct.length) {\n\t\t\t\tsetStickyMargin($thProduct);\n\t\t\t}\n\t\t}\n\t});\n\n\t// Move togglers to the top of the table\n\t// hotsale don't move toggler\n\t$(document).ready(function() {\n\t\tvar selectsList = document.querySelectorAll('[data-actionbox-decoupled-select] .toggler'),\n\t\t\tselects = Array.prototype.slice.call(selectsList);\n\n\t\tselects.forEach(function(el) {\n\t\t\tvar key = el.closest('[data-actionbox-decoupled-select]').dataset.actionboxDecoupledSelect,\n\t\t\t\ttarget = el.closest('table').querySelector('[data-actionbox-decoupled-select-target=\"' + key + '\"]');\n\n\t\t\tif (target) {\n\t\t\t\ttarget.appendChild(el);\n\t\t\t}\n\t\t});\n\t});\n\n\t// GLOWEB-5962 -- Back To School - Sticky message bar\n\tif (window.IntersectionObserver && (avastGlobals.web.locale == 'en-ww' || avastGlobals.web.locale == 'en-us' || avastGlobals.web.locale == 'en-gb')) {\n\t\tvar tableStickyWaypoints = document.querySelectorAll(\".avg-comparison-table\");\n\t\tvar topStickyWaypoint = document.querySelector(\"#top\");\n\n\t\tif (tableStickyWaypoints && tableStickyWaypoints.length > 0) {\n\t\t\ttableStickyWaypoints.forEach(function (tableStickyWaypoint) {\n\n\t\t\t\tvar observer = new IntersectionObserver(\n\t\t\t\t\tfunction (entries) {\n\t\t\t\t\t\tentries.forEach(function (entry) {\n\t\t\t\t\t\t\tif (entry.intersectionRatio <= 0) {\n\t\t\t\t\t\t\t\t$('.message-bar.bts').addClass('bts-sticky').fadeIn(1000);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t$('.message-bar.bts').removeClass('bts-sticky').fadeIn(1000);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\t{ threshold: 0 }\n\t\t\t\t);\n\t\t\t\tobserver.observe(tableStickyWaypoint);\n\t\t\t});\n\t\t} else {\n\t\t\t$('.message-bar.bts').addClass('bts-sticky').fadeIn(1000);\n\t\t}\n\n\t\tif (topStickyWaypoint) {\n\t\t\tvar observer = new IntersectionObserver(\n\t\t\t\tfunction (entries) {\n\t\t\t\t\tentries.forEach(function (entry) {\n\t\t\t\t\t\tif (entry.intersectionRatio <= 0) {\n\t\t\t\t\t\t\t$('.message-bar.bts').removeClass('bts-sticky').fadeIn(1000);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$('.message-bar.bts').addClass('bts-sticky').fadeIn(1000);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\t{ threshold: 0 }\n\t\t\t);\n\t\t\tobserver.observe(topStickyWaypoint);\n\t\t} else {\n\t\t\t$('.message-bar.bts').addClass('bts-sticky').fadeIn(1000);\n\t\t}\n\t}\n\n\t/* Tabs-anchor */\n\t$(\"#home\").click(function(){\n\t\t$(\"#home\").addClass(\"active\");\n\t\t$(\"#business\").removeClass(\"active\");\n\t\t$(\"#section-business\").hide();\n\t\t$(\"#section-home\").show();\n\t});\n\t$(\"#business\").click(function(){\n\t\t$(\"#business\").addClass(\"active\");\n\t\t$(\"#home\").removeClass(\"active\");\n\t\t$(\"#section-home\").hide();\n\t\t$(\"#section-business\").show();\n\t});\n\n})();\n"]}