window.jQuery(document).ready((function(e){window.wpifyWooIcDic=window.wpifyWooIcDic||{changePlaceholder:null,requireCompany:null,moveCompany:null,requireVatFields:null,optionalText:"",restUrl:null,position:""};var n={addEventListener:function(){return null},style:{display:"none"},value:"",placeholder:"",classList:{contains:function(){return!1}},disabled:!1},i=function(){return document.querySelector("#company_details")||n},t=function(){return document.querySelector("#billing_company")||n},o=function(){return document.querySelector("#billing_company_field")||n},c=function(){return document.querySelector("#billing_ic")||n},a=function(){return document.querySelector("#ares_in")||n},l=function(){return document.querySelector("#billing_ic_field")||n},u=function(){return document.querySelector("#billing_dic")||n},r=function(){return document.querySelector("#billing_dic_field")||n},s=function(){return document.querySelector("#billing_dic_dph")||n},d=function(){return document.querySelector("#billing_dic_dph_field")||n},y=function(){return document.querySelector("#wpify-woo-ares-autofill")||n},p=function(){return document.querySelector("#billing_country")||n},f={subscribers:[],data:{companyDetails:!1,ic:"",dic:"",icDph:"",country:"",company:"",aresResult:"",aresLoading:!1,viesResult:"",viesLoading:!1,disableSubmit:!1},get:function(e){return this.data[e]},set:function(e){var n=this;Object.keys(e).forEach((function(i){n.data[i]=e[i]})),this.subscribers.forEach((function(e){return e(n.data)}))},subscribe:function(e){this.subscribers.push(e)},sync:function(){var e={companyDetails:i().checked,ic:c().value,dic:u().value,icDph:s().value,country:p().value,company:t().value};(e.ic||e.dic||void 0===e.companyDetails)&&(e.companyDetails=!0),e.companyDetails||(e.ic="",e.dic="",e.icDph="",e.company=""),this.set(e)}};function m(e){var t,a;if(void 0!==e.companyDetails&&(e.companyDetails?(o().style.display="block",l().style.display="block",r().style.display="block"):(window.wpifyWooIcDic.moveCompany&&(o().style.display="none"),l().style.display="none",r().style.display="none")),"before_customer_details"!==window.wpifyWooIcDic.position&&e.companyDetails&&"CZ"===e.country||"before_customer_details"===window.wpifyWooIcDic.position&&"CZ"===e.country?y().style.display="block":y().style.display="none",e.companyDetails&&"SK"===e.country?d().style.display="block":d().style.display="none",window.wpifyWooIcDic.changePlaceholder&&(c().placeholder="123456789",e.companyDetails&&"SK"===e.country?(u().placeholder="123456789",s().placeholder=e.country+"1234567890"):e.companyDetails&&(u().placeholder=e.country+"123456789",s().placeholder="")),window.wpifyWooIcDic.requireCompany&&(e.companyDetails?v(o()):g(o())),e.companyDetails&&("if_checkbox"===window.wpifyWooIcDic.requireVatFields||"if_company"===window.wpifyWooIcDic.requireVatFields&&""!==e.company)?v(l()):g(l()),i().checked=!!e.companyDetails,document.querySelectorAll(".wpify-woo__ic-error").forEach((function(e){return e.remove()})),e.aresLoading?null===(t=c())||void 0===t||null===(t=t.parentNode)||void 0===t||t.classList.add("loading"):null===(a=c())||void 0===a||null===(a=a.parentNode)||void 0===a||a.classList.remove("loading"),e.aresResult&&!1===e.aresLoading){var p,f=document.createElement("div");f.innerHTML=e.aresResult,f.classList.add("wpify-woo__ic-error"),null===(p=c())||void 0===p||null===(p=p.parentNode)||void 0===p||p.insertBefore(f,c().nextSibling)}var m,b,w="SK"===e.country?s():u();if(e.viesLoading?null==w||null===(m=w.parentNode)||void 0===m||m.classList.add("loading"):null==w||null===(b=w.parentNode)||void 0===b||b.classList.remove("loading"),e.viesResult&&!1===e.viesLoading){var h,_=document.createElement("div");_.innerHTML=e.viesResult,_.classList.add("wpify-woo__ic-error"),null==w||null===(h=w.parentNode)||void 0===h||h.insertBefore(_,w.nextSibling)}(document.querySelector("#place_order")||n).disabled=!!e.disableSubmit}function v(e){if(void 0!==e.querySelector){var n=e.querySelector("label span");e.classList.add("validate-required"),n&&(n.className="required",n.innerText="*")}}function g(e){if(void 0!==e.querySelector){var n=e.querySelector("label span");e.classList.remove("validate-required"),n&&(n.className="optional",n.innerText=wpifyWooIcDic.optionalText)}}function b(e,n){return new Promise((function(i,t){fetch(e,n).then((function(e){e.ok?e.json().then(i):e.json().then((function(e){return t(e.message)}))})).catch(t)}))}function w(){if(window.wpifyWooIcDic.restUrl&&!f.get("aresLoading")){var n=_(c().value||a().value);f.set({aresLoading:!0}),b(window.wpifyWooIcDic.restUrl+"/icdic?in="+n).then((function(n){var i=n.details,t=void 0===i?{}:i;Object.keys(t).forEach((function(n){var i=document.getElementById(n);i.value=t[n],"billing_ic"!==n&&i&&e(i).trigger("change")})),f.set({aresResult:""});var o=new CustomEvent("wpify_woo_ic_dic_ares_autofilled",{detail:{details:t}});window.dispatchEvent(o)})).catch((function(e){f.set({aresResult:e})})).finally((function(){f.set({aresLoading:!1,companyDetails:!0})}))}}function h(e){return(e=e.replace(/[^a-zA-Z0-9]/g,"").toUpperCase()).match(/^[A-Z]{2}/)?e:p().value+e}function _(e){return e.replace(/\D/g,"")}f.subscribe(m);var D=null;function S(){if(window.wpifyWooIcDic.restUrl&&!f.get("viesLoading")){window.clearTimeout(D);var n="SK"===f.get("country")?h(f.get("icDph")):h(f.get("dic"));f.get("viesLastChecked")!==n?(f.set({viesResult:"",viesLoading:!0,disableSubmit:!0}),b(window.wpifyWooIcDic.restUrl+"/icdic-vies?in="+n).then((function(){"SK"===f.get("country")?s().value=n:u().value=n})).catch((function(e){f.set({viesResult:e})})).finally((function(){e(document.body).trigger("update_checkout"),f.set({viesLoading:!1,disableSubmit:!1,viesLastChecked:n})}))):f.set({viesLoading:!1,disableSubmit:!1})}}f.sync(),e(document.body).on("change","input[name=company_details]",(function(n){var i={companyDetails:n.target.checked};i.companyDetails||(i.ic="",i.dic="",i.icDph="",i.company="",c().value="",u().value="",s().value="",t().value="",e(document.body).trigger("update_checkout")),f.set(i)})),e(document.body).on("change","input[name=billing_company]",(function(e){f.set({company:e.target.value})})),e(document.body).on("change","select[name=billing_country]",(function(e){f.set({country:e.target.value})})),e(document.body).on("change","input[name=billing_ic]",(function(e){f.set({ic:e.target.value}),l().classList.contains("wpify-woo-ic--validate")&&("CZ"===f.get("country")&&e.target.value.length>0?w():f.set({aresResult:""}))})),e(document.body).on("keyup change","input[name=billing_ic]",(function(e){a().value=_(e.target.value)})),e(document.body).on("keyup change","#ares_in",(function(e){c().value=_(e.target.value)})),e(document.body).on("click","#wpify-woo-icdic__ares-submit",w),e(document.body).on("change","input[name=billing_dic]",(function(e){f.set({dic:e.target.value}),r().classList.contains("wpify-woo-vies--validate")&&"SK"!==f.get("country")&&e.target.value.length>0&&S()})),e(document.body).on("change","input[name=billing_dic_dph]",(function(e){f.set({icDph:e.target.value}),s().classList.contains("wpify-woo-vies--validate")&&"SK"===f.get("country")&&e.target.value.length>0&&S()})),e(document.body).on("keyup","input[name=billing_dic]",(function(e){r().classList.contains("wpify-woo-vies--validate")&&"SK"!==f.get("country")&&e.target.value.length>0&&(window.clearTimeout(D),f.set({disableSubmit:!0,dic:e.target.value}),window.setTimeout(S,2e3))})),e(document.body).on("keyup","input[name=billing_dic_dph]",(function(e){r().classList.contains("wpify-woo-vies--validate")&&"SK"===f.get("country")&&e.target.value.length>0&&(window.clearTimeout(D),f.set({disableSubmit:!0,icDph:e.target.value}),window.setTimeout(S,2e3))})),e(document.body).on("click","#wpify-woo-icdic__ares-autofill-button",(function(e){e.preventDefault(),document.querySelector(".wpify-woo-icdic__ares-autofill").style.display="block"})),e("form[name=checkout]").on("keydown","input,select,button",(function(e){"Enter"===e.key&&!0===f.get("disableSubmit")&&e.preventDefault()})).on("click","input[type=button],button",(function(e){!0===f.get("disableSubmit")&&e.preventDefault()})),e(document.body).on("updated_checkout",(function(){m(f.data)}))}));