"use strict";(()=>{var X=Object.create;var B=Object.defineProperty;var ee=Object.getOwnPropertyDescriptor;var te=Object.getOwnPropertyNames;var ne=Object.getPrototypeOf,ae=Object.prototype.hasOwnProperty;var oe=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,o)=>(typeof require<"u"?require:t)[o]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var ie=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of te(t))!ae.call(e,r)&&r!==o&&B(e,r,{get:()=>t[r],enumerable:!(i=ee(t,r))||i.enumerable});return e};var re=(e,t,o)=>(o=e!=null?X(ne(e)):{},ie(t||!e||!e.__esModule?B(o,"default",{value:e,enumerable:!0}):o,e));var se=document.querySelector("#cart-button"),qe=document.querySelector("#added-to-cart");window.cartUploadedFiles={};async function A(){try{let t=await(await fetch("https://koszyk.vsprint.pl/api/cart",{credentials:"include"})).json();if(!Array.isArray(t))throw new Error("Received data is not an array");return t}catch(e){return console.error("Failed to fetch cart items:",e),[]}}async function V(){se?.classList.remove("hide");let e=document.querySelector(".state-default"),t=document.querySelector(".state-empty"),o=document.querySelector(".state-error");try{let i=await A(),r=i.reduce((n,c)=>n+c.price*c.quantity,0),u=document.getElementById("cart-total");u&&(u.style.display="block",u.textContent=`${r.toFixed(2)} z\u0142 + VAT`);let s=document.getElementById("cart-quantity");if(s){let n=i.reduce((c,p)=>c+p.quantity,0);s.textContent=n.toString()}e&&t&&o&&(i.length>0?(t.style.display="none",o.style.display="none",e.style.display="block"):(e.style.display="none",o.style.display="none",t.style.display="flex")),await de(i)}catch(i){console.error("Failed to update cart UI:",i),e&&t&&o&&(t.style.display="none",e.style.display="none",o.style.display="flex")}}async function le(e,t=null){try{let o=t==="null"?null:t,i=await fetch(`https://koszyk.vsprint.pl/api/cart/${e}`,{method:"DELETE",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({variant:o})});if(!i.ok)throw new Error(`Failed to remove item: ${i.statusText}`);window.dataLayer.push({ecommerce:null}),window.dataLayer.push({event:"remove_from_cart",ecommerce:{items:[{item_id:e,item_name:e,affiliation:"Konferencja App"}]}}),await V()}catch(o){console.error("Failed to remove item from cart:",o)}}async function F(e,t,o=null,i){try{let r=await fetch(`https://koszyk.vsprint.pl/api/cart/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({variant:o==="null"?null:o,quantity:t,attendees:i})});if(!r.ok)throw new Error(`Failed to update item quantity: ${r.statusText}`);window.location.href.includes("koszyk")||await V()}catch(r){console.error("Failed to update item quantity:",r)}}function ce(){document.addEventListener("change",async e=>{let t=e.target;if(!t.classList.contains("is-quantity"))return;let o=parseInt(t.value,10),i=t.closest(".cart-item"),r=i?.querySelector(".deletebutton")?.getAttribute("data-item-id"),u=i?.querySelector(".deletebutton")?.getAttribute("data-variant")||null;r&&o>0&&await F(r,o,u)})}async function de(e){let t=document.querySelector(".cart-list");if(!t)return;t.innerHTML="",e.forEach(i=>{let r=document.createElement("div");r.className="cart-item",r.innerHTML=`
`;else{l.style.marginBottom="0.5rem";let a=null;d==="VIP"?a=U("Wybierz rodzaj warsztat\xF3w",o):(d==="Objazd\xF3wka Standard"||d==="Objazd\xF3wka Premium")&&(a=U("Wybierz miasto",i)),a&&(a.value=n.variant||"",l.innerHTML='
Wariant:
',l.appendChild(a),a.addEventListener("change",async()=>{n.variant=a.value,await F(n.id,n.quantity,n.variant),a.disabled=!0,a.style.cursor="not-allowed"}))}c.appendChild(l)}let w=document.createElement("div");w.className="cart-options-grid";let b=p.includes("odchylenia od najni\u017Cszej ceny")||p.includes("wsp\xF3\u0142czynnika konwersji")||p.includes("w\u0142asnych produkt\xF3w vs konkurencja"),v=p.includes("pozycji w\u015Br\xF3d konkurencji")||p.includes("top 100")||p.includes("raport dynamiki kategorii")||p.includes("najlepsze dni tygodnia")||p.includes("raport konkurencji");if(b){let l=document.createElement("div");l.className="cart-product-parameter cart-upload-wrapper",l.dataset.itemId=n.id;let a=document.createElement("div");a.className="upload-description text-size-small",a.style.marginBottom="0.5rem",p.includes("odchylenia od najni\u017Cszej ceny")||p.includes("w\u0142asnych produkt\xF3w")||p.includes("konwersji")?a.textContent="Dane do sprzedawcy: lista link\xF3w do produkt\xF3w":p.includes("konkurencji")||p.includes("najlepsze dni tygodnia")?a.textContent="Dane do sprzedawcy: kategoria do por\xF3wnania":a.textContent="Dane do sprzedawcy: pliki \u017Ar\xF3d\u0142owe lub dane raportowe";let m=document.createElement("ul");m.className="uploaded-file-list",m.style.listStyle="none",m.style.padding="0",m.style.margin="0 0 0.5rem 0";let g=document.createElement("div");g.className="uppy-uploader",g.dataset.itemId=n.id,l.appendChild(a),l.appendChild(m),l.appendChild(g),w.appendChild(l)}else if(v){let l=1;p.includes("10 kat")?l=10:p.includes("3 kat")&&(l=3);for(let a=0;a1?`Podaj kategori\u0119 #${a+1}`:"Podaj kategori\u0119",m.required=!0,m.dataset.ticketId=n.id,m.dataset.categoryIndex=`${a}`,w.appendChild(m)}}else n.attendees||(n.attendees=[]),y();c.appendChild(w);let T=document.createElement("div");T.className="cart-product-parameter",T.innerHTML=`
`);u.appendChild(c)}))}),me()}function me(){window.uploadedFiles=window.uploadedFiles||{},document.querySelectorAll(".uppy-uploader").forEach(async e=>{let t=e.dataset.itemId;if(!t)return;let i=await(await fetch("https://uploads-ssl.webflow.com/66a258012b74bbf1ea3b848a/66b9183f42a15fc71d13e701_pl_PL.txt")).text();i=i.replace("export default","");let r=document.createElement("script");r.textContent=i,document.head.appendChild(r),await new Promise(d=>{let y=setInterval(()=>{typeof pl_PL<"u"&&(clearInterval(y),d(!0))},100)});let{Uppy:u,Dashboard:s,ImageEditor:n,Transloadit:c}=await import("https://releases.transloadit.com/uppy/v3.21.0/uppy.min.mjs"),p=new u({debug:!0,restrictions:{maxNumberOfFiles:5},locale:pl_PL}).use(c,{waitForEncoding:!0,alwaysRunAssembly:!0,assemblyOptions:{params:{template_id:"621095316d0c4d7997b1bb665adab561",auth:{key:"OIsmHgSeU6rCebQH27EytZunhvrf2CZb"}}}}).use(s,{inline:!0,target:e,proudlyDisplayPoweredByUppy:!1}).use(n,{target:s});p.on("complete",({transloadit:d})=>{console.log("\u{1F9E9} Full Transloadit payload:",d);let y=[];d.forEach(v=>{v.results&&Object.keys(v.results).forEach(T=>{v.results[T].forEach(f=>{f.ssl_url&&y.push(f.ssl_url)})})}),window.uploadedFiles[t]=y;let b=e.closest(".cart-upload-wrapper")?.querySelector(".uploaded-file-list");b&&(b.innerHTML="",y.forEach((v,T)=>{let f=document.createElement("li");f.className="uploaded-file-item",f.style.display="flex",f.style.alignItems="center",f.style.justifyContent="space-between",f.style.gap="0.5rem",f.style.marginBottom="0.25rem";let h=decodeURIComponent(v.split("/").pop()||`plik-${T+1}`),l=document.createElement("a");l.href=v,l.target="_blank",l.textContent=h.length>40?h.slice(0,40)+"\u2026":h,l.className="text-color-brand",l.style.textDecoration="none";let a=document.createElement("button");a.textContent="\u2715",a.className="remove-upload-btn",a.style.border="none",a.style.background="transparent",a.style.cursor="pointer",a.style.color="#b42318",a.title="Usu\u0144 plik",a.addEventListener("click",()=>{window.uploadedFiles[t]=window.uploadedFiles[t].filter(m=>m!==v),f.remove(),console.log(`\u{1F5D1}\uFE0F Usuni\u0119to plik ${v} z item ${t}`)}),f.appendChild(l),f.appendChild(a),b.appendChild(f)})),e.dataset.uploaded="true",console.log(`\u2705 Upload zako\u0144czony dla ${t}:`,y)}),p.on("error",d=>{console.error(`\u274C B\u0142\u0105d Uppy dla ${t}:`,d)})})}function ye(e,t,o){let i=e.querySelector(".text-weight-semibold.text-color-brand");i&&(i.textContent=`${(t*o).toFixed(2)} z\u0142 + VAT`)}async function R(){try{return(await(await fetch("https://koszyk.vsprint.pl/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}}function fe(){let e=document.querySelectorAll('select[data-input="variant"][validate="true"]'),t=!0;return e.forEach(o=>{o.value===""&&(alert("Prosz\u0119 wybra\u0107 wariant warsztat\xF3w przed przej\u015Bciem dalej."),t=!1)}),t}var ve=()=>{let e=document.querySelector("#Email")?.value||"",t=document.querySelector("#wf-ecom-shipping-name")?.value||"",o=document.querySelector("#nip")?.value||"",i=document.querySelector("#Telefon")?.value||"",r=document.querySelector("#DodatkoweInformacje")?.value||"",u=document.querySelector("#nazwa-firmy")?.value||"",s=document.querySelector("#Kod-pocztowy")?.value||"",n=document.querySelector("#Miasto")?.value||"",c=document.querySelector("#Adres-Firmy")?.value||"",p=document.querySelector("#address-line1")?.value||"",d=document.querySelector("#address-line2")?.value||"",y=document.querySelector("#city")?.value||"",w=document.querySelector("#state")?.value||"",b=document.querySelector("#postal-code")?.value||"",v=document.querySelector("#country")?.value||"PL";return{email:e,name:t,nip:o,phone:i,additionalInfo:r,companyName:u,companyZip:s,companyCity:n,companyAddress:c,addressLine1:p,addressLine2:d,city:y,state:w,postalCode:b,country:v}},he=e=>/^\d{10}$/.test(e),M=(e,t)=>!e||e.value.trim()===""?(alert(`Prosz\u0119 uzupe\u0142ni\u0107 pole: ${t}.`),!1):!0,we=()=>{let e=document.querySelector("#Company"),t=document.querySelector("#nip"),o=document.querySelector("#nazwa-firmy"),i=document.querySelector("#Kod-pocztowy"),r=document.querySelector("#Miasto"),u=document.querySelector("#Adres-Firmy");return e?.checked?(t?.value?he(t.value.trim()):!0)?M(t,"NIP")&&M(o,"Nazwa firmy")&&M(i,"Kod pocztowy")&&M(r,"Miasto")&&M(u,"Adres firmy"):(alert("Podany NIP jest niepoprawny."),!1):!0},ge=()=>{if(!we())return!1;let o=document.querySelector('div[data-step="1"]')?.querySelectorAll("input[required], select[required]");if(!Array.from(o||[]).every(c=>c.value.trim()!==""))return alert("Prosz\u0119 uzupe\u0142ni\u0107 wszystkie wymagane pola."),!1;if(document.querySelector("#is-items")?.value!=="true")return alert("Koszyk musi zawiera\u0107 przedmioty."),!1;let u=document.querySelectorAll("input.report-category");for(let c of u)if(c.value.trim()==="")return alert("Prosz\u0119 wype\u0142ni\u0107 wszystkie pola kategorii dla raportu."),c.focus(),!1;let s=document.querySelectorAll(".cart-upload-wrapper");for(let c of s){let p=c.dataset.itemId||"",d=window.uploadedFiles||{},y=p?d[p]:void 0;if(!y||y.length===0)return alert("Prosz\u0119 doda\u0107 przynajmniej jeden plik do ka\u017Cdego raportu wymagaj\u0105cego za\u0142\u0105cznika."),c.scrollIntoView({behavior:"smooth",block:"center"}),!1}let n=document.querySelectorAll(".attendee-box");for(let c of n){let p=c.querySelector("input.attendee-first-name"),d=c.querySelector("input.attendee-last-name"),y=c.querySelector("input.attendee-email");if(!p?.value.trim()||!d?.value.trim()||!y?.value.trim())return alert("Prosz\u0119 uzupe\u0142ni\u0107 imi\u0119, nazwisko i email dla ka\u017Cdego uczestnika."),(p||d||y)?.focus(),!1}return!0},Ee=()=>{let e=document.querySelector('div[data-step="1"]'),t=document.querySelector("#is-items");if(t&&(t.value=String(!0)),!e)return;e.querySelectorAll("input[required], select[required]").forEach(r=>{r.addEventListener("input",I)}),e.querySelectorAll("input.attendee-first-name, input.attendee-last-name, input.attendee-email").forEach(r=>{r.addEventListener("input",I)}),t?.addEventListener("input",I),I()},be=()=>{document.addEventListener("input",t=>{let o=t.target;o&&o.classList.contains("report-category")&&I()}),window.Uppy&&document.querySelectorAll(".uppy-uploader").forEach(t=>{let o=t.dataset.itemId,i=window.Uppy.getUppyByTarget?.(t)||null;i&&(i.on("complete",()=>{console.log(`\u{1F4CE} Uppy upload zako\u0144czony dla ${o}`),I()}),i.on("file-removed",()=>{console.log(`\u{1F5D1}\uFE0F Plik usuni\u0119ty dla ${o}`),I()}))}),new MutationObserver(()=>{I()}).observe(document.body,{childList:!0,subtree:!0})},Te=(e,t,o,i)=>{let r=document.querySelector(".products-cost");r&&(r.textContent=`${e.toFixed(2)} z\u0142 + VAT`);let u=document.querySelector(".coupon-amount");u&&u.parentElement&&(i>0?(u.parentElement.style.display="block",u.textContent=`${i.toFixed(2)} z\u0142`):u.parentElement.style.display="none");let s=document.querySelector(".tax");s&&(s.textContent=`${t.toFixed(2)} z\u0142`);let n=document.querySelector(".total-cost");n&&(n.textContent=`${o.toFixed(2)} z\u0142`)},_=(e,t)=>(e.reduce((i,r)=>i+r.price*r.quantity,0)-t).toFixed(2),ke=document.querySelector('a[data-form="next-btn"]'),W=document.querySelector('div[data-step="1"]'),K=document.querySelector('div[data-step="2"]'),O=document.querySelector("#Company"),S=document.querySelector(".company-info");S&&(S.style.display="none");var Z=S?.querySelectorAll("input"),D=document.querySelector("#nip");D?.removeAttribute("required");O&&S&&Z&&O.addEventListener("change",()=>{O.checked?(S.style.display="flex",D?.setAttribute("required","true")):(S.style.display="none",Z.forEach(e=>e.value=""),D?.removeAttribute("required"))});var I=()=>{let e=document.querySelector('a[data-form="next-btn"]'),t=document.querySelector('div[data-step="1"]'),o=document.querySelector("#is-items");if(!t||!e||!o)return;let i=t.querySelectorAll("input[required], select[required]"),r=t.querySelectorAll("input.attendee-first-name, input.attendee-last-name, input.attendee-email"),u=t.querySelectorAll("input.report-category"),s=t.querySelectorAll(".cart-upload-wrapper"),n=[],c=[],p=[],d=[];if(i.forEach(h=>{if(h.value.trim()===""){let l=h.closest(".form-group")?.querySelector("label")?.textContent?.trim()||h.name||h.id;l&&l!==""&&n.push(l)}}),r.length>0&&r.forEach((h,l)=>{h.value.trim()===""&&c.push(`Bilet #${l+1}`)}),u.length>0&&u.forEach((h,l)=>{h.value.trim()===""&&p.push(`Kategoria #${l+1}`)}),s.length>0){let h=window.uploadedFiles||{};s.forEach(l=>{let a=l.dataset.itemId;if(!a)return;let m=h[a];(!m||m.length===0)&&d.push(`Za\u0142\u0105cznik (${a})`)})}let y=o.value==="true",w=n.length===0,b=c.length===0,v=p.length===0,T=d.length===0,f=w&&y&&(r.length===0||b)&&(u.length===0||v)&&(s.length===0||T);f?console.log("\u2705 Wszystkie dane s\u0105 poprawne. Przycisk \u201EDalej\u201D dost\u0119pny."):(console.group("\u{1F512} Przycisk \u201EDalej\u201D zablokowany \u2013 brakuje:"),y||console.warn('\u{1F6D2} Koszyk jest pusty (isItemsInput !== "true")'),n.length>0&&console.warn("\u{1F4C4} Pola wymagane:",n),c.length>0&&console.warn("\u{1F465} Brakuj\u0105ce imiona i nazwiska:",c),p.length>0&&console.warn("\u{1F4CA} Kategorie raport\xF3w:",p),d.length>0&&console.warn("\u{1F4CE} Brakuj\u0105ce za\u0142\u0105czniki:",d),console.groupEnd()),e.disabled=!f,e.style.cursor=f?"pointer":"not-allowed",e.style.opacity=f?"1":"0.5",e.style.display="block"},Ie=async()=>{W&&K?(W.style.display="none",K.style.display="flex",window.scrollTo({top:0,behavior:"smooth"})):console.error("One of the step wrappers is not found.")},Le=async(e,t,o,i,r,u,s)=>{try{return await(await fetch("https://koszyk.vsprint.pl/api/create-payment-intent",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({products_cost:Math.round(e*100),tax_cost:Math.round(t*100),total_amount:Math.round(o*100),coupon_amount:Math.round(i*100),coupon_code:s.code,coupon_type:s.type,currency:"PLN",customer_email:r.email,customer_name:r.name,nip:r.nip,phone:r.phone,additional_info:r.additionalInfo,company_name:r.companyName,company_zip:r.companyZip,company_city:r.companyCity,company_address:r.companyAddress,sessionID:u})})).json()}catch(n){return console.error("Error creating payment intent:",n),null}};async function Ce(e){let t=document.querySelector('div[data-output="nip"]'),o=document.querySelector('div[data-output="company-name"]'),i=document.querySelector('div[data-output="company-zip"]'),r=document.querySelector('div[data-output="company-city"]'),u=document.querySelector('div[data-output="company-address"]');e.nip!==""&&t&&o&&u&&i&&r?(t.textContent=e.nip,o.textContent=e.companyName,u.textContent=e.companyAddress,i.textContent=e.companyZip,r.textContent=e.companyCity):e.nip===""&&t&&t.parentElement?.parentElement&&(t.parentElement.parentElement.style.display="none")}var xe=async()=>{let e=window.Stripe?.("pk_live_51QebhPBRhKsel0GPxR0Z3cpb7mXwBvS7pm2HiDTkCyWCJ59IzEcFarfmXsqgnR0RpMuFtF01Ew1CvHN1oJ8mbAGV00eCKC7aDn",{stripeAccount:"acct_1QebhPBRhKsel0GP"});if(!e){console.error("Stripe nie zosta\u0142o zainicjalizowane.");return}let t=document.querySelector('[data-element="payment_form"]');if(t)t.addEventListener("keydown",s=>{s.key==="Enter"&&s.preventDefault()});else{console.error("Payment form element could not be found. Ensure that the form has the correct data-element attribute.");return}let o=await A();if(o.length===0&&window.location.pathname.includes("/koszyk")){alert("Tw\xF3j koszyk jest pusty. Dodaj przedmioty do koszyka."),window.location.href="/";return}Ee(),be();let i=async(s,n)=>{try{return await(await fetch("https://koszyk.vsprint.pl/api/validate-coupon",{credentials:"include",method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({couponCode:s,cartItems:n})})).json()}catch(c){return console.error("Error checking coupon:",c),{isValid:!1,discountType:null,amount:0}}},r={code:"",type:"",amount:0};document.getElementById("apply-coupon")?.addEventListener("click",async()=>{let s=document.getElementById("coupon-code"),n=document.getElementById("coupon-feedback");if(!s||!n){console.error("Nie znaleziono elementu formularza kuponu.");return}let c=s.value.trim(),{isValid:p,discountType:d,amount:y,couponCode:w}=await i(c,o);if(!p){n.textContent="Nieprawid\u0142owy kupon.",n.style.display="block",n.style.color="#b42318",n.classList.remove("hide");return}r={code:w,type:d,amount:y/100};let b=d==="fixed"?`Zni\u017Cka: ${(y/100).toFixed(2)} z\u0142`:`Zni\u017Cka: ${y}%`;n.innerHTML=`Kupon zosta\u0142 dodany. ${b} Cena zostanie zrabatowana w kolejnym kroku.`,n.style.display="block",n.style.color="#027a48",n.classList.remove("hide");let v=_(o,0);r.amount=d==="percentage"?Number(v)*(y/100):y/100}),$(o,1),(()=>{document.querySelectorAll("input.attendee-first-name, input.attendee-last-name, input.attendee-email").forEach(n=>{n.removeEventListener("input",I),n.addEventListener("input",I)})})(),ke?.addEventListener("click",async()=>{if(!ge()||!fe())return;let s=ve();await Ce(s);let n=await A();document.querySelectorAll(".attendee-box").forEach(a=>{let m=a.dataset.ticketId,g=parseInt(a.dataset.attendeeIndex||"0"),E=a.querySelector("input.attendee-first-name")?.value.trim()||"",k=a.querySelector("input.attendee-last-name")?.value.trim()||"",C=a.querySelector("input.attendee-email")?.value.trim()||"",L=n.find(x=>x.id===m);L&&(L.attendees||(L.attendees=[]),L.attendees[g]={firstName:E,lastName:k,email:C,fullName:`${E} ${k}`})}),document.querySelectorAll("input.report-category").forEach(a=>{let m=a.dataset.ticketId,g=parseInt(a.dataset.categoryIndex||"0"),E=a.value.trim(),k=n.find(C=>C.id===m);k&&(k.categories||(k.categories=[]),k.categories[g]=E)});let c=window.uploadedFiles||{};n.forEach(a=>{c[a.id]&&(a.uploadedFile=c[a.id])});for(let a of n)if(!(Array.isArray(a.attendees)&&a.attendees.length===a.quantity)){if(Array.isArray(a.attendees))for(;a.attendees.length{a.preventDefault(),a.stopPropagation(),await T.submit();let m=await e.confirmPayment({elements:T,clientSecret:b.client_secret,redirect:"always",confirmParams:{return_url:l}}),g=document.querySelector(".w-form-done"),E=document.querySelector(".w-form-fail"),k=document.querySelector(".container-medium");m.error?(E&&(E.textContent=`P\u0142atno\u015B\u0107 nieudana: ${m.error.message}`,E.style.display="block"),g&&(g.style.display="none")):(g&&(g.textContent="P\u0142atno\u015B\u0107 zako\u0144czona sukcesem!",g.style.display="block"),E&&(E.style.display="none"),k&&(k.style.display="none"))},!0)})};document.addEventListener("DOMContentLoaded",xe);})();