{"version":3,"sources":["../../dev/j/navigation-oo-19798.js"],"names":["avm","define","updateNavigation","data","toggleClass","$body","removeClass","isDesktop","addClass","config","firstMenu","secondMenu","clearFirstMenuClasses","firstMenuClasses","join","clearSecondMenuClasses","secondMenuClasses","addRegionsBodyClass","regionsIndex","className","bodyClasses","attr","split","indexOf","i","length","openSecondMenu","$element","event","cachedSecondMenu","clickedSecondMenu","removeSpaces","replace","str","strSplitted","result","map","value","push","$","require","unserialize","$window","window","$navigation","$firstMenuItem","find","$secondMenuItem","$back","$toggleMenu","$regions","$regionsToggle","$searchToggler","$searchInput","$blogs","$secondMenuBlogs","$hintToggler","$hintClose","mediaQuery","getComputedStyle","document","body","getPropertyValue","avastGlobalsAvailable","avastGlobals","web","isDevEnv","domain","detectLink","doDetection","pageNotFound","detectParent","selfHref","selfHrefParams","getParamsFromHref","splice","currentPage","isEmptyObject","currentPageParams","key","$foundLinkElement","$parent","closest","$parentWithData","parentClasses","availableClasses","linkFoundInNavigation","each","this","parent","href","undefined","separator","$navigationSecondMenuLinks","location","pathname","search","ulocale","fileName","hostname","substr","on","focus","detectedPlatform","os","name","toLowerCase","classes","$self","cachedFirstMenu","clickedFirstMenu","target","$target","is","hasClass","$selfNext","next","selfNextHasClass","index"],"mappings":"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","file":"navigation-oo-19798.js","sourcesContent":["(function() {\n\t'use strict';\n\tavm.define('navigation-oo-19798', (function() {\n\t\t'use strict';\n\t\tvar $ = avm.require('jquery'),\n\t\t\tunserialize = avm.require('avast.url.unserialize'),\n\t\t\tserialize = avm.require('avast.url.unserialize'),\n\t\t\t$window = $(window),\n\t\t\t$body = $('body'),\n\t\t\t$navigation = $('.js-navigation-oo-19798'),\n\t\t\t$firstMenuItem = $navigation.find('[data-first-menu]'),\n\t\t\t$secondMenuItem = $navigation.find('[data-second-menu]'),\n\t\t\t$back = $navigation.find('.js-back'),\n\t\t\t$toggleMenu = $navigation.find('.js-toggle-menu'),\n\t\t\t$regions = $navigation.find('.js-regions'),\n\t\t\t$regionsToggle = $navigation.find('.js-regions-toggle'),\n\t\t\t$searchToggler = $navigation.find('.js-search-toggler'),\n\t\t\t$searchInput = $(\".search-input\"),\n\t\t\tfirstMenuClasses = ['first-menu-for-home', 'first-menu-for-business', 'first-menu-for-partners', 'first-menu-about-us', 'first-menu-regions'],\n\t\t\tsecondMenuClasses = ['second-menu-security', 'second-menu-privacy', 'second-menu-performance', 'second-menu-family', 'second-menu-bundles', 'second-menu-products', 'second-menu-press-center', 'second-menu-investors', 'second-menu-business-partners', 'second-menu-resources', 'second-menu-login'],\n\t\t\t$blogs = $navigation.find('.js-blogs'),\n\t\t\t$secondMenuBlogs = $navigation.find('.second-menu.blogs'),\n\t\t\t$hintToggler = $navigation.find('.js-hint-toggler'),\n\t\t\t$hintClose = $navigation.find('.js-hint-close'),\n\t\t\tmediaQuery = (function() {\n\t\t\t\treturn (window.getComputedStyle) ? window.getComputedStyle(document.body, ':before').getPropertyValue('content') : '';\n\t\t\t})(),\n\t\t\tisDesktop = mediaQuery.indexOf('navigation-desktop') > -1 ? true : false,\n\t\t\tavastGlobalsAvailable = typeof window.avastGlobals !== 'undefined' && typeof window.avastGlobals.web !== 'undefined',\n\t\t\tisDevEnv = avastGlobalsAvailable ? window.avastGlobals.web.domain.split('/').length > 1 : false,\n\t\t\tconfig = {\n\t\t\t\tfirstMenu: false,\n\t\t\t\tsecondMenu: false\n\t\t\t};\n\n\t\t// Init if desktop\n\t\tif (isDesktop) {\n\t\t\t$body.addClass('navigation-for-desktop');\n\n\t\t\t// Preselect levels only on www.avast domains\n\t\t\tpreSelectLevels();\n\t\t\thandleSecondMenu();\n\n\t\t\t$blogs.on('mouseenter', function() {\n\t\t\t\tupdateNavigation('open_blogs_special_menu');\n\t\t\t\t$body.addClass('blogs-special-menu');\n\t\t\t\t$body.removeClass('first-menu-regions');\n\t\t\t});\n\n\t\t\t$secondMenuBlogs.on('mouseleave', function() {\n\t\t\t\tupdateNavigation('reset');\n\t\t\t});\n\t\t}\n\n\t\t// Init\n\t\tsearchInputHandler();\n\t\tdetectedPlatfromToBodyClass();\n\n\t\t// Mobile logic\n\t\tif (!isDesktop) {\n\t\t\thintHandler();\n\t\t\texpandSecondLevel();\n\t\t\t// console.log('device is not desktop');\n\t\t\t$body.addClass('navigation-for-mobile');\n\t\t\t$body.addClass('navigation-closed');\n\n\t\t\t$firstMenuItem.on('click', function() {\n\t\t\t\tvar $self = $(this),\n\t\t\t\t\tcachedFirstMenu = config.firstMenu,\n\t\t\t\t\tclickedFirstMenu = 'first-menu-' + $self.data('first-menu');\n\n\t\t\t\tclearFirstMenuClasses();\n\n\t\t\t\t// if same menu was not clicked\n\t\t\t\tif (clickedFirstMenu !== cachedFirstMenu) {\n\t\t\t\t\tconfig.firstMenu = clickedFirstMenu;\n\t\t\t\t}\n\n\t\t\t\tupdateNavigation();\n\t\t\t});\n\n\t\t\t$secondMenuItem.on('click', function(event) {\n\t\t\t\tif ($(event.target).attr('class').indexOf('hint') > -1) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\topenSecondMenu($(this), event);\n\t\t\t});\n\n\t\t\t$blogs.on('click', function() {\n\t\t\t\tupdateNavigation('open_blogs_special_menu');\n\t\t\t});\n\t\t}\n\n\t\t// Check if clicked outside navigation\n\t\t$window.on('click', function(event) {\n\t\t\tvar $target = $(event.target);\n\n\t\t\t// If navigation clicked AND target is not special menu AND target is not Blogs item, then close special menu\n\t\t\tif ($target.closest($navigation).length > 0/* && $target.closest('.second-menu.blogs') === 0 && !$target.hasClass('.js-blogs')*/) {\n\t\t\t\t// console.log('%cnavigation clicked', 'color: #00ff00');\n\t\t\t\tif (!isDesktop && $target.is($navigation)) {\n\t\t\t\t\tupdateNavigation('reset');\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t// else close all menus\n\t\t\t\t// if cookie bar clicked, do not close\n\t\t\t\tif (!($target.is('.js-cookie-bar') || $target.closest('.js-cookie-bar').length > 0)) {\n\t\t\t\t\t// console.log('%c outside navigation clicked', 'color: orange');\n\t\t\t\t\tupdateNavigation('reset');\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// Mobile back button\n\t\t$back.on('click', function() {\n\t\t\t// console.log('back clicked');\n\t\t\tclearFirstMenuClasses();\n\n\t\t\tif ($(this).hasClass('js-blog')) {\n\t\t\t\t$body.removeClass('blogs-special-menu');\n\t\t\t}\n\t\t});\n\n\t\t// Mobile close button\n\t\t$toggleMenu.on('click', function() {\n\t\t\t// console.log('toggleMenu clicked');\n\t\t\t$body.toggleClass('navigation-closed');\n\t\t});\n\n\t\t// Desktop regions toggling\n\t\tif (isDesktop) {\n\t\t\t$firstMenuItem.on('click', function() {\n\t\t\t\tif ($(this).data('first-menu') === 'regions') {\n\t\t\t\t\t$body.removeClass('blogs-special-menu'); // close blog\n\t\t\t\t\t$body.toggleClass('first-menu-regions'); // toggle on desktop, because 1st levels are disabled\n\t\t\t\t}\n\n\t\t\t});\n\t\t// Mobile regions toggling\n\t\t} else {\n\t\t\t$regionsToggle.on('click', function() {\n\t\t\t\tvar $self = $(this),\n\t\t\t\t\t$selfNext = $self.next('.js-regions'),\n\t\t\t\t\tselfNextHasClass = $selfNext.hasClass('mobile-hide');\n\n\t\t\t\t$regions.addClass('mobile-hide');\n\n\t\t\t\tif (selfNextHasClass) {\n\t\t\t\t\t$selfNext.removeClass('mobile-hide');\n\t\t\t\t}\n\n\t\t\t\taddRegionsBodyClass($regionsToggle.index($self));\n\t\t\t});\n\t\t}\n\n\t\tfunction updateNavigation(data, toggleClass) {\n\t\t\t// console.log('%cCONFIG', 'color: cyan', config);\n\t\t\t// console.log('data', data);\n\n\t\t\tif (data === 'reset') {\n\t\t\t\t$body.removeClass('blogs-special-menu');\n\n\t\t\t\tif (!isDesktop) {\n\t\t\t\t\t$body.addClass('navigation-closed');\n\t\t\t\t} else {\n\t\t\t\t\t$body.removeClass('first-menu-regions');\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (data === 'toggle') {\n\t\t\t\t$body.toggleClass(toggleClass);\n\t\t\t}\n\n\t\t\tif (config.firstMenu) {\n\t\t\t\t$body.addClass(config.firstMenu);\n\t\t\t}\n\n\t\t\tif (config.secondMenu) {\n\t\t\t\t$body.addClass(config.secondMenu);\n\t\t\t}\n\n\t\t\tif (data === 'open_blogs_special_menu') {\n\t\t\t\tif (!isDesktop) {\n\t\t\t\t\tclearFirstMenuClasses();\n\t\t\t\t\t$body.toggleClass('blogs-special-menu');\n\t\t\t\t}\n\n\t\t\t\t$body.addClass(config.firstMenu);\n\t\t\t} else {\n\t\t\t\t$body.removeClass('blogs-special-menu');\n\t\t\t}\n\t\t}\n\n\t\tfunction clearFirstMenuClasses() {\n\t\t\tconfig.firstMenu = false;\n\t\t\t$body.removeClass(firstMenuClasses.join(' '));\n\t\t}\n\n\t\tfunction clearSecondMenuClasses() {\n\t\t\tconfig.secondMenu = false;\n\t\t\t$body.removeClass(secondMenuClasses.join(' '));\n\t\t}\n\n\t\tfunction preSelectLevels() {\n\t\t\tvar $navigationSecondMenuLinks = $navigation.find('.second-menu:not(\".regions\") a'),\n\t\t\t\tpageNotFound = true,\n\t\t\t\tcurrentPage = window.location.pathname,\n\t\t\t\tcurrentPageParams = unserialize(window.location.search),\n\t\t\t\tulocale = '',\n\t\t\t\tseparator;\n\n\t\t\tif (avastGlobalsAvailable) {\n\t\t\t\tulocale = window.avastGlobals.web.ulocale.replace('/', '');\n\t\t\t\tseparator = ulocale.length > 0 ? '/' : '';\n\t\t\t\tcurrentPage = '/' + ulocale + separator + window.avastGlobals.web.fileName;\n\t\t\t}\n\n\t\t\t //console.log('%ccurrentPage', 'color: #00ff00', currentPage);\n\t\t\t //console.log('%ccurrentPageParams', 'color: #00ff00', currentPageParams);\n\n\t\t\t$navigationSecondMenuLinks.each(function() {\n\t\t\t\tdetectLink($(this));\n\t\t\t});\n\n\t\t\tif (pageNotFound && (window.location.hostname.substr(0, 3) === 'www' || window.location.hostname.substr(0, 3) === 'web')) {\n\t\t\t\tconfig.firstMenu = 'first-menu-for-home';\n\t\t\t\t$body.addClass(config.firstMenu);\n\t\t\t}\n\n\t\t\t// Set press.avast.com\n\t\t\tif (window.location.hostname === 'press.avast.com') {\n\t\t\t\tconfig.firstMenu = 'first-menu-about-us';\n\t\t\t\t$body.addClass(config.firstMenu);\n\t\t\t}\n\n\t\t\t// Higlight Press center item in second menu\n\t\t\tif (window.location.hostname === 'press.avast.com') {\n\t\t\t\tvar $pressCenter = $(\"li[data-second-menu='press-center']\");\n\t\t\t\t$pressCenter.addClass('isActive');\n\t\t\t}\n\n\t\t\t// Set blog.avast.com\n\t\t\tif (window.location.hostname === 'blog.avast.com') {\n\t\t\t\tconfig.secondMenu = 'second-menu blog';\n\t\t\t\t$body.addClass(config.secondMenu);\n\t\t\t}\n\n\t\t\t// Activate blog second menu\n\t\t\tif (window.location.hostname === 'blog.avast.com') {\n\t\t\t\tvar $blogSecondMenu = $('div.second-menu.blog');\n\t\t\t\t$blogSecondMenu.addClass('isActive');\n\t\t\t}\n\n\t\t\tif (window.location.hostname === 'blog.avast.com') {\n\t\t\t\tvar $blogMenu = $('li.js-blogs.blogs');\n\t\t\t\t$blogMenu.addClass('isActive');\n\t\t\t}\n\n\t\t\tfunction detectLink($element) {\n\t\t\t\tif (pageNotFound) {\n\t\t\t\t\tvar selfHref = $element.attr('href'),\n\t\t\t\t\t\tselfHrefParams = getParamsFromHref(selfHref);\n\n\t\t\t\t\t// if isDevEnv remove first part && first symbol in link is '/'\n\t\t\t\t\tif (isDevEnv && selfHref.split('')[0] === '/') {\n\t\t\t\t\t\tselfHref = '/' + selfHref.split('/').splice(2).join('/');\n\t\t\t\t\t}\n\n\t\t\t\t\t// if link is absolute, it is different domain\n\t\t\t\t\t// compare to whole window.location.href without params and hashes\n\n\t\t\t\t\t/* @TODO\n\t\t\t\t\tif (selfHref.indexOf('http') > -1) {\n\t\t\t\t\t\tconsole.log('absolute link >>>');\n\t\t\t\t\t\t// if last symbol in link is '/'\n\t\t\t\t\t\tif (selfHref.split('')[selfHref.length - 1] === '/') {\n\t\t\t\t\t\t\t// remove '/' at the end of link\n\t\t\t\t\t\t\tselfHref = selfHref.substring(0, selfHref.length - 1)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// detect if absolute link matches currentPage\n\n\t\t\t\t\t}\n\t\t\t\t\t*/\n\n\t\t\t\t\t// console.log('selfHref', selfHref);\n\t\t\t\t\t// console.log('selfHrefParams', selfHrefParams);\n\n\t\t\t\t\t// if selfHref contains parameters AND current page pathname is equal to link pathname AND current page contains params\n\t\t\t\t\tif (typeof selfHrefParams !== 'undefined' && selfHref.split('?')[0] === currentPage && !$.isEmptyObject(currentPageParams)) {\n\t\t\t\t\t\t// check if current page contain those parameters\n\t\t\t\t\t\tfor (var key in selfHrefParams) {\n\t\t\t\t\t\t\tif (typeof currentPageParams[key] !== 'undefined' && currentPageParams[key] === selfHrefParams[key]) {\n\t\t\t\t\t\t\t\tdoDetection();\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (currentPage === selfHref) {\n\t\t\t\t\t\tdoDetection();\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction doDetection() {\n\t\t\t\t\t\tpageNotFound = false;\n\t\t\t\t\t\tdetectParent($element);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction detectParent($foundLinkElement) {\n\t\t\t\tvar $parent = $foundLinkElement.closest('.second-menu'),\n\t\t\t\t\t$parentWithData = $foundLinkElement.closest('[data-second-menu]'),\n\t\t\t\t\tparentClasses = $parent.attr('class').split(' '),\n\t\t\t\t\tavailableClasses = ['for-home', 'for-business', 'for-partners', 'about-us'],\n\t\t\t\t\tlinkFoundInNavigation = false;\n\n\t\t\t\t$(parentClasses).each(function() {\n\t\t\t\t\tif (availableClasses.indexOf(this) > -1) {\n\t\t\t\t\t\tconfig.firstMenu = 'first-menu-' + this;\n\t\t\t\t\t\tlinkFoundInNavigation = true;\n\n\t\t\t\t\t\t// current active second menu, if exists\n\t\t\t\t\t\tif ($parentWithData.length > 0) {\n\t\t\t\t\t\t\t$parentWithData.addClass('isActive');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// current link in 2nd or 3rd menu\n\t\t\t\t\t\t$foundLinkElement.parent().addClass('isActive');\n\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (!linkFoundInNavigation) {\n\t\t\t\t\tconfig.firstMenu = 'first-menu-for-home';\n\t\t\t\t}\n\n\t\t\t\t$body.addClass(config.firstMenu);\n\t\t\t}\n\n\t\t\tfunction getParamsFromHref(href) {\n\t\t\t\tvar result;\n\n\t\t\t\tresult = href.split('#')[0];\n\t\t\t\tresult = href.split('?')[1];\n\n\t\t\t\treturn typeof result !== 'undefined' ? unserialize(result) : undefined;\n\t\t\t}\n\t\t}\n\n\t\tfunction searchInputHandler() {\n\t\t\t// add body class when input opened\n\t\t\t$searchToggler.on('click', function() {\n\t\t\t\t// console.log('search toggled');\n\t\t\t\t$body.toggleClass('navigation-search-opened');\n\t\t\t\t$searchInput.focus();\n\t\t\t});\n\t\t}\n\n\t\tfunction detectedPlatfromToBodyClass() {\n\t\t\tvar detectedPlatform = avm.require('avast.detect')().os;\n\n\t\t\t$body.addClass('platform-' + detectedPlatform.name.toLowerCase());\n\t\t}\n\n\t\tfunction addRegionsBodyClass(regionsIndex) {\n\t\t\tvar classPrefix = 'navigation-regions-',\n\t\t\t\tclassName = classPrefix + regionsIndex,\n\t\t\t\tbodyClasses = $body.attr('class').split(' ');\n\n\t\t\t// Check if class already assigned, if yes, remove it and return from function\n\t\t\tif (bodyClasses.indexOf(className) > -1) {\n\t\t\t\t$body.removeClass(className);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Check if there is already region class, if yes, remove it\n\t\t\tfor (var i = 0; i < bodyClasses.length; i++) {\n\t\t\t\tif (bodyClasses[i].indexOf(classPrefix) > -1) {\n\t\t\t\t\t$body.removeClass(bodyClasses[i]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add class of opened regions\n\t\t\t$body.addClass(className);\n\t\t}\n\n\t\tfunction hintHandler() {\n\t\t\t$hintToggler.on('click', function() {\n\t\t\t\tvar $self = $(this);\n\t\t\t\t$self.closest('.js-hint').addClass('show-hint');\n\t\t\t});\n\n\t\t\t$hintClose.on('click', function() {\n\t\t\t\tvar $self = $(this);\n\n\t\t\t\t$self.closest('.js-hint').removeClass('show-hint');\n\t\t\t});\n\t\t}\n\n\t\tfunction openSecondMenu($element, event) {\n\t\t\tvar cachedSecondMenu = config.secondMenu,\n\t\t\t\tclickedSecondMenu = 'second-menu-' + $element.data('second-menu');\n\n\t\t\tif (isDesktop) {\n\t\t\t\tclearSecondMenuClasses();\n\t\t\t// For mobile there could be more classes\n\t\t\t} else {\n\t\t\t\t// if there are more classes\n\t\t\t\tif (cachedSecondMenu.split(' ').length > 1) {\n\t\t\t\t\t// if class already there, remove it\n\t\t\t\t\tif (cachedSecondMenu.indexOf(clickedSecondMenu) > -1) {\n\t\t\t\t\t\tconfig.secondMenu = removeSpaces(cachedSecondMenu.replace(clickedSecondMenu, ''));\n\t\t\t\t\t}\n\t\t\t\t\t// else add it\n\t\t\t\t\telse {\n\t\t\t\t\t\tconfig.secondMenu = removeSpaces(cachedSecondMenu + ' ' + clickedSecondMenu);\n\t\t\t\t\t}\n\n\t\t\t\t\tupdateNavigation('toggle', clickedSecondMenu);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// if same menu was not clicked\n\t\t\tif (clickedSecondMenu !== cachedSecondMenu) {\n\t\t\t\tconfig.secondMenu = clickedSecondMenu;\n\t\t\t}\n\n\t\t\tupdateNavigation();\n\t\t}\n\n\t\tfunction handleSecondMenu() {\n\t\t\t$secondMenuItem.on('mouseover', function() {\n\t\t\t\topenSecondMenu($(this));\n\t\t\t});\n\n\t\t\t$secondMenuItem.on('mouseout', clearSecondMenuClasses);\n\t\t}\n\n\t\tfunction expandSecondLevel() {\n\t\t\tvar classes = ['second-menu-security', 'second-menu-privacy', 'second-menu-performance', 'second-menu-family', 'second-menu-bundles', 'second-menu-products', 'second-menu-press-center', 'second-menu-investors', 'second-menu-business-partners', 'second-menu-resources'].join(' ');\n\n\t\t\tconfig.secondMenu = classes;\n\t\t\tupdateNavigation();\n\t\t}\n\n\t\t// receives string\n\t\t// returns string with just 1 space between words\n\t\tfunction removeSpaces(str) {\n\t\t\tvar strSplitted = str.split(' '),\n\t\t\t\tresult = [];\n\n\t\t\tstrSplitted.map(function(value) {\n\t\t\t\tif (value !== '') {\n\t\t\t\t\tresult.push(value);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn result.join(' ');\n\t\t}\n\n\t\treturn {};\n\t})());\n})();\n"]}