{"version":3,"sources":["../../dev/j/try-box.js"],"names":["initializeTryBox","index","$self","settings","$tryBoxToggler","find","showContentByPlatform","handleToggler","display_toggler","enable_platform_detection","defaultPlatform","default_platform","hide","removeClass","html","content_instead_toggler","replace","getStaticPath","$tryBox","availablePlatforms","indexOf","platformName","val","length","addClass","supportedPlatforms","on","currentValue","$","this","attr","split","detectedPlatform","avm","require","avastGlobals","detect","os","name","toLowerCase","each","self","data"],"mappings":"CAAA,WACC,YA8BA,SAASA,GAAiBC,EAAOC,EAAOC,GACvC,GAAIC,GAAiBF,EAAMG,KAAK,sBAGf,QAAbF,GACHG,EAAsBJ,EAAOE,GAC7BG,EAAcL,EAAOE,KAIrBD,EAASK,gBAAmD,SAA7BL,EAASK,gBACxCL,EAASM,0BAAqE,SAAvCN,EAASM,0BAChDC,EAAwBP,EAASQ,iBAE7BR,EAASK,gBACZD,EAAcL,EAAOE,IAErBF,EAAMG,KAAK,iCAAiCO,OAC5CV,EAAMG,KAAK,+BAA+BQ,YAAY,QAAQC,KAAKX,EAASY,wBAAwBC,QAAQ,KAAMC,IAAkB,OAEpIX,EAAsBJ,EAAO,QAMhC,QAASI,GAAsBY,EAASd,GACnCe,EAAmBC,QAAQC,IAAiB,GACxB,OAAnBjB,GACHA,EAAekB,IAAID,GAGhBH,EAAQb,KAAK,WAAagB,GAAcE,OAAS,GACpDL,EAAQb,KAAK,WAAagB,GAAcG,SAAS,WAOnD,SAAyBN,IAC0B,IAA9CO,EAAmBL,QAAQC,KAE9BH,EAAQb,KAAK,kBAAkBQ,YAAY,UAC3CK,EAAQb,KAAK,WAAaK,GAAiBc,SAAS,UAE7B,OAAnBpB,GACHA,EAAekB,IAAIZ,KAVLQ,GAgBlB,QAASX,GAAcW,EAASd,GAC/BA,EAAesB,GAAG,SAAU,WAC3B,GAAIC,GAAeC,EAAEC,MAAMP,KAE3BJ,GAAQb,KAAK,kBAAkBQ,YAAY,UAC3CK,EAAQb,KAAK,WAAasB,GAAcH,SAAS,YAInD,QAASP,KAER,MADWW,GAAE,sBAAsBE,KAAK,QAC5BC,MAAM,MAAM,GA7FzB,GACCC,GACAX,EACAX,EACAe,EACAN,EALGS,EAAIK,IAAIC,QAAQ,UAMnBhB,EAAUU,EAAE,cAGU,KAAnBV,EAAQK,SAGXS,EAAmBG,aAAaC,OAAOC,GACvChB,EAAeW,EAAiBM,KAAKC,cACrC7B,EAAkB,UAClBe,GAAsBf,EAAiB,OACvCS,GAAsB,UAAW,MAAO,UAAW,OAIpDD,EAAQsB,KAAK,SAASvC,GACrB,GAAIwC,GAAOZ,KACV3B,EAAQ0B,EAAEa,EAGXzC,GAAiBC,EAAOC,EAFZA,EAAMwC,OAAOvC","file":"try-box.js","sourcesContent":["(function() {\n\t'use strict';\n\tvar $ = avm.require('jquery'),\n\t\tdetectedPlatform,\n\t\tplatformName,\n\t\tdefaultPlatform,\n\t\tsupportedPlatforms,\n\t\tavailablePlatforms,\n\t\t$tryBox = $('.js-try-box');\n\n\t// if no try box on page, abort\n\tif ($tryBox.length === 0) {\n\t\treturn;\n\t} else {\n\t\tdetectedPlatform = avastGlobals.detect.os;\n\t\tplatformName = detectedPlatform.name.toLowerCase();\n\t\tdefaultPlatform = 'windows';\n\t\tsupportedPlatforms = [defaultPlatform, 'mac'];\n\t\tavailablePlatforms = ['windows', 'mac', 'android', 'ios'];\n\t}\n\n\t// Init\n\t$tryBox.each(function(index) {\n\t\tvar self = this,\n\t\t\t$self = $(self),\n\t\t\tsettings = $self.data().settings;\n\n\t\tinitializeTryBox(index, $self, settings);\n\t});\n\t// /Init\n\n\tfunction initializeTryBox(index, $self, settings) {\n\t\tvar $tryBoxToggler = $self.find('.js-try-box-toggler');\n\n\t\t// there are no settings, initialize default behavior : toggler + switch according to platform (windows is default)\n\t\tif (settings === null) {\n\t\t\tshowContentByPlatform($self, $tryBoxToggler);\n\t\t\thandleToggler($self, $tryBoxToggler);\n\n\t\t// read settings and initialize according to them\n\t\t} else {\n\t\t\tsettings.display_toggler \t\t\t\t= settings.display_toggler === 'true' ? true : false;\n\t\t\tsettings.enable_platform_detection \t\t= settings.enable_platform_detection === 'true' ? true : false;\n\t\t\tdefaultPlatform \t\t\t\t\t\t= settings.default_platform;\n\n\t\t\tif (settings.display_toggler) {\n\t\t\t\thandleToggler($self, $tryBoxToggler);\n\t\t\t} else {\n\t\t\t\t$self.find('.js-try-box-toggler-container').hide();\n\t\t\t\t$self.find('.js-content-instead-toggler').removeClass('hide').html(settings.content_instead_toggler.replace('i/', getStaticPath() + 'i/'));\n\n\t\t\t\tshowContentByPlatform($self, null)\n\t\t\t}\n\t\t}\n\t}\n\n\t// display content based on platform\n\tfunction showContentByPlatform($tryBox, $tryBoxToggler) {\n\t\tif (availablePlatforms.indexOf(platformName) > -1) {\n\t\t\tif ($tryBoxToggler !== null) {\n\t\t\t\t$tryBoxToggler.val(platformName);\n\t\t\t}\n\n\t\t\tif ($tryBox.find('.js-try-' + platformName).length > 0) {\n\t\t\t\t$tryBox.find('.js-try-' + platformName).addClass('active');\n\t\t\t}\n\t\t} else {\n\t\t\t// Default state if other platform detected\n\t\t\tsetDefaultState($tryBox, $tryBoxToggler);\n\t\t}\n\n\t\tfunction setDefaultState($tryBox) {\n\t\t\tif (supportedPlatforms.indexOf(platformName) === -1) {\n\t\t\t\t// platform not supported, show default platform\n\t\t\t\t$tryBox.find('.js-try-button').removeClass('active');\n\t\t\t\t$tryBox.find('.js-try-' + defaultPlatform).addClass('active');\n\n\t\t\t\tif ($tryBoxToggler !== null) {\n\t\t\t\t\t$tryBoxToggler.val(defaultPlatform);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction handleToggler($tryBox, $tryBoxToggler) {\n\t\t$tryBoxToggler.on('change', function() {\n\t\t\tvar currentValue = $(this).val();\n\n\t\t\t$tryBox.find('.js-try-button').removeClass('active');\n\t\t\t$tryBox.find('.js-try-' + currentValue).addClass('active');\n\t\t});\n\t}\n\n\tfunction getStaticPath() {\n\t\tvar path = $('link[href*=\".css\"]').attr('href');\n\t\treturn path.split('c/')[0];\n\t}\n})();\n"]}