(function(){var e,t,n,a,r,o,u,c,s,i,d,l,m,p,y,g,f;n=function(e,n,a,r,o){var c;return null==o&&(o={}),c=new XMLHttpRequest,c.onreadystatechange=function(){var e;if(4===c.readyState&&(e=t(c.responseText)||c.responseText,c.status>=200&&c.status<300?(o.success||u)(c.status,e):c.status>=300&&(o.error||u)(c.status,e),void 0!==o.complete))return o.complete(c.status,e)},"POST"===n?(c.open(n,e,a),c.setRequestHeader("Access-Control-Allow-Origin","true"),c.setRequestHeader("Content-Type","application/json")):(null!==r&&(e+=l(JSON.parse(r)),r=null),c.open(n,e,a)),c.send(r)},u=function(e,t){return console.log(t),alert(t.message||JSON.stringify(t))},s=function(){if(null!==document.querySelector(Quaderno.selector))if(r(),void 0!==window.jQuery){if(null!==document.querySelector("[data-stripe='company-name']")&&$(document.querySelector("[data-stripe='company-name']")).on("change",r),null!==document.querySelector("[data-stripe='country']")&&$(document.querySelector("[data-stripe='country']")).on("change",r),null!==document.querySelector("[data-stripe='postal-code']")&&$(document.querySelector("[data-stripe='postal-code']")).on("change",r),null!==document.querySelector("[data-stripe='vat-number']")&&$(document.querySelector("[data-stripe='vat-number']")).on("change",r),null!==document.querySelector("[data-stripe='quantity']"))return $(document.querySelector("[data-stripe='quantity']")).on("change",r)}else if(null!==document.querySelector("[data-stripe='company-name']")&&document.querySelector("[data-stripe='company-name']").addEventListener("change",r),null!==document.querySelector("[data-stripe='country']")&&document.querySelector("[data-stripe='country']").addEventListener("change",r),null!==document.querySelector("[data-stripe='postal-code']")&&document.querySelector("[data-stripe='postal-code']").addEventListener("change",r),null!==document.querySelector("[data-stripe='vat-number']")&&document.querySelector("[data-stripe='vat-number']").addEventListener("change",r),null!==document.querySelector("[data-stripe='quantity']"))return document.querySelector("[data-stripe='quantity']").addEventListener("change",r)},a=function(){var e;return e=window.navigator.userAgent,!!(e.indexOf("MSIE ")>0||navigator.userAgent.match(/Trident.*rv\:11\./))},c=function(e){var t;return null!==(t=document.querySelector("[data-stripe='"+e+"']"))?t.value||"":""},l=function(e){return"?"+Object.keys(e).reduce(function(t,n){return t.push(n+"="+encodeURIComponent(e[n])),t},[]).join("&")},i=function(){var e,t,n,r;return n="taxCalculated.Quaderno",r=document.querySelector(Quaderno.selector),e={tax:Quaderno.readQuadernoTaxes(),message:"A tax has been calculated"},void 0!==window.jQuery?(t=jQuery.Event(n),t.detail=e,$(r).trigger(t)):(a()?(t=document.createEvent("CustomEvent")).initCustomEvent(n,!0,!0,e):t=new CustomEvent(n,{detail:e,bubbles:!0,cancelable:!0}),r.dispatchEvent(t))},d=function(e){var t,n,a;return null==e&&(e="subscription"),a={},t=document.querySelector(Quaderno.selector),n=(c("first-name")+" "+c("last-name")).trim(),a.stripe_publishable_key=t.getAttribute("data-key"),a.customer={description:c("company-name")||n,email:c("email"),metadata:{street_line_1:c("street-line-1"),street_line_2:c("street-line-2"),city:c("city"),region:c("region"),country:c("country"),postal_code:c("postal-code"),tax_id:c("vat-number")}},""!==c("stripeToken")&&(a.customer.card=c("stripeToken")),""!==c("company-name")?(a.customer.metadata.first_name=c("company-name"),a.customer.metadata.contact_person=n):(a.customer.metadata.first_name=c("first-name"),a.customer.metadata.last_name=c("last-name")),"subscriptions"===e?(a.subscription={plan:t.getAttribute("data-plan"),quantity:parseInt(c("quantity")||1),tax_percent:"included"===t.getAttribute("data-taxes")?null:Quaderno.readQuadernoTaxes().rate},""!==c("coupon")&&(a.subscription.coupon=c("coupon"))):a.charge={charge_data:t.getAttribute("data-charge"),metadata:{taxes:"included"===t.getAttribute("data-taxes")?"included":"excluded",tax_rate:Quaderno.readQuadernoTaxes().rate,tax_name:Quaderno.readQuadernoTaxes().name}},JSON.stringify(a)},t=function(e){var t;try{t=JSON.parse(e)}catch(e){return e,!1}return t},m=function(e,t){var n,a;if((n=document.querySelectorAll(".quaderno-"+e)).length>0){for(a=0;a<n.length;)n[a].innerHTML=t,a++;return!0}return!1},r=function(e,t){var a,r;return null==e&&(e={}),null==t&&(t=!0),r=document.querySelector(Quaderno.selector),a=JSON.stringify({token:r.getAttribute("data-key"),country:c("country"),postal_code:c("postal-code"),vat_number:c("vat-number"),consumer:""===c("company-name")}),n(Quaderno.taxesHost()+"/applications/api/v1/taxes/calculate","GET",t,a,{success:function(t,n){var a,o,u,s,d,l,p;return r=document.querySelector(Quaderno.selector),s=r.getAttribute("data-taxes")||"excluded",a=parseInt(c("quantity")||1),u=n,d=parseFloat(u.rate||0),Quaderno.writeQuadernoTaxes(u),d>0?("excluded"===s?p=(o=a*parseInt(r.getAttribute("data-amount")))+(l=Math.round(o*d/100)):"included"===s&&(l=(p=a*parseInt(r.getAttribute("data-amount")))-(o=Math.round(100*p/(100+d)))),m("subtotal",(parseFloat(o)/100).toFixed(2)),m("taxes",(parseFloat(l)/100).toFixed(2)),m("total",(parseFloat(p)/100).toFixed(2)),r.setAttribute("data-total_cents",p)):(m("subtotal",(a*(r.getAttribute("data-amount")/100)).toFixed(2)),m("taxes",0),m("total",(a*(r.getAttribute("data-amount")/100)).toFixed(2)),r.setAttribute("data-total_cents",r.getAttribute("data-amount"))),void 0!==e.success&&e.success(t,n),void 0!==e.complete&&e.complete(t,n),i()},error:function(t,n){return void 0!==e.complete&&e.complete(t,n),(e.error||u)(t,n)}})},p=function(e){return/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)},y=function(e){var t,n,a;return t=document.querySelector(Quaderno.selector),n=t.getAttribute("data-"+e),a=""===c("email")||p(c("email")),void 0===n||""===n?"Form dataset is not complete. A value for data-"+e+" is required.":""===c("first-name")?"First name cannot be blank.":a?""!==c("country")||"Country cannot be blank.":"Invalid email."},o=function(e,t){var a,o,c,s,i;return null==t&&(t={}),a="subscriptions"===e?"plan":"charge",!0===(i=y(a))?(r({},!1),s=d(e),n(Quaderno.taxesHost()+"/applications/api/v1/stripe/"+e,"POST",!1,s,t)):(o=t.error||u,c={message:i},void 0!==t.complete&&t.complete(422,c),o(422,c))},(e=function(){this.quaderno_taxes={},this.host="",this.selector="#payment-form"}).prototype={createSubscription:function(e){return null==e&&(e={}),o("subscriptions",e)},createCharge:function(e){return null==e&&(e={}),o("charges",e)},taxesHost:function(){return""===this.host&&(this.host=/pk_test/.test(document.querySelector(this.selector).getAttribute("data-key"))?"https://sandbox-quadernoapp.com":"https://quadernoapp.com"),this.host},readQuadernoTaxes:function(){return this.quaderno_taxes},writeQuadernoTaxes:function(e){return this.quaderno_taxes=e},serializeForm:function(e){return null==e&&(e="subscriptions"),d(e)},calculateTax:function(e){return null==e&&(e={}),r(e)},selector:function(){return this.selector},init:function(e){return 1===document.querySelectorAll(e).length&&(this.selector=e,s(),!0)}},window.Quaderno=new e,window.onload?(g=window.onload,f=function(){g(),s()},window.onload=f):window.onload=s}).call(this);
