var MinicartContent={translate:function(key,namespace){if(!namespace)namespace="cms.i18n.i18n.com.fitbit.mktg.pip.pip";return fitbit.i18n.getResource(namespace+"."+key)},view:function(ctrl,args){return[m.component(ProductGallery,{imageGroups:args.imageGroups,hasColorDropdown:args.hasColorDropdown}),m.component(ProductInfo,{description:args.description,price:args.price,preorder:args.preorder,addToCart:args.addToCart,comingSoon:args.comingSoon,bands:args.bands,bandUrlSpecified:args.bandUrlSpecified,
colors:args.colors,specialColors:args.specialColors,sizes:args.sizes,hasOneSize:args.hasOneSize,hasOneSizeDropdown:args.hasOneSizeDropdown,productName:args.productName,maxQuantity:args.maxQuantity,hasColorDropdown:args.hasColorDropdown,warranty:args.warranty,fineprint:args.fineprint,bandWidthDropdown:args.bandWidthDropdown,bandWidthUrlSpecified:args.bandWidthUrlSpecified})]}};
var ColorDropdown={controller:function(args){var _this=this;_this.colorValues="";_this.colorNames="";args.colors.forEach(function(color){if(color.isActive){_this.colorValues+=color.value+" ";_this.colorNames+=color.name+" "}})},view:function(ctrl,args){return{tag:"li",attrs:{className:"mc--color-dropdown mc--color-selector"},children:[{tag:"div",attrs:{className:"mc--ps-list-select-wrapper"},children:[{tag:"span",attrs:{className:"mc--ps-label"},children:[MinicartContent.translate("color_pack")]},
{tag:"div",attrs:{className:"mc--ps-list-select","data-value":ctrl.colorValues},children:[ctrl.colorNames]}]},{tag:"ul",attrs:{className:"mc--ps-list-items"},children:[args.colors.map(function(color){return m.component(ColorDropdown.ColorDropdownListItem,{color:color})})]}]}},ColorDropdownListItem:{controller:function(args){this.className="mc--color-item";if(args.color.isActive)this.className+=" active"},view:function(ctrl,args){return{tag:"li",attrs:{className:ctrl.className,"data-value":args.color.value,
"data-color":args.color.value},children:[{tag:"span",attrs:{className:"mc--color-item-name"},children:[args.color.name]},{tag:"span",attrs:{className:"mc--color-description"},children:[args.color.description]}]}}}};
var ColorSelector={ACTIVE_COLOR_CLASS:"mc--color-active",ColorLabel:{controller:function(args){this.className="mc--color-name";if(args.color.isActive)this.className+=" "+ColorSelector.ACTIVE_COLOR_CLASS},view:function(ctrl,args){return{tag:"span",attrs:{className:ctrl.className,"data-color":args.color.value},children:[args.color.name]}}},ColorBlocks:{view:function(ctrl,args){return{tag:"ul",attrs:{className:"mc--cs-list"},children:[args.colors.map(function(color){return{tag:"li",attrs:{"data-color":color.value,
"data-secondary-color":color.secondaryColor,"data-warranty-sku":color.warrantySKU,className:color.isActive?ColorSelector.ACTIVE_COLOR_CLASS:""}}})]}}},ColorNameOutput:{controller:function(args){this.colors=args.colors;if(args.specialColors&&args.specialColors.length)this.colors=args.colors.concat(args.specialColors)},view:function(ctrl,args){return{tag:"li",attrs:{"class":"mc--color-labels"},children:[ctrl.colors.map(function(color){return m.component(ColorSelector.ColorLabel,{color:color})}),{tag:"span",
attrs:{"class":"mc--color-selected"},children:[MinicartContent.translate("selected")]}]}}},controller:function(args){this.labelText="colors";if(args.specialColors)if(args.colors.length===1)this.labelText="special_edition";else this.labelText="special_editions"},view:function(ctrl,args){return{tag:"li",attrs:{"class":"mc--color-selector",id:args.specialColors?"specialColorSelector":"colorSelector"},children:[{tag:"span",attrs:{"class":"mc--ps-label"},children:[MinicartContent.translate(ctrl.labelText)]},
m.component(ColorSelector.ColorBlocks,{colors:args.colors})]}}};
var BandWidthDropdown={controller:function(args){if(args.bandWidthUrlSpecified){this[args.bandWidthUrlSpecified]="active";this.activeBand=args.bandWidthUrlSpecified}else{this.regular="active";this.activeBand="regular"}},view:function(ctrl,args){return{tag:"li",attrs:{"class":"mc--product-width"},children:[{tag:"div",attrs:{className:"mc--ps-list-select-wrapper"},children:[{tag:"span",attrs:{className:"mc--ps-label"},children:[MinicartContent.translate("band_width")]},{tag:"div",attrs:{className:"mc--ps-list-select",
"data-value":ctrl.activeBand},children:[MinicartContent.translate("size_name_"+ctrl.activeBand,"cms.i18n.i18n.com.fitbit.mktg.storeData")]}]},{tag:"ul",attrs:{className:"mc--ps-list-items"},children:[{tag:"li",attrs:{className:ctrl.regular,"data-value":"regular"},children:[MinicartContent.translate("size_name_regular","cms.i18n.i18n.com.fitbit.mktg.storeData")]},{tag:"li",attrs:{className:ctrl.slim,"data-value":"slim"},children:[MinicartContent.translate("size_name_slim","cms.i18n.i18n.com.fitbit.mktg.storeData")]}]}]}}};
var SizeSelector={SizeList:{view:function(ctrl,args){return{tag:"ul",attrs:{className:"mc--ps-list-items"},children:[args.sizes.map(function(size){return{tag:"li",attrs:{"data-value":size.value},children:[size.name]}}),{tag:"li",attrs:{"class":"mc--ps-list-not-sure"},children:[{tag:"a",attrs:{href:"#"},children:[MinicartContent.translate("not_sure_about_your_size")]}]}]}}},view:function(ctrl,args){return{tag:"li",attrs:{"class":"mc--product-size",id:"sizeSelector"},children:[{tag:"div",attrs:{className:"mc--ps-list-select-wrapper"},
children:[{tag:"span",attrs:{className:"mc--ps-label"},children:[MinicartContent.translate("size")]},{tag:"div",attrs:{className:"mc--ps-list-select"},children:[MinicartContent.translate("select")]}]},m.component(SizeSelector.SizeList,{sizes:args.sizes})]}}};
var OneSize={controller:function(args){var oneSizeNamespace="";var oneSizeTextKey="one_size";if(/^alta.*metal$/.test(args.productName))oneSizeNamespace="cms.i18n.i18n.com.fitbit.mktg.pip.alta-metal";if(args.productName==="flex2-pendant")oneSizeTextKey="one_size_chain";if(args.productName==="public-school-new-york-typeiii"||args.productName==="public-school-new-york-axis")oneSizeTextKey="one_size_fits_most";this.oneSizeText=MinicartContent.translate(oneSizeTextKey,oneSizeNamespace)},view:function(ctrl){return{tag:"li",
attrs:{"class":"mc--product-size--one",id:"oneSize"},children:[{tag:"div",attrs:{"class":"mc--ps-list-select-wrapper"},children:[{tag:"span",attrs:{"class":"mc--ps-label"},children:[MinicartContent.translate("size")]},{tag:"div",attrs:{"class":"mc--ps-list-select mc--ps-list-select--one"},children:[ctrl.oneSizeText]}]}]}}};
var OneSizeDropdown={view:function(){return{tag:"li",attrs:{"class":"mc--product-size mc--product-size--sl",id:"oneSizeDropdown"},children:[{tag:"div",attrs:{"class":"mc--ps-list-select-wrapper"},children:[{tag:"span",attrs:{"class":"mc--ps-label"},children:[MinicartContent.translate("size")]},{tag:"div",attrs:{"class":"mc--ps-list-select"},children:[MinicartContent.translate("one_size")]}]},{tag:"ul",attrs:{"class":"mc--ps-list-items"},children:[{tag:"li",attrs:{"class":"mc--ps-list-not-sure--sl"},
children:[{tag:"p",attrs:{"class":"mc--ps-small-large"},children:[m.trust(MinicartContent.translate("each_pack_includes_small_and_large_wristband"))]}]}]}]}}};
var QuantitySelector={QuantityList:{view:function(ctrl,args){var listItems=[{tag:"li",attrs:{"data-value":"1",className:"active"},children:["1"]}];for(var i=2;i<parseInt(args.maxQuantity,10)+1;++i)listItems.push({tag:"li",attrs:{"data-value":i},children:[i]});return{tag:"ul",attrs:{className:"mc--ps-list-items mc--ps-list-items--quantity"},children:[listItems]}}},controller:function(args){this.className="mc--product-quantity";if(!args.colors.length&&!args.sizes.length&&!args.hasOneSize)this.className+=
" mc--product-quantity--single"},view:function(ctrl,args){return{tag:"li",attrs:{className:ctrl.className},children:[{tag:"div",attrs:{className:"mc--ps-list-select-wrapper"},children:[{tag:"span",attrs:{className:"mc--ps-label"},children:[MinicartContent.translate("quantity")]},{tag:"div",attrs:{className:"mc--ps-list-select","data-value":"1"},children:["1"]}]},m.component(QuantitySelector.QuantityList,{maxQuantity:args.maxQuantity})]}}};
var ProductGallery={getProductBadgesAndImages:function(imageGroups){var items=[];imageGroups.forEach(function(imageGroup){if(imageGroup.isActive)imageGroup.images.forEach(function(image){if(image.badge){var className="product__badge product__badge--"+image+"product__badge--lib-arrow";items.push({tag:"div",attrs:{className:className},children:[image.badge]})}if(image.isActive)if(image.isVideo)items.push({tag:"iframe",attrs:{src:image.url,frameborder:"0",allowfullscreen:true}});else{items.push({tag:"img",
attrs:{src:image.desktop,className:"mobile-hide"}});items.push({tag:"img",attrs:{src:image.mobile,className:"mobile-visible"}})}})});return items},view:function(ctrl,args){var items=ProductGallery.getProductBadgesAndImages(args.imageGroups);return{tag:"div",attrs:{className:"mc--product-gallery"},children:[items,{tag:"p",attrs:{"class":"mc--pg-note"}},m.component(ThumbnailSection,{imageGroups:args.imageGroups,hasColorDropdown:args.hasColorDropdown})]}}};
var ThumbnailSection={ColorDropdownThumbnailSection:{view:function(ctrl,args){var elements=[];args.imageGroups.forEach(function(imageGroup){imageGroup.images.forEach(function(image){var className=image.isActive?"mc--pg-active":"";var imgElement;var imgClassName=image.color?"mc--color-active":"";if(image.isVideo)imgElement={tag:"img",attrs:{src:image.thumbnail,"data-video":image.url,"data-color":image.color||"","data-caption":image.caption||"",className:imgClassName}};else imgElement={tag:"img",attrs:{src:image.thumbnail,
"data-image":image.desktop,"data-image-mobile":image.mobile,"data-color":image.color||"","data-caption":image.caption||"",className:imgClassName}};elements.push({tag:"li",attrs:{className:className},children:[imgElement]})})});return{tag:"ul",attrs:{},children:[elements]}}},ElseThumbnailSection:{view:function(ctrl,args){var elements=[];args.imageGroups.forEach(function(imageGroup){var listElement={tag:"li",attrs:{className:imageGroup.isActive?"mc--pg-active":""},children:[" ",imageGroup.images.map(function(image){var className=
"";if(image.isActive){if(image.color)className+="mc--color-active ";if(image.band)className+="mc--band-active"}className=className.replace(/\s+$/g,"");if(image.isVideo)return{tag:"img",attrs:{src:image.thumbnail,"data-video":image.url,"data-color":image.color||"",className:className,"data-caption":image.caption||"","data-badge":image.badge||"","data-band":image.band||"","data-band-width":image.bandWidth||""}};else return{tag:"img",attrs:{src:image.thumbnail,"data-image":image.desktop,"data-image-mobile":image.mobile,
"data-color":image.color||"",className:className,"data-caption":image.caption||null,"data-badge":image.badge,"data-band":image.band||"","data-band-width":image.bandWidth||""}}})]};elements.push(listElement)});return{tag:"ul",attrs:{},children:[elements]}}},view:function(ctrl,args){if(args.hasColorDropdown)return m.component(ThumbnailSection.ColorDropdownThumbnailSection,{imageGroups:args.imageGroups});else return m.component(ThumbnailSection.ElseThumbnailSection,{imageGroups:args.imageGroups})}};
var BandSelector={BandList:{view:function(ctrl,args){return{tag:"ul",attrs:{className:"mc--ps-list-items"},children:[args.bands.map(function(band){var className="mc--band-item";if(band.urlSpecified)className+=" active";return{tag:"li",attrs:{className:className,"data-value":band.value,"data-band":band.value,"data-band-name":band.name},children:[{tag:"span",attrs:{className:"mc--band-item-name"},children:[band.name]}]}})]}}},view:function(ctrl,args){return{tag:"li",attrs:{className:"mc--band-dropdown mc--band-selector"},
children:[{tag:"div",attrs:{className:"mc--ps-list-select-wrapper"},children:[{tag:"span",attrs:{"class":"mc--ps-label"},children:[MinicartContent.translate("band")]},{tag:"div",attrs:{"class":"mc--ps-list-select","data-value":args.bandUrlSpecified||""},children:[args.bandUrlSpecified||MinicartContent.translate("select")]}]},m.component(BandSelector.BandList,{bands:args.bands})]}}};
var ProductSelectionsWrapper={ColorElement:{view:function(ctrl,args){return args.hasColorDropdown?m.component(ColorDropdown,{colors:args.colors}):m.component(ColorSelector,{colors:args.colors})}},controller:function(){var locale=$("#productInfo").attr("data-locale");this.auNZLocale=locale==="en_AU"||locale==="en_NZ"},view:function(ctrl,args){return{tag:"ul",attrs:{className:"mc--product-selections"},children:[args.colors&&args.colors.length?m.component(ProductSelectionsWrapper.ColorElement,{colors:args.colors,
hasColorDropdown:args.hasColorDropdown}):null,args.specialColors&&args.specialColors.length?m.component(ColorSelector,{colors:args.specialColors,specialColors:true}):null,args.colors&&args.colors.length&&!args.hasColorDropdown?m.component(ColorSelector.ColorNameOutput,{colors:args.colors,specialColors:args.specialColors}):null,args.bands&&args.bands.length?m.component(BandSelector,{bands:args.bands,bandUrlSpecified:args.bandUrlSpecified}):null,args.bandWidthDropdown?m.component(BandWidthDropdown,
{bandWidthUrlSpecified:args.bandWidthUrlSpecified}):null,args.sizes&&args.sizes.length?m.component(SizeSelector,{sizes:args.sizes}):null,args.hasOneSize?m.component(OneSize,{productName:args.productName}):null,args.hasOneSizeDropdown?OneSizeDropdown:null,!ctrl.auNZLocale?m.component(QuantitySelector,{maxQuantity:args.maxQuantity,colors:args.colors,sizes:args.sizes,hasOneSize:args.hasOneSize}):null]}}};
var WarrantySelector=function($){function isValidWarranty(warranty){return warranty&&warranty.sku&&warranty.price&&warranty.fee}return{enabled:function(){return WarrantySelector.vm.enabled()},select:function(){},selected:function(){return WarrantySelector.vm.selected()},switched:function(){return WarrantySelector.vm.switched()},warranty:function(){return{sku:"",price:"",fee:""}},vm:function(){function selectWarranty(){vm.selected(true);vm.switched(true)}function updateWarranty(warranty){if(isValidWarranty(warranty)){vm.enabled(true);
vm.sku(warranty.sku);vm.price(warranty.price);vm.fee(warranty.fee)}else{vm.enabled(false);vm.sku("");vm.price("");vm.fee("")}}var vm={};vm.enabled=m.prop(false);vm.selected=m.prop(false);vm.switched=m.prop(false);vm.sku=m.prop("");vm.price=m.prop("");vm.fee=m.prop("");vm.init=function(){WarrantySelector.select=function(){m.startComputation();selectWarranty();m.endComputation()};WarrantySelector.warranty=function(warranty){if(typeof warranty==="undefined")return{sku:vm.sku(),price:vm.price(),fee:vm.fee()};
else{m.startComputation();updateWarranty(warranty);m.endComputation()}}};vm.toggle=function(){if(vm.selected())vm.selected(false);else{dataLayer.push({"event":"eventTracker","eventCat":"Store","eventAct":"Add to Cart","eventLbl":"warranty - checkbox","eventVal":0,"nonInteraction":0});selectWarranty()}};vm.learnMore=function(){if(OpenWarrantyPopup)OpenWarrantyPopup();return false};return vm}(),config:function(){$("#mc--product-container").addClass("mc--has-warranty")},controller:function(){WarrantySelector.vm.init()},
view:function(){return{tag:"div",attrs:{className:"mc--warranty-selector"+(WarrantySelector.vm.selected()?" mc--warranty-selected":"")+(WarrantySelector.vm.enabled()?" mc--warranty-enabled":""),config:WarrantySelector.config},children:[{tag:"div",attrs:{className:"mc--warranty-checkbox",onclick:WarrantySelector.vm.toggle}},{tag:"div",attrs:{className:"mc--warranty-label"},children:["Add 2-Year Protection Plan with Accidental Damage Coverage for ",WarrantySelector.vm.price()," per device",{tag:"br",
attrs:{}},{tag:"a",attrs:{href:"#",onclick:WarrantySelector.vm.learnMore},children:["Learn more"]}]}]}}}}(jQuery);
var ProductInfo={Perks:{view:function(ctrl,args){return{tag:"ul",attrs:{className:"mc--perks"},children:[{tag:"li",attrs:{},children:[{tag:"i",attrs:{className:"fa fa-check-circle"}},m.trust(PerksInfo.shipping)]},{tag:"li",attrs:{},children:[{tag:"i",attrs:{className:"fa fa-check-circle"}},m.trust(PerksInfo.moneyBack)]},{tag:"li",attrs:{},children:[{tag:"i",attrs:{className:"fa fa-check-circle"}},m.trust(PerksInfo.warranty)]}]}}},getOrderButtonTextAndClassName:function(args){var orderButtonClassName=
"mc--btn-add-to-cart";var buttonText;switch($("#productInfo").attr("data-button-type")){case "preorder":orderButtonClassName+=" mc--btn-preorder";buttonText=args.preorder;break;case "comingSoon":orderButtonClassName+="mc--btn-coming-soon";buttonText=args.comingSoon;break;case "addToCart":buttonText=args.addToCart;break;default:break}return{text:buttonText,className:orderButtonClassName}},controller:function(args){var orderButtonAttributes=ProductInfo.getOrderButtonTextAndClassName(args);this.orderButtonClassName=
orderButtonAttributes.className;this.orderButtonText=orderButtonAttributes.text},Fineprint:{view:function(ctrl,args){return args.fineprint?{tag:"span",attrs:{className:"mc--product-fineprint"},children:[m.trust(args.fineprint||"")]}:{tag:"span",attrs:{}}}},view:function(ctrl,args){return{tag:"div",attrs:{className:"mc--product-info"},children:[{tag:"div",attrs:{"class":"mc--product-data-wrap"},children:[{tag:"p",attrs:{className:"mc--product-description"},children:[m.trust(args.description)]},{tag:"p",
attrs:{className:"mc--product-description"},children:[m.component(ProductInfo.Fineprint,{fineprint:args.fineprint})]},{tag:"div",attrs:{"class":"mc--product-selections-wrap",id:"productSelectionsWrap"},children:[m.component(ProductSelectionsWrapper,{bands:args.bands,bandUrlSpecified:args.bandUrlSpecified,colors:args.colors,specialColors:args.specialColors,sizes:args.sizes,hasOneSize:args.hasOneSize,hasOneSizeDropdown:args.hasOneSizeDropdown,productName:args.productName,maxQuantity:args.maxQuantity,
hasColorDropdown:args.hasColorDropdown,bandWidthDropdown:args.bandWidthDropdown,bandWidthUrlSpecified:args.bandWidthUrlSpecified})]},args.warranty.available?WarrantySelector:null]},{tag:"p",attrs:{className:"mc--stock-message mc--select-limited"},children:[MinicartContent.translate("limited_quantities","cms.i18n.i18n.com.fitbit.mktg.pip."+args.productName)]},{tag:"p",attrs:{className:"mc--stock-message mc--select-size-error"},children:[MinicartContent.translate("please_select_size")]},{tag:"p",attrs:{className:"mc--stock-message mc--select-band-error"},
children:[MinicartContent.translate("please_select_band")]},{tag:"p",attrs:{className:"mc--stock-message mc--message"}},{tag:"p",attrs:{className:"mc--product-price"},children:[m.trust(args.price||"")]},{tag:"button",attrs:{className:ctrl.orderButtonClassName},children:[ctrl.orderButtonText]},ProductInfo.Perks]}}};
var MinicartTemplate={elementWithValueExists:function(array,value){for(var i=0;i<array.length;i++)if(array[i].value===value)return true;return false},modelWithPropsExists:function(product,properties){var propertiesKeys=Object.keys(properties);var model={};var searchContinue;if(propertiesKeys&&propertiesKeys.length)for(var i=0;i<product.models.length;i++){model=product.models[i];searchContinue=false;for(var property in properties)if(!(model.hasOwnProperty(property)&&model[property]===properties[property]))searchContinue=
true;if(searchContinue)continue;return true}return false},getAvailableProp:function(param,value,product){var availableParam=false;product.models.forEach(function(model){if(model[param]===value)availableParam=value});return availableParam},getProductById:function(productList,productId){var productArray=[];var productItem=null;var uniqueProductList=productList.filter(function(elem,index,self){return index===self.indexOf(elem)});productList=uniqueProductList;productList.forEach(function(product){if(product.hasOwnProperty("productName")&&
product.productName===productId)productArray.push(product)});productArray.sort(function(a,b){return b.models.length-a.models.length});productArray.forEach(function(elem,index){if(index===0)productItem=elem;else productItem.models=productItem.models.concat(elem.models)});return productItem},getProductColors:function(product,urlParams){function addColor(model,isActive){var color={value:model.color,name:model.colorName?model.colorName:model.color,secondaryColor:model.secondaryColor||"",description:model.colorDescription||
"",isActive:isActive,specialColor:model.specialColor||"",warrantySKU:model.warrantySKU||""};if(model.newColor)color.newColor=model.newColor;colors.push(color)}var colors=[];var activeColor=MinicartTemplate.getAvailableProp("color",urlParams.color,product);for(var i=0;i<product.models.length;i++){var model$$0=product.models[i];if(!model$$0.color)continue;if(activeColor){if(activeColor===model$$0.color&&!MinicartTemplate.elementWithValueExists(colors,model$$0.color))addColor(model$$0,true)}else if(urlParams.bandWidth&&
urlParams.bandWidth!="regular"&&MinicartTemplate.modelWithPropsExists(product,{bandWidth:urlParams.bandWidth})){if(urlParams.bandWidth===model$$0.bandWidth)if(MinicartTemplate.elementWithValueExists(colors,model$$0.color))colors.forEach(function(color){if(color.value===model$$0.color)color.isActive=true});else addColor(model$$0,true)}else if(product.defaultModel===model$$0.sku)if(!MinicartTemplate.elementWithValueExists(colors,model$$0.color))addColor(model$$0,true);else colors.forEach(function(color){if(color.value===
model$$0.color)color.isActive=true});if(!MinicartTemplate.elementWithValueExists(colors,model$$0.color))addColor(model$$0,false)}return colors},getProductSizes:function(product){function addSize(model,isActive){sizes.push({value:model.size,name:model.sizeName,isActive:isActive})}var sizes=[];for(var i=0;i<product.models.length;i++){var model$$0=product.models[i];if(!model$$0.sizeName)continue;if(sizes.length===0){addSize(model$$0,true);continue}if(!MinicartTemplate.elementWithValueExists(sizes,model$$0.size))addSize(model$$0,
false)}return sizes},getProductBands:function(product,urlParamBand){function addBand(model,isActive,urlIsSpecified){var band={value:model.band,name:model.bandName?model.bandName:model.band,isActive:isActive,urlSpecified:urlIsSpecified};bands.push(band)}var bands=[];var urlSpecified=MinicartTemplate.getAvailableProp("band",urlParamBand,product);for(var i=0;i<product.models.length;i++){var model$$0=product.models[i];if(!model$$0.band)continue;if(urlSpecified){if(urlSpecified===model$$0.band&&!MinicartTemplate.elementWithValueExists(bands,
model$$0.band))addBand(model$$0,true,true)}else if(product.defaultModel===model$$0.sku)if(!MinicartTemplate.elementWithValueExists(bands,model$$0.band))addBand(model$$0,true,false);else bands.forEach(function(band){if(band.value===model$$0.band)band.isActive=true});if(!MinicartTemplate.elementWithValueExists(bands,model$$0.band))addBand(model$$0,false,false)}return bands},getProductImages:function(product,urlParamColor,urlParamBand,urlParamBandWidth){var imageGroups=[];var activeColor=MinicartTemplate.getAvailableProp("color",
urlParamColor,product);var activeBand=MinicartTemplate.getAvailableProp("band",urlParamBand,product);var activeBandWidth=MinicartTemplate.getAvailableProp("bandWidth",urlParamBandWidth,product);if(product.bandWidthDropdown===true&&!activeBandWidth)activeBandWidth="regular";if(product.hasBandDropdown===true&&!activeBand)activeBand="classic";var getModelBadge=function(model,image){if(typeof model.badge==="string"&&typeof image.showBadge==="boolean"&&image.showBadge)return model.badge;return""};for(var i=
0;i<product.models.length;i++){if(!product.models[i].imagesPIP)continue;for(var j=0;j<product.models[i].imagesPIP.length;j++){if(imageGroups.length<=j)imageGroups[j]={images:[],isActive:false};imageGroups[j].images.push(product.models[i].imagesPIP[j]);imageGroups[j].images[imageGroups[j].images.length-1].color=product.models[i].color||false;imageGroups[j].images[imageGroups[j].images.length-1].band=product.models[i].band||false;imageGroups[j].images[imageGroups[j].images.length-1].sku=product.models[i].sku||
false;imageGroups[j].images[imageGroups[j].images.length-1].newColor=product.models[i].newColor||"";imageGroups[j].images[imageGroups[j].images.length-1].isVideo=product.models[i].imagesPIP[j].type==="video";imageGroups[j].images[imageGroups[j].images.length-1].isActive=false;imageGroups[j].images[imageGroups[j].images.length-1].badge=getModelBadge(product.models[i],product.models[i].imagesPIP[j]);product.models[i].bandWidth?imageGroups[j].images[imageGroups[j].images.length-1].bandWidth=product.models[i].bandWidth:
false}}var setActiveColorAndBand=function(image,index,imageGroupIndex){if(activeColor){if(activeColor===image.color)if(activeBandWidth&&MinicartTemplate.modelWithPropsExists(product,{color:activeColor,bandWidth:activeBandWidth})){if(activeBandWidth===image.bandWidth)imageGroups[imageGroupIndex].images[index].isActive=true}else if(activeBand&&MinicartTemplate.modelWithPropsExists(product,{color:activeColor,band:activeBand})){if(activeBand===image.band)imageGroups[imageGroupIndex].images[index].isActive=
true}else imageGroups[imageGroupIndex].images[index].isActive=true}else if(activeBand){if(activeBand===image.band){imageGroups[imageGroupIndex].images[index].isActive=true;return true}}else if(activeBandWidth){if(activeBandWidth===image.bandWidth){imageGroups[imageGroupIndex].images[index].isActive=true;return true}}else if(product.defaultModel===image.sku)imageGroups[imageGroupIndex].images[index].isActive=true;return false};if(imageGroups.length){imageGroups[0].isActive=true;for(var k=0;k<imageGroups.length;k++){var hasActive=
false;imageGroups[k].images.forEach(function(image,index){if(!hasActive)hasActive=setActiveColorAndBand(image,index,k)})}}return imageGroups}};
(function($){function getProductId(){return currentProductName}function mountMinicart(productId){var product=MinicartTemplate.getProductById(products,productId);if(!product)return false;$(".mc-hidden").removeClass("mc-hidden");var colors=MinicartTemplate.getProductColors(product,urlParams);var specialColors=[];var sizes=MinicartTemplate.getProductSizes(product);var bands=MinicartTemplate.getProductBands(product,urlParams.band);var bandUrlSpecified=MinicartTemplate.getAvailableProp("band",urlParams.band,
product);var imageGroups=MinicartTemplate.getProductImages(product,urlParams.color,urlParams.band,urlParams.bandWidth);var description=MinicartContent.translate("product_description","cms.i18n.i18n.com.fitbit.mktg.pip."+jsProductSourceName)||"";var separateSpecialColors=function(){var _standartColors=[];var _specialColors=[];colors.forEach(function(elem,index){if(elem.hasOwnProperty("specialColor")&&elem.specialColor===true)_specialColors.push(colors[index]);else _standartColors.push(colors[index])});
colors=_standartColors;specialColors=_specialColors}();var mithrilContext={imageGroups:imageGroups,description:description.replace(/$\{quote\}/gm,'"'),price:product.price,preorder:productsData.i18n.preorder,addToCart:productsData.i18n.addToCart,comingSoon:productsData.i18n.comingSoon,bands:bands,bandUrlSpecified:bandUrlSpecified,colors:colors,specialColors:specialColors,sizes:sizes,hasColorDropdown:product.hasColorDropdown||false,hasOneSize:product.hasOneSize,hasOneSizeDropdown:product.hasOneSizeDropdown,
productName:product.productName,warranty:{available:product.models.some(function(model){return Boolean(model.warrantySKU)})},fineprint:product.fineprint,bandWidthDropdown:product.bandWidthDropdown||false,bandWidthUrlSpecified:urlParams.bandWidth||false,maxQuantity:$("#productInfo").attr("data-max-not-five")?10:5};m.mount(document.getElementById("mcContent"),m.component(MinicartContent,mithrilContext))}var products=[];if(typeof productsData!=="undefined"&&productsData.products)products=products.concat(productsData.products);
if(typeof accessoriesData!=="undefined"&&accessoriesData.products)products=products.concat(accessoriesData.products);if(typeof servicesData!=="undefined"&&servicesData.products)products=products.concat(servicesData.products);if(typeof apparelData!=="undefined"&&apparelData.products)products=products.concat(apparelData.products);var urlParams;(window.onpopstate=function(){var match;var pl=/\+/g;var search=/([^&=]+)=?([^&]*)/g;var decode=function(s){return decodeURIComponent(s.replace(pl," "))};var query=
window.location.search.substring(1);for(urlParams={};match=search.exec(query);)urlParams[decode(match[1])]=decode(match[2])})();window.mountMinicart=mountMinicart;window.getProductId=getProductId;mountMinicart(getProductId())})(jQuery);
(function($){function onProductClick(){var data={brand:"fitbit",list:$(this).parents("#u-popup-add-to-cart").length?"cross sell":"store",name:$(this).closest(".product").data("product-name"),id:$(this).closest(".product").data("default-model"),price:$(this).find(".product__price").contents().text(),category:$(this).closest(".product").data("category"),color:$(this).find(".pi-l__item--active").data("color"),href:$(this).find(".product__buy-btn")[0].href};if(data.color){data.variant=colorAbrv(data.color);
data.name=data.name+" ("+data.color+")"}trackProductClick(data)}function getCrossSellImpressions($products){return $products.map(function(index){var $this=$(this);return{"list":"overlay cross sell","name":$this.find(".product").data("product-name"),"id":$this.find(".product").data("default-model"),"position":index,"price":$this.find(".product__price").contents().filter(function(){return this.nodeType==3}).last().text()}}).get()}function trackCrossSellImpressions(){var $visibleProducts=$('#u-popup-add-to-cart .slick-list .goods-list__item[aria-hidden\x3d"false"]').length?
$('#u-popup-add-to-cart .slick-list .goods-list__item[aria-hidden\x3d"false"]').not(".slick-cloned, [data-viewed]"):$("#u-popup-add-to-cart .products-else .goods-list__item");if(!$visibleProducts.length)return;$visibleProducts.attr("data-viewed","");dataLayer.push({"event":"eventTracker","eventCat":"store","eventAct":"product impressions","eventLbl":"overlay cross sell","eventVal":0,"nonInteraction":0,"ecommerce":{"currencyCode":ga_currencyCode,"impressions":getCrossSellImpressions($visibleProducts)}});
$("#u-popup-add-to-cart .goods-list").one("afterChange",trackCrossSellImpressions)}function bindShowEvent(popUpInstance){popUpInstance.on("open",function(){trackCrossSellImpressions();popUpInstance.window.on("click","a.btn",function(){var eventAct=/\/cart$/.test(this.href)?"overlay cross sell checkout":/\/store$/.test(this.href)?"overlay cross sell keep shopping":null;if(eventAct)dataLayer.push({"event":"eventTracker","eventCat":"store","eventAct":eventAct,"eventLbl":"","eventVal":0,"nonInteraction":0})});
$(".goods").off("click",".product .product__hover-layer",onProductClick).on("click",".product .product__hover-layer",onProductClick)});showEventBound=true}function trackBannerImpressions(promotions){if(promotions.length)dataLayer.push({"event":"eventTracker","eventCat":"product promotion banner","eventAct":"promo view","eventLbl":"promo view","eventVal":0,"nonInteraction":0,"ecommerce":{"promoView":{"promotions":promotions}}})}function trackWarranty(){for(var i=0;i<productsData.warranties.length;i++){var warranty=
productsData.warranties[i];if(warranty.sku===ga_currentModelData.warrantySKU){trackAddToCart({id:warranty.sku,price:warranty.price,quantity:$(".mc--product-quantity .mc--ps-list-select").data("value"),category:"warranty"});return}}}function getCountryCode(){var locale;var bodyClass=$("body").attr("class").match(/locale-\S+/);if(bodyClass)locale=bodyClass[0].replace("locale-","");else if(typeof fitbit!=="undefined")locale=fitbit.i18n.locale;return locale}function getCurrency(locale){switch(locale){case "en_US":return"USD";
break;case "en_CA":return"CAD";break;case "en_GB":return"GBP";break;case "fr_FR":case "de_DE":case "it_IT":case "es_ES":case "en_FI":case "en_BE":case "en_DK":case "de_AT":case "de_CH":case "en_SE":case "en_NO":case "en_NL":case "en_IE":case "en_EU":return"EUR";break;case "en_AU":return"AUD";break;case "en_NZ":return"NZD";break;default:return""}}function colorAbrv(color){switch(color){case "black":return"BK";break;case "blue":return"BU";break;case "burgundy":return"BY";break;case "magenta":return"MA";
break;case "charcoal":return"CL";break;case "white":return"WE";break;case "navy":return"NY";break;case "teal":return"TL";break;case "slate":return"SL";break;case "red":return"RD";break;case "violet":return"VT";break;case "lime":return"LE";break;case "tangerine":return"TG";break;case "pink":return"PK";break;case "plum":return"PM";break;case "graphite":return"GY";break;case "blush pink":return"BH";break;case "silver":return"SR";break;case "camel":return"BN";break;case "mist grey":return"PR";break;case "undefined":return"";
break;default:return color}}function onPromoClick(promoURL,id,name,creative,position){dataLayer.push({"event":"eventTracker","eventCat":"product promotion slider","eventAct":"promo click","eventLbl":name,"eventVal":0,"nonInteraction":0,"ecommerce":{"promoClick":{"promotions":[{"id":id,"name":name,"creative":creative,"position":position}]}},"eventCallback":function(){document.location=promoURL}})}function trackProductClick(data){dataLayer.push({"event":"eventTracker","eventCat":data.list,"eventAct":"product clicks",
"eventLbl":data.name,"eventVal":0,"nonInteraction":0,"ecommerce":{"currencyCode":ga_currencyCode,"click":{"actionField":{"list":data.list},"products":[{"name":data.name,"id":data.id,"price":data.price,"brand":data.brand,"category":data.category,"variant":data.variant}]}},"eventCallback":function(e){if(typeof productURL!=="undefined")document.location=productURL;else document.location=data.href}})}function trackAddToCart(data){dataLayer.push({"event":"eventTracker","eventCat":"store","eventAct":"add to cart",
"eventLbl":data.name||data.category,"eventVal":0,"nonInteraction":0,"ecommerce":{"currencyCode":ga_currencyCode,"add":{"products":[data]}}})}if(window.thirdPartyTrackingDisabled)return;var ga_products=[];var ga_currentProductData;var ga_currentModelData;var ga_currencyCode=getCurrency(getCountryCode());var showEventBound=false;if(typeof productsData!=="undefined"&&productsData.products)ga_products=ga_products.concat(productsData.products);if(typeof accessoriesData!=="undefined"&&accessoriesData.products)ga_products=
ga_products.concat(accessoriesData.products);if(typeof servicesData!=="undefined"&&servicesData.products)ga_products=ga_products.concat(servicesData.products);if(typeof apparelData!=="undefined"&&apparelData.products)ga_products=ga_products.concat(apparelData.products);$(".goods").on("click",".product .product__hover-layer",onProductClick);if(window.addToCartOverlay)bindShowEvent(window.addToCartOverlay);$('[data-tracking-type\x3d"promo"]').on("click","[data-tracking-name]",function(event){var $banner=
$(event.currentTarget);var container=$(event.delegateTarget);var name=$banner.data("tracking-name");var id=$banner.data("tracking-id");var position=$container.data("tracking-position");onPromoClick("home",id,name,"creative",position)});if($('[data-tracking-type\x3d"promo"]').length){var $visiblePromoBanners=$("[data-tracking-name]").filter(function(){var $this=$(this);if($this.hasClass("slick-cloned"))return false;if($this.hasClass("slick-slide")&&!$this.hasClass("slick-current"))return false;return true});
var promotions=$visiblePromoBanners.map(function(){var $this=$(this);return{id:$this.data("tracking-id"),name:$this.data("tracking-name"),position:$this.closest("[data-tracking-position]").data("tracking-position"),creative:"creative"}}).get();trackBannerImpressions(promotions);$('.slick-slider[data-tracking-type\x3d"promo"]').on("afterChange",function(event,slick,currentSlide){var $promoSlides=$(".slick-slide[data-tracking-name]");var $current=$($promoSlides[currentSlide]);if(currentSlide>$promoSlides.length-
1)return;var promotion={id:$current.data("data-tracking-id"),name:$current.data("data-tracking-name"),position:$current.closest("[data-tracking-position]").data("tracking-position"),creative:"creative"};trackBannerImpressions([promotion])})}$(".mc--btn-add-to-cart").on("click",function(){if($(this).is(".mc--btn-add-to-cart-active")){var sku=$(this).data("sku");var price=$(".mc--product-price").contents().filter(function(){return this.nodeType==3}).last().text();ga_currentProductData=MinicartTemplate.getProductById(ga_products,
currentProductName);ga_currentModelData=ga_currentProductData.models.filter(function(obj){return obj.sku==sku})[0];var name=ga_currentProductData.productName;var size=ga_currentModelData.size;var sizeName=ga_currentModelData.sizeName;var colorShort=colorAbrv(ga_currentModelData.color);var color=ga_currentModelData.color;if(color&&sizeName)name=name+" ("+color+") "+"- "+sizeName;else if(color)name=name+" ("+color+")";if(!showEventBound)bindShowEvent(window.addToCartOverlay||$("#u-popup-add-to-cart").uPopUp("getInstance"));
trackAddToCart({name:name,id:sku,price:price,brand:"fitbit",category:ga_currentProductData.category,variant:(color?color+" - ":"")+(size||""),quantity:$(".mc--product-quantity .mc--ps-list-select").data("value")});if($(".mc--warranty-selected").length)trackWarranty();else $(".wp--add-to-cart-button").one("click",trackWarranty)}})})(jQuery);
