{"version":3,"sources":["../../../../dev/j/v2/components/cmp-try-box.js"],"names":["initializeTryBox","index","$self","settings","$tryBoxToggler","find","showContentByPlatform","handleToggler","display_toggler","enable_platform_detection","top_placeholder","defaultPlatform","default_platform","addClass","currentValue","val","$tryBox","removeClass","hide","html","content_instead_toggler","replace","getStaticPath","availablePlatforms","indexOf","platformName","length","supportedPlatforms","on","$","this","attr","split","avm","require","avastGlobals","detect","os","name","toLowerCase","each","self","data"],"mappings":"CAAA,WACC,YA4BA,SAASA,GAAiBC,EAAOC,EAAOC,GACvC,GAAIC,GAAiBF,EAAMG,KAAK,sBAGhC,IAAiB,OAAbF,EACHG,EAAsBJ,EAAOE,GAC7BG,EAAcL,EAAOE,OAarB,IATAD,EAASK,gBAAmD,SAA7BL,EAASK,gBACxCL,EAASM,0BAAqE,SAAvCN,EAASM,0BAChDN,EAASO,gBAAkD,SAA7BP,EAASO,gBACvCC,EAAwBR,EAASS,iBAE7BT,EAASO,iBACZR,EAAMG,KAAK,mBAAmBQ,SAAS,eAGpCV,EAASK,gBAAiB,CAC7B,GAAIM,GAAeV,EAAeW,KAElCC,GAAQX,KAAK,kBAAkBY,YAAY,UAC3CD,EAAQX,KAAK,WAAaS,GAAcD,SAAS,UAEjDN,EAAcL,EAAOE,OAErBF,GAAMG,KAAK,iCAAiCa,OACxC,2BAA6Bf,IAChCD,EAAMG,KAAK,+BAA+BY,YAAY,QAAQE,KAAKhB,EAASiB,wBAAwBC,QAAQ,KAAMC,IAAkB,OAGrIhB,EAAsBJ,EAAO,MAMhC,QAASI,GAAsBU,EAASZ,GAEnCmB,EAAmBC,QAAQC,IAAiB,GAC/CT,EAAQX,KAAK,kBAAkBY,YAAY,UAC3CD,EAAQX,KAAK,WAAaoB,GAAcZ,SAAS,UAE1B,OAAnBT,GACHA,EAAeW,IAAIU,GAGhBT,EAAQX,KAAK,WAAaoB,GAAcC,OAAS,GACpDV,EAAQX,KAAK,WAAaoB,GAAcZ,SAAS,WAOnD,SAAyBG,IAC0B,IAA9CW,EAAmBH,QAAQC,KAE9BT,EAAQX,KAAK,kBAAkBY,YAAY,UAC3CD,EAAQX,KAAK,WAAaM,GAAiBE,SAAS,UAE7B,OAAnBT,GACHA,EAAeW,IAAIJ,KAVLK,GAgBlB,QAAST,GAAcS,EAASZ,GAC/BA,EAAewB,GAAG,SAAU,WAC3B,GAAId,GAAee,EAAEC,MAAMf,KAE3BC,GAAQX,KAAK,kBAAkBY,YAAY,UAC3CD,EAAQX,KAAK,WAAaS,GAAcD,SAAS,YAInD,QAASS,KAER,MADWO,GAAE,sBAAsBE,KAAK,QAC5BC,MAAM,MAAM,GA3GzB,GACCP,GACAd,EACAgB,EACAJ,EAJGM,EAAII,IAAIC,QAAQ,QAKnBlB,EAAUa,EAAE,cAGU,KAAnBb,EAAQU,SAGXD,EAAeU,aAAaC,OAAOC,GAAGC,KAAKC,cAC3C5B,EAAkB,UAClBgB,GAAsBhB,EAAiB,OACvCY,GAAsB,UAAW,MAAO,UAAW,OAIpDP,EAAQwB,KAAK,SAASvC,GACrB,GAAIwC,GAAOX,KACV5B,EAAQ2B,EAAEY,EAGXzC,GAAiBC,EAAOC,EAFZA,EAAMwC,OAAOvC","file":"cmp-try-box.js","sourcesContent":["(function() {\n\t'use strict';\n\tvar $ = avm.require('cash'),\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\tplatformName = avastGlobals.detect.os.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';\n\t\t\tsettings.enable_platform_detection \t\t= settings.enable_platform_detection === 'true';\n\t\t\tsettings.top_placeholder\t\t\t\t= settings.top_placeholder === 'true';\n\t\t\tdefaultPlatform \t\t\t\t\t\t= settings.default_platform;\n\n\t\t\tif (settings.top_placeholder) {\n\t\t\t\t$self.find('.js-header-wrap').addClass('placeholder');\n\t\t\t}\n\n\t\t\tif (settings.display_toggler) {\n\t\t\t\tvar currentValue = $tryBoxToggler.val();\n\n\t\t\t\t$tryBox.find('.js-try-button').removeClass('active');\n\t\t\t\t$tryBox.find('.js-try-' + currentValue).addClass('active');\n\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\tif ('content_instead_toggler' in settings) {\n\t\t\t\t\t$self.find('.js-content-instead-toggler').removeClass('hide').html(settings.content_instead_toggler.replace('i/', getStaticPath() + 'i/'));\n\t\t\t\t}\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\n\t\tif (availablePlatforms.indexOf(platformName) > -1) {\n\t\t\t$tryBox.find('.js-try-button').removeClass('active');\n\t\t\t$tryBox.find('.js-try-' + platformName).addClass('active');\n\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"]}