const getField = (e,i,t={isRequired:!0,fieldType:"input"})=>{try{let d=e.find(`[name="${i}"]${"radio"===t.fieldType?":checked":""}`);if(t.isRequired&&(!d||"string"!=typeof d.val()))throw Error(`couldn't find ${i}`);return d?.val()}catch(e){return console.error(`Couldn't find ${i}`,e),""}} const getDonation = e=>{let i=$(`form#${e}`),t=getField(i,"don-amount-custom",{isRequired:!1})||getField(i,"Don-Amount",{isRequired:!1,fieldType:"radio"});if(!t)throw Error("amount is required");let d=parseInt(t);if(i)return{type:getField(i,"donation-type",{isRequired:!0,fieldType:"radio"}),country:getField(i,"don-markets"),company:getField(i,"don-company-name",{isRequired:!1}),currency:getField(i,"don-currency"),amount:d,salutations:getField(i,"don-salutation")||void 0,firstname:getField(i,"don-first-name"),lastname:getField(i,"don-last-name"),email:getField(i,"don-email"),phone:getField(i,"don-phone"),addressStreet:getField(i,"don-address-street"),addressStreetInfo:getField(i,"don-additional-street-information",{isRequired:!1}),city:getField(i,"don-city"),postcode:getField(i,"don-postal-code"),env:getField(i,"don-environment",{isRequired:!1}),campaign:{chen_inten:getField(i,"don-campaign-CHEN-INTEN",{isRequired:!1}),chfr_intfr:getField(i,"don-campaign-CHFR-INTFR",{isRequired:!1}),chde:getField(i,"don-campaign-CHDE",{isRequired:!1}),us:getField(i,"don-campaign-US",{isRequired:!1}),fr:getField(i,"don-campaign-FR",{isRequired:!1})||"701FT000008B0xmYAC",muk:getField(i,"don-campaign-MUK",{isRequired:!1}),mde:getField(i,"don-campaign-MDE",{isRequired:!1}),mnl:getField(i,"don-campaign-MNL",{isRequired:!1})||"701FT00000730PGYAY",force:getField(i,"don-campaign-force",{isRequired:!1})},lang:getField(i,"don-lang",{isRequired:!1}),utmSource:getField(i,"don-utm-source",{isRequired:!1}),utmMedium:getField(i,"don-utm-medium",{isRequired:!1}),utmCampaign:getField(i,"don-utm-campaign",{isRequired:!1}),newsletter:!!getField(i,"don-newsletter-consent",{isRequired:!1,fieldType:"radio"}),onCompanyBehalf:!!getField(i,"don-company-checkbox",{isRequired:!1,fieldType:"radio"}),paymentMethod:getField(i,"don-method",{isRequired:!0,fieldType:"radio"}),giftAid:!!getField(i,"don-giftaid-checkbox",{isRequired:!1,fieldType:"radio"}),remark:getField(i,"don-message",{isRequired:!1}),sepaIBAN:getField(i,"don-sepa-iban",{isRequired:!1}),sepaAccountHolder:getField(i,"don-sepa-account-holder",{isRequired:!1}),idealBank:getField(i,"don-ideal-bank",{isRequired:!1}),postFinanceDetail:getField(i,"don-post-finance-detail",{isRequired:!1}),smartDebitName:getField(i,"don-smart-debit-name",{isRequired:!1}),smartDebitNumber:getField(i,"don-smart-debit-number",{isRequired:!1}),smartDebitSortCode:getField(i,"don-smart-debit-sort-code",{isRequired:!1}),smartDebitDate:getField(i,"don-smart-debit-date",{isRequired:!1})||void 0,creditCardBrand:getField(i,"don-credit-card-select",{isRequired:!1}),state:getField(i,"don-state",{isRequired:!1}),sourceUrl:window.location.href}} const addRecaptcha = e=>{if($(`#${e} button[type=submit]`)){var i=document.createElement("script");i.type="text/javascript",i.src="https://www.google.com/recaptcha/api.js?render=6LfFz_ApAAAAALLXkeBQ-YNHWDXMTxpXGvKxn30z",$("body").append(i)}} const submitForm = e=>{let i=getDonation(e);if(!(i?.email&&i.firstname&&i.lastname)){console.log("form isn't ready to submit");return}let t=$(`#${e}`).find("input[type=submit]")[0],d=$(".don_slide-left-button")[0],r=$(".don_form-send-button"),o=crypto.randomUUID();try{t?.setAttribute("disabled","disabled"),t?.classList.add("is-disabled"),d?.classList.add("is-disabled"),t?.classList.add("is-loading"),r?.addClass("is-loading"),window.grecaptcha.ready(async()=>{let e=await window.grecaptcha.execute("6LfFz_ApAAAAALLXkeBQ-YNHWDXMTxpXGvKxn30z",{action:"submit"}),a={...i,nonce:o,recaptchaToken:e},s=await fetch(`https://customers-dev.coteries.com/medair/start-checkout-session`,{method:"post",body:JSON.stringify(a),referrerPolicy:"no-referrer",headers:{"Content-Type":"application/json"}});if(200===s.status){let e=await s.json();e.redirectUrl&&(window.location.href=e.redirectUrl,setTimeout(()=>{t?.removeAttribute("disabled"),t?.classList.remove("is-disabled"),t?.classList.remove("is-loading"),d?.classList.remove("is-disabled"),r?.removeClass("is-loading")},2e3))}else{if(400===s.status){let e=await s.json();console.error("error: ",e),alert(e.error?.error_message??"An error occurred")}else 504===s.status?alert("timeout, please try again"):alert("An error occurred");t?.removeAttribute("disabled"),t?.classList.remove("is-disabled"),t?.classList.remove("is-loading"),d?.classList.add("is-loading"),r?.removeClass("is-loading")}})}catch(e){t?.removeAttribute("disabled"),t?.classList.remove("is-disabled"),t?.classList.remove("is-loading"),d?.classList.add("is-loading"),r?.removeClass("is-loading")}} let medairCreateCheckoutSession = e=>{$(`#${e}`).off("submit"),addRecaptcha(e),$(`#${e}`).on("submit",async i=>{i.stopPropagation(),i.preventDefault(),"getCurrentStep"in window&&("4"===window.getCurrentStep()?"formStep"in window&&window.formStep()?submitForm(e):console.error("validation error"):"formStep"in window&&window.formStep())})}