!function(window,document){"use strict";const queuedEvents=Array.isArray(window.uSizy)?window.uSizy:[];function intersection(setA,setB){let _intersection=new Set;for(let elem of setB)setA.has(elem)&&_intersection.add(elem);return _intersection}function setEventListener(key,target,type,listener,options){uSizy.globalListener.has(key)||(uSizy.globalListener.add(key),target.addEventListener(type,listener,options))}function domReady(key,fn){setEventListener(key,document,"DOMContentLoaded",fn),"interactive"!==document.readyState&&"complete"!==document.readyState||fn()}function getDataset(element){let counter,length,attribute,match,dataset={},attributes=element.attributes;for(counter=0,length=attributes.length;counterletter.toUpperCase())))]=attribute.value);var string;element.dataset=dataset}function storageAvailable(type){try{let storage=window[type],x="__storage_test__";return storage.setItem(x,x),storage.removeItem(x),!0}catch(e){return!1}}function observeVisibility(buttonElement){new IntersectionObserver((entries=>{entries.some((entry=>entry.isIntersecting))&&checkVisibilityChange()})).observe(buttonElement)}function selectVisibleButtons(product,button_list){let visibleButtons=[];for(let i=button_list.length-1;i>=0;i--){let buttonElement=button_list[i];null!==buttonElement.offsetParent?visibleButtons.push(buttonElement):observeVisibility(buttonElement)}visibleButtons.length<=0&&(visibleButtons=[button_list[0]]),visibleButtons.forEach((buttonElement=>{!function(buttonElement){if(uSizy.loadedAdvisers.has(buttonElement))return;uSizy.loadedAdvisers.add(buttonElement),buttonElement.dataset.url&&(window.uSizy.URL=buttonElement.dataset.url);!function(buttonElement){let data=function(element){element.dataset.btid="usz"+"10000000100040008000100000000000".replace(/[018]/g,(c=>(c^crypto.getRandomValues(new Uint8Array(1))[0]&15>>c/4).toString(16)));let orient="";window.matchMedia("(orientation: portrait)").matches&&(orient="p");window.matchMedia("(orientation: landscape)").matches&&(orient="l");let data={layout:element.dataset.layout||"link",or:orient,sh:Math.min(window.innerHeight||1/0,window.screen.height),sw:window.screen.width||0,btid:element.dataset.btid||""};element.dataset.branding&&(data.branding=element.dataset.branding);element.dataset.country&&(data.country=element.dataset.country);element.dataset.language&&(data.language=element.dataset.language);element.dataset.text&&(data.text=element.dataset.text);element.dataset.color&&(data.color=element.dataset.color);element.dataset.background&&(data.background=element.dataset.background);element.dataset.style&&(data.style=element.dataset.style);element.dataset.iconcolor&&(data.iconcolor=element.dataset.iconcolor);element.dataset.iconstyle&&(data.iconstyle=element.dataset.iconstyle);element.dataset.user&&(data.user=element.dataset.user);element.dataset.email&&(data.email=element.dataset.email);element.dataset.session&&(data.session=element.dataset.session);element.dataset.visitor&&(data.visitor=element.dataset.visitor);element.dataset.order&&(data.order=element.dataset.order);element.dataset.product?data.product=element.dataset.product:element.dataset.uniqueProductId&&(data.product=element.dataset.uniqueProductId);element.dataset.brand&&(data.brand=element.dataset.brand);element.dataset.price&&(data.price=element.dataset.price);element.dataset.guidelink&&(data.guidelink=element.dataset.guidelink);element.dataset.system?data.sizesystem=element.dataset.system:element.dataset.sizesystem&&(data.sizesystem=element.dataset.sizesystem);element.dataset.device&&(data.device=element.dataset.device);element.dataset.img&&(data.img=element.dataset.img);element.dataset.logo&&(data.logo=element.dataset.logo);element.dataset.forid&&(data.forid=element.dataset.forid);element.dataset.client&&(data.client=element.dataset.client);element.dataset.autoClick&&(data.autoclick=1);let sk=_loadSk();sk&&"undefined"!==sk&&(data.sk=sk);if(element.dataset.ref)data.ref=element.dataset.ref;else try{const loc=window.top.location;data.ref=loc.protocol+"//"+loc.hostname+loc.pathname}catch(DOMException){}return data}(buttonElement);data.channel="web-btn",fetch(window.uSizy.URL+"/api/v1/display-button",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify(data)}).then((response=>{response.ok&&response.json().then((data=>{!function(buttonElement,data){data.html&&buttonElement.insertAdjacentHTML("afterend",data.html);data.scripts&&data.scripts.forEach((js=>{if(!uSizy.globalScripts.has(js)){const script=document.createElement("script");script.src=js,document.head.appendChild(script),uSizy.globalScripts.add(js)}}));if(data.script){const script=document.createElement("script");script.innerHTML=data.script,buttonElement.appendChild(script)}buttonElement.style.display="none";let width=buttonElement.dataset.width;if(width){document.getElementById(buttonElement.dataset.btid).style.width=width.indexOf("%")>-1?width:width+"px"}}(buttonElement,data)}))}))}(buttonElement)}(buttonElement)}))}function _loadSk(){let sk;return storageAvailable("localStorage")&&(sk=window.localStorage.getItem("usizy.sk")),sk||(sk=document.cookie.replace(/(?:^|.*;\s*)usizy\.sk\s*=\s*([^;]*).*$|^.*$/,"$1")),sk}function _saveSk(sk){storageAvailable("localStorage")&&window.localStorage.setItem("usizy.sk",sk),document.cookie="usizy.sk="+sk+"; path=/; max-age=63072000; SameSite=None; Secure"}function checkVisibilityChange(){uSizy.buttonsMap.forEach(((button_list,product)=>{selectVisibleButtons(0,button_list)}))}function addGlobalMessageListeners(){setEventListener("resize",window,"resize",checkVisibilityChange),setEventListener("message",window,"message",(event=>{var data,origin;window.location.origin||(window.location.origin=window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:"")),("null"===(origin=event.origin)||~origin.indexOf(window.uSizy.URL)||~origin.indexOf(window.location.origin)||~origin.indexOf("about:"))&&("EXTERNAL"===event.data.subject?(_saveSk((data=event.data).sk),data.kind&&("popup"===data.kind||"chart"===data.kind?window.uSizy.associated_product():"empty"!==data.kind&&"guide"!==data.kind||window.uSizy.unassociated_product()),buildNextButtonElement()):"ADD_TO_CART"===event.data.subject&&window.uSizy.add_to_cart(event.data))}),!1)}let mapIterator;function buildNextButtonElement(){let value=mapIterator.next().value;if(void 0===value)return void function(){const toClear=[];for(const element of uSizy.loadedAdvisers)if(!document.body.contains(element)){toClear.push(element);const adviser=document.getElementById(element.dataset.btid);adviser&&adviser.remove()}for(const element of toClear)uSizy.loadedAdvisers.delete(element)}();value[0];selectVisibleButtons(0,value[1])}function ready(){queuedEvents.forEach((event=>{uSizy.push(event)})),addGlobalMessageListeners();let buttonElements=document.getElementsByClassName("usizy-external");uSizy.buttonsMap=function(elements){let map=new Map;for(let i=0;i{},autoShow:(adviser,root,data)=>"default",add_to_cart:data=>{},get_stock_sizes:()=>{},associated_product:()=>{},unassociated_product:()=>{},buttonsMap:new Map,apisMap:new Map,loadedAdvisers:new Set,globalListener:new Set,globalScripts:new Set,push:event=>{const eventType=event.event.toLowerCase();let data={};for(let p in event)event.hasOwnProperty(p)&&(data[p]=event[p]);if("confirm"===eventType){const all_keys=new Set(Object.keys(data));if(0===intersection(all_keys,new Set(["order_id","order"])).size)throw new TypeError("Field order_id is required");if(0===intersection(all_keys,new Set(["product_ids","products","product_id","product","item_group_id"])).size)throw new TypeError("Field product_ids is required")}let sk=_loadSk();sk&&"undefined"!==sk&&(data.sk=sk);let ref=window.top.location.protocol+"//"+window.top.location.hostname;ref&&"undefined"!==ref&&(data.ref=ref);let url=window.uSizy.URL+"/api/v2/event/"+eventType,oReq=new XMLHttpRequest;oReq.open("POST",url,!0),oReq.setRequestHeader("Content-Type","application/json"),oReq.withCredentials=!0,oReq.send(JSON.stringify(data)),window.postMessage(event,"*")},view:event=>{let data=new FormData;for(let p in event)event.hasOwnProperty(p)&&data.append(p,event[p]);let sk=_loadSk();sk&&"undefined"!==sk&&data.append("sk",sk),fetch(window.uSizy.URL+"/external/pageview",{method:"POST",credentials:"include",body:data})}});try{document.currentScript.dataset.manual_init||init()}catch(e){init()}domReady("DOMContentLoadedPage",(function(){void 0===window.uSizyUniversal_initialized&&(window.uSizyUniversal_initialized=!0,uSizy.view({event:"PAGEVIEW",ref:window.top.location}))}))}(window,document);