function checkVATNumber(j){var f=new Array();var g="GB";f.push(/^(AT)U(\d{8})$/);f.push(/^(BE)(\d{9,10})$/);f.push(/^(BG)(\d{9,10})$/);f.push(/^(CY)(\d{8}[A-Z])$/);f.push(/^(CZ)(\d{8,10})(\d{3})?$/);f.push(/^(DE)(\d{9})$/);f.push(/^(DK)((\d{8}))$/);f.push(/^(EE)(\d{9})$/);f.push(/^(EL)(\d{8,9})$/);f.push(/^(ES)([A-Z]\d{8})$/);f.push(/^(ES)(\d{8}[A-Z])$/);f.push(/^(ES)([A-Z]\d{7}[A-Z])$/);f.push(/^(EU)(\d{9})$/);f.push(/^(FI)(\d{8})$/);f.push(/^(FR)(\d{11})$/);f.push(/^(FR)[(A-H)|(J-N)|(P-Z)]\d{10}$/);f.push(/^(FR)\d[(A-H)|(J-N)|(P-Z)]\d{9}$/);f.push(/^(FR)[(A-H)|(J-N)|(P-Z)]{2}\d{9}$/);f.push(/^(GB)?(\d{9})$/);f.push(/^(GB)?(\d{10})$/);f.push(/^(GB)?(\d{12})$/);f.push(/^(GB)?(\d{13})$/);f.push(/^(GB)?(GD\d{3})$/);f.push(/^(GB)?(HA\d{3})$/);f.push(/^(GR)(\d{8,9})$/);f.push(/^(HU)(\d{8})$/);f.push(/^(IE)(\d{7}[A-W])$/);f.push(/^(IE)([7-9][A-Z\*\+)]\d{5}[A-W])$/);f.push(/^(IT)(\d{11})$/);f.push(/^(LV)(\d{11})$/);f.push(/^(LT)(\d{9}|\d{12})$/);f.push(/^(LU)(\d{8})$/);f.push(/^(MT)(\d{8})$/);f.push(/^(NL)(\d{9})B\d{2}$/);f.push(/^(PL)(\d{10})$/);f.push(/^(PT)(\d{9})$/);f.push(/^(RO)(\d{2,10})$/);f.push(/^(SI)(\d{8})$/);f.push(/^(SK)(\d{9}|\d{10})$/);f.push(/^(SE)(\d{10}\d[1-4])$/);var e=j.toUpperCase();var d=[" ","-",",","."];for(var c=0;c<d.length;c++){while(e.indexOf(d[c])!=-1){e=e.slice(0,e.indexOf(d[c]))+e.slice(e.indexOf(d[c])+1)}}var a=false;for(c=0;c<f.length;c++){if(f[c].test(e)){var h=RegExp.$1;var b=RegExp.$2;if(h.length==0){h=g}switch(h){case"AT":a=ATVATCheckDigit(b);break;case"BE":a=BEVATCheckDigit(b);break;case"BG":a=true;break;case"CY":a=CYVATCheckDigit(b);break;case"CZ":a=CZVATCheckDigit(b);break;case"DE":a=DEVATCheckDigit(b);break;case"DK":a=DKVATCheckDigit(b);break;case"EE":a=EEVATCheckDigit(b);break;case"EL":a=ELVATCheckDigit(b);break;case"ES":a=ESVATCheckDigit(b);break;case"EU":a=EUVATCheckDigit(b);break;case"FI":a=FIVATCheckDigit(b);break;case"FR":a=FRVATCheckDigit(b);break;case"GB":a=UKVATCheckDigit(b);break;case"GR":a=ELVATCheckDigit(b);break;case"HU":a=HUVATCheckDigit(b);break;case"IE":a=IEVATCheckDigit(b);break;case"IT":a=ITVATCheckDigit(b);break;case"LT":a=LTVATCheckDigit(b);break;case"LU":a=LUVATCheckDigit(b);break;case"LV":a=LVVATCheckDigit(b);break;case"MT":a=MTVATCheckDigit(b);break;case"NL":a=NLVATCheckDigit(b);break;case"PL":a=PLVATCheckDigit(b);break;case"PT":a=PTVATCheckDigit(b);break;case"RO":a=ROVATCheckDigit(b);break;case"SE":a=SEVATCheckDigit(b);break;case"SI":a=SIVATCheckDigit(b);break;default:a=true}break}}return a}function ATVATCheckDigit(d){var c=0;var e=[1,2,1,2,1,2,1];var a=0;for(var b=0;b<7;b++){a=Number(d.charAt(b))*e[b];if(a>9){c=c+Math.floor(a/10)+a%10}else{c=c+a}}c=10-(c+4)%10;if(c==10){c=0}if(c==d.slice(7,8)){return true}else{return false}}function BEVATCheckDigit(a){if(a.length==10&&a.slice(0,1)!="0"){return false}if(a.length==9){a="0"+a}if(97-a.slice(0,8)%97==a.slice(8,10)){return true}else{return false}}function CYVATCheckDigit(d){var c=0;for(var b=0;b<8;b++){var a=Number(d.charAt(b));if(b%2==0){switch(a){case 0:a=1;break;case 1:a=0;break;case 2:a=5;break;case 3:a=7;break;case 4:a=9;break;default:a=a*2+3}}c=c+a}c=c%26;c=String.fromCharCode(c+65);if(c==d.substr(8,1)){return true}else{return false}}function CZVATCheckDigit(c){var b=0;var d=[8,7,6,5,4,3,2];if(c.length!=8){return true}for(var a=0;a<7;a++){b=b+Number(c.charAt(a))*d[a]}b=11-b%11;if(b==10){b=0}if(b==11){b=1}if(b==c.slice(7,8)){return true}else{return false}}function DEVATCheckDigit(e){var d=10;var c=0;var a=0;for(var b=0;b<8;b++){c=(Number(e.charAt(b))+d)%10;if(c==0){c=10}d=(2*c)%11}if(11-d==10){a=0}else{a=11-d}if(a==e.slice(8,9)){return true}else{return false}}function DKVATCheckDigit(c){var b=0;var d=[2,7,6,5,4,3,2,1];for(var a=0;a<8;a++){b=b+Number(c.charAt(a))*d[a]}b=b%11;if(b==0){return true}else{return false}}function EEVATCheckDigit(c){var b=0;var d=[3,7,1,3,7,1,3,7];for(var a=0;a<8;a++){b=b+Number(c.charAt(a))*d[a]}b=10-b%10;if(b==10){b=0}if(b==c.slice(8,9)){return true}else{return false}}function ELVATCheckDigit(c){var b=0;var d=[256,128,64,32,16,8,4,2];if(c.length==8){c="0"+c}for(var a=0;a<8;a++){b=b+Number(c.charAt(a))*d[a]}b=b%11;if(b>9){b=0}if(b==c.slice(8,9)){return true}else{return false}}function ESVATCheckDigit(e){var d=0;var a=0;var f=[2,1,2,1,2,1,2];var c=new Array();c.push(/^[A-H]\d{8}$/);c.push(/^[N|P|Q|S]\d{7}[A-Z]$/);c.push(/^[0-9]{8}[A-Z]$/);var b=0;if(c[0].test(e)){for(b=0;b<7;b++){a=Number(e.charAt(b+1))*f[b];if(a>9){d=d+Math.floor(a/10)+a%10}else{d=d+a}}d=10-d%10;if(d==10){d=0}if(d==e.slice(8,9)){return true}else{return false}}else{if(c[1].test(e)){for(b=0;b<7;b++){a=Number(e.charAt(b+1))*f[b];if(a>9){d=d+Math.floor(a/10)+a%10}else{d=d+a}}d=10-d%10;d=String.fromCharCode(d+64);if(d==e.slice(8,9)){return true}else{return false}}else{if(c[2].test(e)){return e.charAt(8)=="TRWAGMYFPDXBNJZSQVHLCKE".charAt(Number(e.substring(0,8))%23)}else{return true}}}}function EUVATCheckDigit(a){return true}function FIVATCheckDigit(c){var b=0;var d=[7,9,10,5,8,4,2];for(var a=0;a<7;a++){b=b+Number(c.charAt(a))*d[a]}b=11-b%11;if(b>9){b=0}if(b==c.slice(7,8)){return true}else{return false}}function FRVATCheckDigit(b){if(!(/^\d{11}$/).test(b)){return true}var a=b.substring(2);a=(a*100+12)%97;if(a==b.slice(0,2)){return true}else{return false}}function HUVATCheckDigit(c){var b=0;var d=[9,7,3,1,9,7,3];for(var a=0;a<7;a++){b=b+Number(c.charAt(a))*d[a]}b=10-b%10;if(b==10){b=0}if(b==c.slice(7,8)){return true}else{return false}}function IEVATCheckDigit(c){var b=0;var d=[8,7,6,5,4,3,2];if(/^\d[A-Z\*\+]/.test(c)){c="0"+c.substring(2,7)+c.substring(0,1)+c.substring(7,8)}for(var a=0;a<7;a++){b=b+Number(c.charAt(a))*d[a]}b=b%23;if(b==0){b="W"}else{b=String.fromCharCode(b+64)}if(b==c.slice(7,8)){return true}else{return false}}function ITVATCheckDigit(d){var c=0;var e=[1,2,1,2,1,2,1,2,1,2];var a;a=Number(d.slice(0,7));if(a==0){return false}a=Number(d.slice(7,10));if((a<1)||(a>201)){return false}for(var b=0;b<10;b++){a=Number(d.charAt(b))*e[b];if(a>9){c=c+Math.floor(a/10)+a%10}else{c=c+a}}c=10-c%10;if(c>9){c=0}if(c==d.slice(10,11)){return true}else{return false}}function LTVATCheckDigit(c){if(c.length!=9){return true}var b=0;for(var a=0;a<8;a++){b=b+Number(c.charAt(a))*(a+1)}if(b%11==10){var d=[3,4,5,6,7,8,9,1];b=0;for(a=0;a<8;a++){b=b+Number(c.charAt(a))*d[a]}}b=b%11;if(b==10){b=0}if(b==c.slice(8,9)){return true}else{return false}}function LUVATCheckDigit(a){if(a.slice(0,6)%89==a.slice(6,8)){return true}else{return false}}function LVVATCheckDigit(c){if((/^[0-3]/).test(c)){return true}var b=0;var d=[9,1,4,8,3,10,2,5,7,6];for(var a=0;a<10;a++){b=b+Number(c.charAt(a))*d[a]}if(b%11==4&&c[0]==9){b=b-45}if(b%11==4){b=4-b%11}else{if(b%11>4){b=14-b%11}else{if(b%11<4){b=3-b%11}}}if(b==c.slice(10,11)){return true}else{return false}}function MTVATCheckDigit(c){var b=0;var d=[3,4,6,7,8,9];for(var a=0;a<6;a++){b=b+Number(c.charAt(a))*d[a]}b=37-b%37;if(b==c.slice(6,8)*1){return true}else{return false}}function NLVATCheckDigit(c){var b=0;var d=[9,8,7,6,5,4,3,2];for(var a=0;a<8;a++){b=b+Number(c.charAt(a))*d[a]}b=b%11;if(b>9){b=0}if(b==c.slice(8,9)){return true}else{return false}}function PLVATCheckDigit(c){var b=0;var d=[6,5,7,2,3,4,5,6,7];for(var a=0;a<9;a++){b=b+Number(c.charAt(a))*d[a]}b=b%11;if(b>9){b=0}if(b==c.slice(9,10)){return true}else{return false}}function PTVATCheckDigit(c){var b=0;var d=[9,8,7,6,5,4,3,2];for(var a=0;a<8;a++){b=b+Number(c.charAt(a))*d[a]}b=11-b%11;if(b>9){b=0}if(b==c.slice(8,9)){return true}else{return false}}function ROVATCheckDigit(c){var d=[7,5,3,2,1,7,5,3,2,1];var e=c.length;d=d.slice(10-e);var b=0;for(var a=0;a<c.length-1;a++){b=b+Number(c.charAt(a))*d[a]}b=(10*b)%11;if(b==10){b=0}if(b==c.slice(c.length-1,c.length)){return true}else{return false}}function SEVATCheckDigit(d){var c=0;var e=[2,1,2,1,2,1,2,1,2];var a=0;for(var b=0;b<9;b++){a=Number(d.charAt(b))*e[b];if(a>9){c=c+Math.floor(a/10)+a%10}else{c=c+a}}c=10-(c%10);if(c==10){c=0}if(c==d.slice(9,10)){return true}else{return false}}function SKVATCheckDigit(c){var b=0;var d=[8,7,6,5,4,3,2];for(var a=3;a<9;a++){b=b+Number(c.charAt(a))*d[a-3]}b=11-b%11;if(b>9){b=b-10}if(b==c.slice(9,10)){return true}else{return false}}function SIVATCheckDigit(c){var b=0;var d=[8,7,6,5,4,3,2];for(var a=0;a<7;a++){b=b+Number(c.charAt(a))*d[a]}b=11-b%11;if(b>9){b=0}if(b==c.slice(7,8)){return true}else{return false}}function UKVATCheckDigit(c){var d=[8,7,6,5,4,3,2];if(c.substr(0,2)=="GD"){if(c.substr(2,3)<500){return true}else{return false}}if(c.substr(0,2)=="HA"){if(c.substr(2,3)>499){return true}else{return false}}if(c.length==9||c.length==10){var b=0;if(c.length==10&&c.slice(9,10)!="3"){return false}for(var a=0;a<7;a++){b=b+Number(c.charAt(a))*d[a]}while(b>0){b=b-97}b=Math.abs(b);if(b==c.slice(7,9)){return true}else{return false}}return true};
