addEventListener("DOMContentLoaded",event=>{if(!Utils.isCollectionPage){const isCollectionPage=()=>window.location.pathname.includes("/collections");Utils.isCollectionPage=isCollectionPage}if(window.Analytics){var ANALYTICS_KEY="boostPFSAnalytics",SESSION_KEY="boostPFSSessionId",CLICKED_PRODUCT_KEY="boostPFSClickedProduct",CART_TOKEN="",SESSION="",VIEWED_PRODUCT_DATA=null,boostPFSRequestIds="boostPFSRequestIds",AnalyticsEnum={UserAction:{VIEW_PRODUCT:"view_product",QUICK_VIEW:"quick_view",ADD_TO_CART:"add_to_cart",BUY_NOW:"buy_now"},Action:{FILTER:"filter",SEARCH:"search",SUGGEST:"suggest"}};Analytics.initInstantSearch=function(){Settings.getSettingValue("search.enableSuggestion")&&(document.addEventListener("click",Analytics.onClickProductInSuggestion,!0),document.addEventListener("keydown",Analytics.onClickProductInSuggestion,!0))},Analytics.initCollectionSearchPage=function(){Selector.trackingProduct&&jQ(Selector.products).length>0&&document.addEventListener("click",Analytics.onClickProductInFilterResult,!0)},Analytics.initOtherPage=function(){var dataList=Analytics.getLocalStorage(ANALYTICS_KEY);Array.isArray(dataList)&&(dataList.forEach(data=>{Analytics.sendProductClickData(data,!0),data.pid==boostPFSAppConfig.general.product_id&&(VIEWED_PRODUCT_DATA=data)}),Utils.isProductPage()&&(Selector.trackingAddToCart&&document.addEventListener("click",Analytics.onClickAddToCartInProductPage,!0),Selector.trackingBuyNow&&document.addEventListener("click",Analytics.onClickBuyNowInProductPage,!0)),document.addEventListener("click",Analytics.detectClickFromRecommendation,!0))},Analytics.refreshCartToken=function(dataToRetry,retryCount=3){retryCount<=0||fetch("/cart.js",{method:"GET",headers:{"Content-Type":"application/json"}}).then(response=>response.json()).then(data=>{data.token&&data.token.length>58?(CART_TOKEN=data.token,dataToRetry&&(dataToRetry.ct=data.token,Analytics.sendProductClickData(dataToRetry,!0))):setTimeout(()=>Analytics.refreshCartToken(dataToRetry,retryCount-1),1e3)}).catch(error=>{setTimeout(()=>Analytics.refreshCartToken(dataToRetry,retryCount-1),1e3)})},Analytics.generateUUID=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var r=Math.random()*16|0,v=c=="x"?r:r&3|8;return v.toString(16)})},Analytics.onClickProductInFilterResult=function(event2){if(!(!event2||!event2.target)){var $clickedElement=jQ(event2.target),action=Utils.isSearchPage()?AnalyticsEnum.Action.SEARCH:AnalyticsEnum.Action.FILTER,userAction=AnalyticsEnum.UserAction.VIEW_PRODUCT;Selector.trackingQuickView&&$clickedElement.closest(Selector.trackingQuickView).length>0&&(userAction=AnalyticsEnum.UserAction.QUICK_VIEW),(Selector.trackingAddToCart&&$clickedElement.closest(Selector.trackingAddToCart).length>0||$clickedElement.closest(Selector.products).length>0&&Analytics.isClickAddToCart(event2.target))&&(userAction=AnalyticsEnum.UserAction.ADD_TO_CART),Selector.trackingBuyNow&&$clickedElement.closest(Selector.trackingBuyNow).length>0&&(userAction=AnalyticsEnum.UserAction.BUY_NOW);var productId="",$productElement=$clickedElement.closest(Selector.trackingProduct);if($productElement.length>0?productId=$productElement.attr("data-id"):VIEWED_PRODUCT_DATA&&(userAction==AnalyticsEnum.UserAction.ADD_TO_CART||userAction==AnalyticsEnum.UserAction.BUY_NOW)&&(productId=VIEWED_PRODUCT_DATA.pid),!!productId){var data=Analytics.buildProductClickData(productId,userAction,action);Analytics.addProductClickData(data),Analytics.sendProductClickData(data,!0),userAction==AnalyticsEnum.UserAction.QUICK_VIEW?VIEWED_PRODUCT_DATA=data:VIEWED_PRODUCT_DATA=null}}},Analytics.onClickProductInSuggestion=function(event2){if(!(!event2||!event2.target)&&!(event2.type=="keydown"&&event2.keyCode!=13)){var $clickedElement=jQ(event2.target),$productElement=$clickedElement.closest("."+Class.searchSuggestionItem+"-product");if($productElement){var productId=$productElement.attr("data-id");if(productId){var data=Analytics.buildProductClickData(productId,AnalyticsEnum.UserAction.VIEW_PRODUCT,AnalyticsEnum.Action.SUGGEST);Analytics.addProductClickData(data)}}}},Analytics.isClickAddToCart=function(activeElement){if(!activeElement)return!1;["SPAN","XVG"].includes(activeElement.tagName)&&activeElement.parentElement?.tagName==="BUTTON"&&(activeElement=activeElement.parentElement);const addToCartKeywords=["boost-pfs-addtocart-btn","customizeAdd","add to cart","add-to-cart","add to bag","add_to_cart","addtocart","data-product-form-add",'name="add"',"add to basket","atc-button"],innerText=activeElement?.outerHTML?.toLowerCase()||"";return addToCartKeywords.some(keyword=>innerText.includes(keyword))},Analytics.onClickAddToCartInProductPage=function(event2){if(event2&&event2.target&&(jQ(event2.target).closest(Selector.trackingAddToCart).length>0||Analytics.isClickAddToCart(event2.target))){var data={tid:Globals.shopDomain,pid:boostPFSAppConfig.general.product_id.toString(),ct:CART_TOKEN,r:document.referrer,u:AnalyticsEnum.UserAction.ADD_TO_CART},productClickedData=Analytics.getLocalStorage(CLICKED_PRODUCT_KEY)||{};productClickedData[boostPFSAppConfig.general.product_id]&&(data=Object.assign(productClickedData[boostPFSAppConfig.general.product_id],data),Analytics.addProductClickData(data),Analytics.sendProductClickData(data))}},Analytics.onClickBuyNowInProductPage=function(event2){if(event2&&event2.target&&jQ(event2.target).closest(Selector.trackingBuyNow).length>0){var data={tid:Globals.shopDomain,pid:boostPFSAppConfig.general.product_id.toString(),u:AnalyticsEnum.UserAction.BUY_NOW,ct:CART_TOKEN},productClickedData=Analytics.getLocalStorage(CLICKED_PRODUCT_KEY)||{};productClickedData[boostPFSAppConfig.general.product_id]&&(data=productClickedData[boostPFSAppConfig.general.product_id],data.u=AnalyticsEnum.UserAction.BUY_NOW,Analytics.addProductClickData(data),Analytics.sendProductClickData(data))}},Analytics.buildProductClickData=(productId,userAction,action)=>{var currentTime=new Date,cartToken=CART_TOKEN,mergeUserAction=userAction==AnalyticsEnum.UserAction.QUICK_VIEW?AnalyticsEnum.UserAction.VIEW_PRODUCT:userAction,queryString="";if(action==AnalyticsEnum.Action.FILTER?queryString+="collection_scope="+Globals.collectionId:queryString+="q="+Globals.currentTerm,action==AnalyticsEnum.Action.FILTER||action==AnalyticsEnum.Action.SEARCH){var filteredKeys=Object.keys(Globals.queryParams).filter(key=>key.startsWith(Globals.prefix));filteredKeys&&filteredKeys.length>0&&filteredKeys.forEach(key=>{var values=Globals.queryParams[key];Array.isArray(values)?values.forEach(value=>{queryString+="&"+key+"="+encodeURIComponent(value)}):queryString+="&"+key+"="+encodeURIComponent(values)})}var requestIds=Analytics.getLocalStorage(boostPFSRequestIds),data={tid:Globals.shopDomain,ct:cartToken,pid:productId,t:currentTime.toISOString(),u:mergeUserAction,a:action,qs:queryString,r:document.referrer,rid:requestIds[action]?.rid},preValue=Analytics.getLocalStorage(CLICKED_PRODUCT_KEY)||{};return Analytics.setLocalStorage(CLICKED_PRODUCT_KEY,{[productId]:{...data},...preValue}),data},Analytics.detectClickFromRecommendation=function(event2){if(!(!event2||!event2.target)){var $clickedElement=jQ(event2.target),productItemV3=$clickedElement.closest(".boost-sd__product-item");if(productItemV3.length>0){var productId=productItemV3[0].id,variantId=productItemV3[0]["data-product-id"];productId&&Analytics.removeProductIdClickedProductItemInRecommendation(productId),variantId&&Analytics.removeProductIdClickedProductItemInRecommendation(variantId)}}},Analytics.removeProductIdClickedProductItemInRecommendation=function(productId){var preValue=Analytics.getLocalStorage(CLICKED_PRODUCT_KEY)||{};delete preValue[productId],Analytics.setLocalStorage(CLICKED_PRODUCT_KEY,{...preValue})},Analytics.addProductClickData=function(data){var dataList=Analytics.getLocalStorage(ANALYTICS_KEY);Array.isArray(dataList)||(dataList=[]);var newDataList=dataList.filter(x=>x.pid!=data.productId);newDataList.push(data),Analytics.setLocalStorage(ANALYTICS_KEY,newDataList)},Analytics.removeProductClickData=function(productId){var dataList=Analytics.getLocalStorage(ANALYTICS_KEY);if(Array.isArray(dataList)){var newDataList=dataList.filter(x=>x.pid!=productId);Analytics.setLocalStorage(ANALYTICS_KEY,newDataList)}},Analytics.getLocalStorage=function(key){try{return JSON.parse(localStorage.getItem(key))}catch{return null}},Analytics.setLocalStorage=function(key,value){try{value!=null?localStorage.setItem(key,JSON.stringify(value)):localStorage.setItem(key,"")}catch{}},Analytics.sendProductClickData=function(data,triedToGetToken){if(data.rid){if([AnalyticsEnum.UserAction.ADD_TO_CART,AnalyticsEnum.UserAction.BUY_NOW].includes(data.u)&&(triedToGetToken=!1),!triedToGetToken&&!data.ct){setTimeout(function(){Analytics.refreshCartToken(data)},1e3);return}data.sid=SESSION,Analytics.removeProductClickData(data.pid);var xhr=new XMLHttpRequest;xhr.open("POST",Api.getApiUrl("analytics")),xhr.setRequestHeader("Content-Type","application/json;charset=UTF-8"),xhr.send(JSON.stringify(data))}},Analytics.getSessionId=function(){return SESSION||(SESSION=Analytics.getLocalStorage(SESSION_KEY),SESSION||(SESSION=Analytics.generateUUID(),Analytics.setLocalStorage(SESSION_KEY,SESSION)),SESSION)},(Utils.isSearchPage()||Utils.isCollectionPage()&&!Utils.isProductPage())&&(FilterApi.afterCall=function(result,eventType,eventInfo){var key=AnalyticsEnum.Action.FILTER;Utils.isSearchPage()&&(key=AnalyticsEnum.Action.SEARCH);var preValue=Analytics.getLocalStorage(boostPFSRequestIds)||{};Analytics.setLocalStorage(boostPFSRequestIds,{...preValue,[key]:{rid:result?.meta?.rid,data:result}})}),InstantSearchApi.afterCall=function(result){var preValue=Analytics.getLocalStorage(boostPFSRequestIds)||{};Analytics.setLocalStorage(boostPFSRequestIds,{...preValue,[AnalyticsEnum.Action.SUGGEST]:{rid:result?.meta?.rid,data:result}})},Analytics.init=function(){window.XMLHttpRequest&&(CART_TOKEN="",SESSION=Analytics.getLocalStorage(SESSION_KEY),SESSION||(SESSION=Analytics.generateUUID(),Analytics.setLocalStorage(SESSION_KEY,SESSION)),Analytics.initInstantSearch(),Analytics.initCollectionSearchPage(),Analytics.initOtherPage())},window.Analytics=Analytics,setTimeout(function(){Analytics?.init(),console.log("Have customize tracking events for analytics V2")},1e3)}else console.log("This page have not tracking events for analytics V2")}); //# sourceMappingURL=/cdn/shop/t/16/assets/boost-pfs-analytics-custom.js.map?v=161314685702743820801736917052