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