"use strict";(()=>{var j=document.querySelector('[flipico-cart="cart-button"]'),se=document.querySelector('[flipico-cart="added-to-cart-modal"]');async function M(){try{let o=await(await fetch("https://koszyk.inspiredbyid.com/api/cart",{credentials:"include"})).json();if(!Array.isArray(o))throw new Error("Received data is not an array");return o}catch(e){return console.error("Failed to fetch cart items:",e),[]}}async function A(){try{let e=u=>u.toLocaleString("pl-PL",{minimumFractionDigits:2,maximumFractionDigits:2}),o=document.querySelector('[flipico-cart="state-default"]'),t=document.querySelector('[flipico-cart="state-empty"]'),i=await M();await C(i)||console.log("Stany magazynowe zosta\u0142y zaktualizowane."),i=await M();let n=i.reduce((u,p)=>u+p.price*p.quantity,0),l=document.querySelector('[flipico-cart="total-amount"]'),c=document.querySelector('[flipico-cart="quantity-counter"]'),a=document.querySelectorAll('[flipico-cart="remaining-to-free-shipping-wrapper"]'),s=document.querySelectorAll('[flipico-cart="free-shipping-wrapper"]');l&&(l.textContent=`${e(n)} z\u0142`),c&&(c.textContent=i.reduce((u,p)=>u+p.quantity,0).toString()),window.location.pathname==="/koszyk"&&j&&j.remove(),a.forEach(u=>u.classList.add("hide")),s.forEach(u=>u.classList.add("hide")),o&&t&&(i.length>0?(o.style.display="block",t.style.display="none"):(o.style.display="none",t.style.display="flex")),oe(i)}catch(e){console.error("Failed to update cart UI:",e)}}async function $(e,o,t){try{await fetch(`https://koszyk.inspiredbyid.com/api/cart/${e}`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({size:o,color:t}),credentials:"include"}),await A()}catch(i){console.error("Failed to remove item from cart:",i)}}async function N(e,o,t,i){try{let r=await O(e);if(!r){console.error("Brak szczeg\xF3\u0142\xF3w produktu, nie mo\u017Cna zaktualizowa\u0107 ilo\u015Bci.");return}let n=null;if(r.fieldData.stockNumber!==void 0&&r.fieldData.stockNumber!==null&&(n=parseInt(r.fieldData.stockNumber.toString(),10)),r.fieldData.sizes&&typeof r.fieldData.sizes=="string"&&r.fieldData.stockNumber){let l=r.fieldData.sizes.split(",").map(s=>s.trim()),c=r.fieldData.stockNumber.toString().split(",").map(s=>parseInt(s.trim(),10)),a=l.findIndex(s=>s===t);a!==-1&&c[a]!==void 0&&(n=c[a])}if(n!==null&&o>n){alert(`W magazynie jest tylko ${n} sztuk tego wariantu.`);let l=document.querySelector(`.cart-item[flipico-product-id="${e}"][flipico-product-size="${t}"][flipico-product-color="${i}"]`);if(l){let c=l.querySelector('[flipico-cart="update-quantity"]');c&&(c.value=n.toString())}return}await fetch(`https://koszyk.inspiredbyid.com/api/cart/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({quantity:o,size:t,color:i}),credentials:"include"}),await A()}catch(r){console.error("Failed to update item quantity:",r)}}function oe(e){let o=document.querySelector('[flipico-cart="cart-list"]');if(!o)return;let t=n=>n.toLocaleString("pl-PL",{minimumFractionDigits:2,maximumFractionDigits:2});o.innerHTML="",e.forEach(n=>{let l=n.size?`
`,t.appendChild(a)})}})}function ne(e){let o=t=>t===""||t===null||t===void 0;return{id:e.id,cmsLocaleId:e.cmsLocaleId,lastPublished:o(e.lastPublished)?null:e.lastPublished,lastUpdated:o(e.lastUpdated)?null:e.lastUpdated,createdOn:o(e.createdOn)?null:e.createdOn,isArchived:e.isArchived??!1,isDraft:e.isDraft??!1,fieldData:{priceNormal:o(e.fieldData.cena)?0:e.fieldData.cena,pricePromo:o(e.fieldData["cena-promocyjna"])?0:e.fieldData["cena-promocyjna"],stockNumber:o(e.fieldData["ilosc-sztuk-2"])?0:e.fieldData["ilosc-sztuk-2"],name:o(e.fieldData.name)?"":e.fieldData.name,description:o(e.fieldData.opis)?"":e.fieldData.opis,thumbnail:{fileId:o(e.fieldData["zdjecie-glowne"]?.fileId)?"":e.fieldData["zdjecie-glowne"]?.fileId,url:o(e.fieldData["zdjecie-glowne"]?.url)?"":e.fieldData["zdjecie-glowne"]?.url,alt:o(e.fieldData["zdjecie-glowne"]?.alt)?null:e.fieldData["zdjecie-glowne"]?.alt},gallery:Array.isArray(e.fieldData["wiecej-zdjec"])?e.fieldData["wiecej-zdjec"].map(t=>({fileId:o(t.fileId)?"":t.fileId,url:o(t.url)?"":t.url,alt:o(t.alt)?null:t.alt})):[],slug:o(e.fieldData.slug)?"":e.fieldData.slug,category:o(e.fieldData.kategoria)?"":e.fieldData.kategoria,baselinker_id:e.fieldData["baselinker-id"]??!1,colors:e.fieldData.kolor??!1,sizes:e.fieldData.rozmiar??!1}}}async function O(e){try{let o=await fetch(`https://koszyk.inspiredbyid.com/api/products/${e}`,{method:"GET",headers:{"Content-Type":"application/json"}});if(!o.ok)throw new Error(`Failed to fetch product details for ID: ${e}`);let t=await o.json(),i=ne(t);return console.log(`Response for product ID ${e}:`,i),i}catch(o){return console.error("Error fetching product details:",o),null}}async function _(){try{return(await(await fetch("https://koszyk.inspiredbyid.com/api/session-id",{method:"GET",headers:{"Content-Type":"application/json"},credentials:"include"})).json()).sessionID}catch(e){return console.error("B\u0142\u0105d podczas pobierania ID sesji:",e),null}}var B=async(e,o,t,i,r,n,l)=>{try{return await(await fetch("https://koszyk.inspiredbyid.com/api/create-payment-intent",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({total_amount:Math.round(e*100),currency:"PLN",shipping_cost:Math.round(t*100),tax_cost:Math.round(r*100),customer_email:n.email,customer_name:n.name,shipping_address:{address_line1:n.address,address_line2:n.parcelMachine,city:n.city,postal_code:n.zip,country:n.country},nip:n.nip,phone:n.phone,additional_info:n.additionalInfo,shipping_choice:i,company_name:n.companyName,company_address:n.companyAddress,company_zip:n.companyZIP,company_city:n.companyCity,sessionID:l})})).json()}catch(c){return console.error("Error creating payment intent:",c),null}};async function C(e){let o=!0;for(let t of e){let i=await O(t.id);if(!i)return alert(`Nie uda\u0142o si\u0119 pobra\u0107 danych produktu "${t.fieldData.name}".`),!1;let r=null;if(i.fieldData.stockNumber!==void 0&&i.fieldData.stockNumber!==null&&(r=parseInt(i.fieldData.stockNumber.toString(),10)),i.fieldData.sizes&&typeof i.fieldData.sizes=="string"&&i.fieldData.stockNumber){let n=i.fieldData.sizes.split(",").map(a=>a.trim()),l=i.fieldData.stockNumber.toString().split(",").map(a=>parseInt(a.trim(),10)),c=n.findIndex(a=>a===(t.size||""));c!==-1&&l[c]!==void 0&&(r=l[c])}if(r!==null){if(r===0){alert(`Produkt "${t.fieldData.name}" (${t.size||""}) jest ju\u017C niedost\u0119pny i zosta\u0142 usuni\u0119ty z koszyka.`),await $(t.id,t.size||"",t.color||""),o=!1;continue}r{let l=m=>m.toLocaleString("pl-PL",{minimumFractionDigits:2,maximumFractionDigits:2}),c=document.querySelector('[flipico-cart="checkout-products-cost"]');c&&(c.textContent=`${l(e)} z\u0142`);let a=document.querySelector('[flipico-cart="checkout-tax"]');a&&(a.textContent=`${l(o)} z\u0142`);let s=document.querySelector('[flipico-cart="checkout-shipping-choice"]');s&&(s.textContent=`${t}`);let d=document.querySelector('[flipico-cart="checkout-shipping-cost"]');d&&(d.textContent=`${l(i)} z\u0142`);let u=document.querySelector('[flipico-cart="checkout-coupon-amount"]');u&&(u.textContent=`${l(n)} z\u0142`);let p=document.querySelector('[flipico-cart="checkout-total"]');p&&(p.textContent=`${l(r)} z\u0142`)};var re=async e=>{try{return await(await fetch("https://koszyk.inspiredbyid.com/api/validate-coupon",{credentials:"include",method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({couponCode:e})})).json()}catch(o){return console.error("Error checking coupon:",o),{isValid:!1,discountType:null,amount:0}}};function V(e,o){let t=r=>r.toLocaleString("pl-PL",{minimumFractionDigits:2,maximumFractionDigits:2}),i=document.querySelector('[flipico-cart="apply-coupon"]');if(!i){console.error("Nie znaleziono przycisku kuponu.");return}i.addEventListener("click",async()=>{console.log("Klikni\u0119to przycisk kuponu!");let r=document.querySelector('[flipico-cart="coupon-input"]'),n=document.querySelector('[flipico-cart="coupon-feedback"]');if(!r||!n){console.error("Nie znaleziono elementu formularza kuponu.");return}let l=r.value.trim(),{isValid:c,discountType:a,amount:s}=await re(l);if(!c){n.textContent="Nieprawid\u0142owy kupon.",n.style.display="block",n.classList.remove("hide");return}let d=e.reduce((m,f)=>m+f.price*f.quantity,0),u=a==="percentage"?d*(s/100):s/100,p=a==="fixed"?`Zni\u017Cka: ${t(s/100)} z\u0142`:`Zni\u017Cka: ${t(s)}%`;n.textContent=`Kupon zosta\u0142 dodany. ${p}`,n.style.display="block",n.classList.remove("hide"),console.log(`Zastosowany rabat: ${u} z\u0142`),o(u)})}var U=()=>{let e=document.getElementById("geowidget");if(!e){console.error("Nie znaleziono geowidgetu");return}e.addEventListener("inpost.geowidget.point",o=>{let t=o.detail;if(!t){console.error("Brak danych o wybranym punkcie.");return}console.log("Wybrany punkt:",t);let i=document.getElementById("parcel-field"),r=document.getElementById("shipping-section"),n=document.querySelector(".inpost");i&&n?(i.value=t.name,n.style.display="none",r.scrollIntoView({behavior:"smooth"})):console.error('Nie znaleziono inputa o id "parcel-field".')}),e.addEventListener("inpost.geowidget.init",o=>{let{api:t}=o.detail;t.changePosition({longitude:20.318968,latitude:49.731131},16)})};window.handlePointSelection=function(e){let o=e;if(!o){console.error("Brak danych o wybranym punkcie.");return}console.log("Wybrany punkt:",o);let t=document.getElementById("parcel-field"),i=document.getElementById("shipping-section"),r=document.querySelector(".inpost");t&&r?(t.value=o.name,r.style.display="none",i.scrollIntoView({behavior:"smooth"})):console.error('Nie znaleziono inputa o id "parcel-field".')};var K=()=>{let e=document.querySelector('[flipico-cart="checkout-email"]')?.value||"",o=document.querySelector('[flipico-cart="checkout-name"]')?.value||"",t=document.querySelector('[flipico-cart="checkout-address"]')?.value||"",i=document.querySelector('[flipico-cart="checkout-city"]')?.value||"",r=document.querySelector('[flipico-cart="checkout-zip"]')?.value||"",n=document.querySelector('[flipico-cart="checkout-country"]')?.value||"Poland",l=document.querySelector('[flipico-cart="checkout-nip"]')?.value||"",c=document.querySelector('[flipico-cart="checkout-phone"]')?.value||"",a=document.querySelector('[flipico-cart="checkout-additional-info"]')?.value||"",s=document.querySelector('[flipico-cart="checkout-parcel-input"]')?.value||"",d=document.querySelector('[flipico-cart="checkout-company-name"]')?.value||"",u=document.querySelector('[flipico-cart="checkout-company-address"]')?.value||"",p=document.querySelector('[flipico-cart="checkout-company-zip"]')?.value||"",m=document.querySelector('[flipico-cart="checkout-company-city"]')?.value||"";return{email:e,name:o,address:t,city:i,zip:r,country:n,nip:l,phone:c,additionalInfo:a,parcelMachine:s,companyName:d,companyAddress:u,companyZIP:p,companyCity:m}},x=()=>{try{let e=window.Stripe("pk_live_51RNISMKyJvcscPTIOKRKi4utG0K77l1NTnoFiaqHKXSxdlmorIiTuXColxF4BxT601iU8D1P9gW4wnfBYeEhHogJ002WsoEm0z",{stripeAccount:"acct_1RNISMKyJvcscPTI"});if(!e){console.error("Inicjalizacja Stripe zwr\xF3ci\u0142a warto\u015B\u0107 undefined.");return}return e}catch(e){console.error("B\u0142\u0105d podczas tworzenia instancji Stripe:",e);return}},J=async()=>{if(!x())return console.error("Stripe could not be initialized."),!1;let o=document.querySelector('[flipico-cart="payment_form"]');return o?(o.addEventListener("keydown",t=>{t.key==="Enter"&&t.preventDefault()}),o):(console.error("Payment form not found."),!1)};async function ie(){let e=r=>r.toLocaleString("pl-PL",{minimumFractionDigits:2,maximumFractionDigits:2}),o={kurier:document.querySelector('[flipico-cart="courier-cost"]'),inpost:document.querySelector('[flipico-cart="inpost-cost"]')},t=13.99,i=16.99;o.kurier&&(o.kurier.textContent=`${e(t)} z\u0142`),o.inpost&&(o.inpost.textContent=`${e(i)} z\u0142`)}var Q=()=>{let e=document.querySelector('[flipico-cart="cart-button"]');e&&(console.warn("Cart button should not be on cart page"),e.style.display="none");let o=document.querySelector('[flipico-cart="checkout-company-info"]');o&&(o.style.display="none");let t=document.querySelector('[flipico-cart="checkout-next-btn"]'),i=document.querySelector('[flipico-cart="checkout-pay-btn"]'),r=document.querySelector('[flipico-cart="checkout-step-1"]'),n=document.querySelector('[flipico-cart="checkout-step-2"]'),l=document.querySelector('[flipico-cart="checkout-validate-items"]'),c=document.querySelectorAll('input[name="Shipment"]'),a=o?.querySelectorAll("input"),s=document.querySelector('[flipico-cart="checkout-nip"]'),d=document.querySelector('[flipico-cart="checkout-company-checkbox"]'),u=document.querySelector('[flipico-cart="checkout-company-name"]'),p=document.querySelector('[flipico-cart="checkout-company-address"]'),m=document.querySelector('[flipico-cart="checkout-company-zip"]'),f=document.querySelector('[flipico-cart="checkout-company-city"]');s?.removeAttribute("required"),d?.addEventListener("change",()=>{d.checked?(d.previousElementSibling?.classList.add("w--redirected-checked"),s?.setAttribute("required","true"),u?.setAttribute("required","true"),p?.setAttribute("required","true"),m?.setAttribute("required","true"),f?.setAttribute("required","true")):(d.previousElementSibling?.classList.remove("w--redirected-checked"),s?.removeAttribute("required"),u?.removeAttribute("required"),p?.removeAttribute("required"),m?.removeAttribute("required"),f?.removeAttribute("required"))}),c.forEach(()=>{ie()}),d&&o&&a&&d.addEventListener("change",function(){d.checked?o.style.display="flex":(o.style.display="none",a.forEach(g=>g.value=""))});function H(){let g=document.querySelectorAll('input[name="Shipment"]');if(g.length===0){console.log("Czekam na renderowanie element\xF3w...");return}function k(y){let b=y.value;g.forEach(v=>{v.closest("label")?.querySelector(".w-form-formradioinput")?.classList.remove("w--redirected-checked")}),y.closest("label")?.querySelector(".w-form-formradioinput")?.classList.add("w--redirected-checked");let w=document.querySelector(".inpost"),h=document.querySelector(".dhl"),z=document.querySelector('[flipico-cart="checkout-parcel-input"]');w&&h&&(b==="InPost Parcel"?(w.style.display="block",h.style.display="none"):b==="DHL Parcel"?(w.style.display="none",h.style.display="block"):(w.style.display="none",h.style.display="none",z?z.value="":console.error("Can not find parcel field input")))}document.querySelectorAll('input[name="Shipment"]').forEach(y=>{y.addEventListener("change",()=>k(y))});let E=document.querySelector('input[name="Shipment"]:checked');E&&k(E)}return new MutationObserver(function(){H()}).observe(document.body,{childList:!0,subtree:!0}),H(),U(),console.log("Zako\u0144czono setupUIElements."),{nextButton:t,payButton:i,stepOneWrapper:r,stepTwoWrapper:n,isItemsInput:l,shippingMethodInputs:c,companyCheckbox:d,nipInput:s,companyNameInput:u,companyAddressInput:p,companyZIPInput:m,companyCityInput:f}};var G=async(e,o)=>{e&&o?(e.style.display="none",o.style.display="flex",window.scrollTo({top:0,behavior:"smooth"})):console.error("One of the step wrappers is not found.")},Y=async(e,o,t)=>{e?(o.disabled=!1,o.style.cursor="pointer",o.style.opacity="1",t.value="true"):(o.disabled=!0,o.style.cursor="not-allowed",o.style.opacity="0.5",t.value="",alert("Tw\xF3j koszyk jest pusty. Dodaj przedmioty do koszyka przed przej\u015Bciem do nast\u0119pnego kroku."),window.location.href="/")};var ce=(e,o,t,i)=>{let r=Array.from(e).every(c=>c.value.trim()!==""),n=i.value==="true";r&&n?(t.disabled=!1,t.style.cursor="pointer",t.style.opacity="1",t.style.pointerEvents="auto"):(t.disabled=!0,t.style.cursor="not-allowed",t.style.opacity="0.5",t.style.pointerEvents="none"),t.style.display="block"},X=(e,o,t)=>{let i=o.querySelectorAll("input[required], select[required]"),r=()=>ce(i,o,e,t);i.forEach(n=>{n.addEventListener("input",r)}),t.addEventListener("input",r),r()},ae=e=>/^\d{10}$/.test(e),R=(e,o,t,i,r,n,l,c)=>{if(i<=2)return alert("Suma produkt\xF3w w koszyku musi wynosi\u0107 wi\u0119cej ni\u017C 2.00 z\u0142, aby kontynuowa\u0107."),!1;let a=document.querySelector('[flipico-cart="checkout-parcel-input"]')?.value.trim()||"";if((e.includes("PACZKOMAT INPOST")||e.includes("AUTOMAT DHL"))&&!(a!==""))return alert("Zaznaczy\u0142e\u015B opcj\u0119 paczkomat\xF3w, lecz nie wybra\u0142e\u015B \u017Cadnego punktu."),!1;let u=o?.checked??!1,p=t?.value.trim()!=="",m=t?.value?ae(t.value.trim()):!0;if(u&&(!p||!m))return alert(p?"Podany NIP jest niepoprawny.":"Zaznaczy\u0142e\u015B opcj\u0119 zakupu jako firma, lecz nie uzupe\u0142ni\u0142e\u015B NIP."),!1;if(u){if(!r?.value.trim())return alert("Zaznaczy\u0142e\u015B opcj\u0119 zakupu jako firma, lecz nie uzupe\u0142ni\u0142e\u015B nazwy firmy."),!1;if(!n?.value.trim())return alert("Zaznaczy\u0142e\u015B opcj\u0119 zakupu jako firma, lecz nie uzupe\u0142ni\u0142e\u015B adresu firmy."),!1;if(!l?.value.trim())return alert("Zaznaczy\u0142e\u015B opcj\u0119 zakupu jako firma, lecz nie uzupe\u0142ni\u0142e\u015B kodu pocztowego firmy."),!1;if(!c?.value.trim())return alert("Zaznaczy\u0142e\u015B opcj\u0119 zakupu jako firma, lecz nie uzupe\u0142ni\u0142e\u015B miasta firmy."),!1}return!0};var le=async e=>{W();let o=await J();if(!o)return;let t=await M();if(await C(t),t=await M(),t.length===0){alert("Tw\xF3j koszyk jest pusty."),window.location.href="/";return}let{nextButton:i,payButton:r,stepOneWrapper:n,stepTwoWrapper:l,isItemsInput:c,companyCheckbox:a,nipInput:s,companyNameInput:d,companyAddressInput:u,companyZIPInput:p,companyCityInput:m}=Q();if(!n||!l||!c||!r||!i)return;await Y(t,r,c),X(i,n,c);let f=0;V(t,q=>{f=q,console.log("Zaktualizowany rabat:",f)}),F(t),i?.addEventListener("click",async()=>{let q=K(),g=document.querySelector('input[name="Shipment"]:checked'),k=g?.nextElementSibling?.textContent||"Brak wyboru",I=parseFloat(g?.nextElementSibling?.nextElementSibling?.textContent?.replace(" Z\u0141","").trim().replace(",",".")||"0");console.log(k,I);let E=t.reduce((D,L)=>D+L.price*L.quantity,0),y=E*.23,b=E+Number(I)-f;if(!R(k,a,s,b,d,u,p,m))return;Z(E,y,k,I,b,f),await G(n,l);let w=await _(),h=await B(b,t,I,k,y,q,w);if(!h){console.error("Payment intent is missing.");return}let z=document.querySelector('[flipico-cart="stripe"]');if(!z){console.error("Stripe element could not be found. Ensure that the element has the correct flipico-cart attribute.");return}let v=e.elements({clientSecret:h.client_secret});v.create("payment").mount(z),o.addEventListener("submit",async D=>{D.preventDefault(),D.stopPropagation(),await v.submit();let L=await e.confirmPayment({elements:v,clientSecret:h.client_secret,redirect:"always",confirmParams:{return_url:"https://www.inspiredbyid.com/order-summary"}}),S=document.querySelector(".w-form-done"),T=document.querySelector(".w-form-fail"),P=document.querySelector(".container-medium");L.error?(T&&(T.textContent=`P\u0142atno\u015B\u0107 nieudana: ${L.error.message}`,T.style.display="block"),S&&(S.style.display="none")):(S&&(S.textContent="P\u0142atno\u015B\u0107 zako\u0144czona sukcesem!",S.style.display="block"),T&&(T.style.display="none"),P&&(P.style.display="none"))},!0)})};document.addEventListener("DOMContentLoaded",async()=>{let e=x();if(e){if(window.isWebflowInitialized)return;window.isWebflowInitialized=!0,await le(e)}else console.error("Stripe could not be initialized.")});})();