(function(d){d(document).ready(function(){var p=function(a,m){var b={};(a||[]).forEach(function(a){var f=m(a);b[f]=b[f]||[];b[f].push(a)});return b},w=function(a){return Object.keys(a||{}).map(function(b){return[b,a[b]]})},r=function(a){return"number"===typeof a&&!isNaN(a)},a=function(a,m){return(a||[]).reduce(function(a,b){return a&&m(b)},!0)},t=function(a){return a},u=function(a){a=a||[];var b=a.length-1;return 0<=b?a[b]:null};taxValidator={validate:function(b,m,f){b=String(b);f=f||!1;b=b.split("");
if(11!==b.length||"0"===b[0])return!1;b=b.map(function(a){return parseInt(a,10)});if(!a(b,r))return!1;var d=b.slice(0,10),n=w(p(d,t)),k=p(n,function(a){return a[1].length}),q=!1;!m&&9===n.length&&k[2]&&1===k[2].length&&k[1]&&8===k[1].length?q=!0:!f&&8===n.length&&k[3]&&1===k[3].length&&k[1]&&7===k[1].length&&(q=!0);if(q){f=0;f=10;for(m=0;9>=m;m++)f=(d[m]+f)%10,0===f&&(f=10),f=2*f%11;d=11-f;10===d&&(d=0);if(d===u(b))return!0}return!1}};d('[vdt\x3d"xm-vdt-steuerid"],[data-vdt\x3d"xm-vdt-steuerid"]').each(function(a,
m){d(m).errorFunc(validateSteuerID)});d(".xm-form").on("addRow",function(a,m){d('[vdt\x3d"xm-vdt-steuerid"],[data-vdt\x3d"xm-vdt-steuerid"]',m.container).each(function(a,b){d(b).errorFunc(validateIBAN)})})});d(document).ready(function(){function p(p,r){function a(a,v,c,e){this.name=a;this.code=v;this.bank=t(c);this.acc=t(e);this.bank_lng=u(this.bank);this.acc_lng=u(this.acc);this.total_lng=4+this.bank_lng+this.acc_lng}function t(a){var g=[];a=a.split(" ");for(var c=0;c<a.length;++c){var e=a[c];if(""!=
e){var b=e.charAt(e.length-1);"a"==b||"n"==b?e=e.substring(0,e.length-1):b="c";e=parseInt(e);g[g.length]=[e,b]}}return g}function u(a){for(var g=0,c=0;c<a.length;++c)g+=a[c][0];return g}function b(a){for(var g=0;26>g&&a!="ABCDEFGHIJKLMNOPQRSTUVWXYZ".charAt(g);++g);return g+10}function m(a,b){for(;a.length<b;)a="0"+a;return a}function f(a){var g=a.substring(0,2),c=a.substring(2,4);a=a.substring(4);for(var e="",d=0;d<a.length;++d)var h=a.charAt(d).toUpperCase(),e="0"<=h&&"9">=h?e+h:e+b(h);for(d=0;d<
g.length;++d)h=g.charAt(d),e+=b(h);g=e+c;for(a=c=0;a<g.length;++a)c=(10*c+parseInt(g.charAt(a)))%97;return m(""+(98-c),2)}function x(a,b){for(var c=0;c<a.length;++c){var g=a[c][0],d=a[c][1];g>b.length&&(g=b.length);for(var h=0;h<g;++h){var l=b.charAt(h),f="A"<=l&&"Z">=l,v="0"<=l&&"9">=l;if(!(v||f||"a"<=l&&"z">=l)&&"c"==d||!f&&"a"==d||!v&&"n"==d)return!0}b=b.substring(g)}return!1}function n(a){var b=y[a];b&&(a=b);return a}function k(){var a;var b,c=d(this).val().toUpperCase();"IBAN"==c.substring(0,
4)&&(c=c.substring(4));b="";for(var e=0;e<c.length;++e)" "!=c.charAt(e)&&(b+=c.charAt(e));var k=b.substring(0,2);b.substring(2,4);var h=b.substring(4);b:{for(c=0;c<q.length;++c)if(q[c].code==k){c=q[c];break b}c=null}e=null;if(null==c)e=n("Unknown Country Code: ")+k;else if(b.length!=c.total_lng)e=n("IBAN length ")+b.length+n(" is not correct for ")+c.name+" ("+c.total_lng+")";else{var l=c.bank_lng;a=h.substring(0,l);l=h.substring(l);h=c;k=a;k.length!=h.bank_lng||x(h.bank,k)?e=n("Bank/Branch Code ")+
a+n(" is not correct for ")+c.name:(h=c,k=l,1>k.length||k.length>h.acc_lng||x(h.acc,m(k,h.acc_lng))?e=n("Account Number ")+l+n(" is not correct for ")+c.name:"97"==f(b)||(e=n("Checksum of IBAN incorrect")))}if(e)a={valid:!1};else{b=a;e=m(l,c.acc_lng);l=m(l,c.acc_lng);h=f(c.code+"00"+a+l);a=c.code+h+a+l;l="";for(c=0;c<a.length;c++)0==c%4&&3<c&&(l+=" "),l+=a.charAt(c);a={valid:!0,bank:b,account:e,iban:l}}a.valid&&d(this).val(a.iban);return a.valid?"":r?XM_FORM_PLUGIN_VRULES["xm-vdt-iban-de"].errorMsg:
XM_FORM_PLUGIN_VRULES["xm-vdt-iban"].errorMsg}var q=[new a("Andorra","AD","0  4n 4n","0  12   0 "),new a("Albania","AL","0  8n 0 ","0  16   0 "),new a("Austria","AT","0  5n 0 ","0  11n  0 "),new a("Azerbaijan","AZ","0  4a 0 ","0  20   0 "),new a("Bahrain","BH","0  4a 0 ","0  14   0 "),new a("Bosnia and Herzegovina","BA","0  3n 3n","0   8n  2n"),new a("Belgium","BE","0  3n 0 ","0   7n  2n"),new a("Brazil","BR","0  8n 5n","10n  1a  1"),new a("Bulgaria","BG","0  4a 4n","2n  8   0 "),new a("Switzerland",
"CH","0  5n 0 ","0  12   0 "),new a("Costa Rica","CR","0  3n 0 ","0  14n   0 "),new a("Croatia","HR","0  7n 0 ","0  10n   0 "),new a("Cyprus","CY","0  3n 5n","0  16   0 "),new a("Czech Republic","CZ","0  4n 0 ","0  16n  0 "),new a("Germany","DE","0  8n 0 ","0  10n  0 "),new a("Denmark","DK","0  4n 0 ","0   9n  1n"),new a("Dominican Republic","DO","0 4c 0 ","0 20n 0"),new a("Estonia","EE","0  2n 0 ","2n 11n  1n"),new a("Spain","ES","0  4n 4n","2n 10n  0 "),new a("Finland","FI","0  6n 0 ","0   7n  1n"),
new a("Faroe Islands","FO","0  4n 0 ","0   9n  1n"),new a("France","FR","0  5n 5n","0  11   2n"),new a("United Kingdom","GB","0  4a 6n","0   8n  0 "),new a("British Virgin Icelands","VG","0 4a 0","0 16n 0"),new a("Georgia","GE","0  2a 0 ","0  16n  0 "),new a("Gibraltar","GI","0  4a 0 ","0  15   0 "),new a("Greenland","GL","0  4n 0 ","0   9n  1n"),new a("Greece","GR","0  3n 4n","0  16   0 "),new a("Guatemala","GT","0 4 0","0 20 0"),new a("Croatia","HR","0  7n 0 ","0  10n  0 "),new a("Hungary","HU",
"0  3n 4n","1n 15n  1n"),new a("Ireland","IE","0  4a 6n","0   8n  0 "),new a("Israel","IL","0  3n 3n","0  13n  0 "),new a("Iceland","IS","0  4n 0 ","2n 16n  0 "),new a("Italy","IT","1a 5n 5n","0  12   0 "),new a("Kuwait","KW","0  4a 0 ","0  22   0 "),new a("Kazakhstan","KZ","0  3n 0 ","0  13   0 "),new a("Lebanon","LB","0  4n 0 ","0  20   0 "),new a("Liechtenstein","LI","0  5n 0 ","0  12   0 "),new a("Lithuania","LT","0  5n 0 ","0  11n  0 "),new a("Luxembourg","LU","0  3n 0 ","0  13   0 "),new a("Latvia",
"LV","0  4a 0 ","0  13   0 "),new a("Monaco","MC","0  5n 5n","0  11   2n"),new a("Montenegro","ME","0  3n 0 ","0  13n  2n"),new a("Macedonia","MK","0  3n 0 ","0  10   2n"),new a("Mauritania","MR","0  5n 5n","0  11n  2n"),new a("Malta","MT","0  4a 5n","0  18   0 "),new a("Mauritius","MU","0  4a 4n","0  15n  3a"),new a("Moldova","MD","0  2 0"," 0 18 0"),new a("Netherlands","NL","0  4a 0 ","0  10n  0 "),new a("Norway","NO","0  4n 0 ","0   6n  1n"),new a("Poland","PL","0  8n 0 ","0  16n  0 "),new a("Pakistan",
"PK","0 4a 0","0  16  0"),new a("Palestine","PS","0 4a 0","0  21 0"),new a("Portugal","PT","0  4n 4n","0  11n  2n"),new a("Romania","RO","0  4a 0 ","0  16   0 "),new a("Serbia","RS","0  3n 0 ","0  13n  2n"),new a("Saudi Arabia","SA","0  2n 0 ","0  18   0 "),new a("Sweden","SE","0  3n 0 ","0  16n  1n"),new a("Slovenia","SI","0  5n 0 ","0   8n  2n"),new a("Slovak Republic","SK","0  4n 0 ","0  16n  0 "),new a("San Marino","SM","1a 5n 5n","0  12   0 "),new a("Tunisia","TN","0  2n 3n","0  13n  2n"),new a("United Arab Emirates",
"AE","0  3n 0","0 16n 0"),new a("Turkey","TR","0  5n 0 ","1  16   0 ")],w=Array(new a("Germany","DE","0  8n 0 ","0  10n  0 "));r&&(q=w);var y=[];d(p).each(function(a,b){d(b).errorFunc(k)});d(".xm-form").on("addRow",function(a,b){d(p,b.container).each(function(a,b){d(b).errorFunc(k)})})}p('[vdt\x3d"xm-vdt-iban"],[data-vdt\x3d"xm-vdt-iban"]',!1);p('[vdt\x3d"xm-vdt-iban-de"],[data-vdt\x3d"xm-vdt-iban-de"]',!0)})})(jQuery);