// More languages are welcome. Please send your list of country names, error messages, page text and explain text
// to TBG5 administrator. More advice at the end of this script. Thnx

// Special thx to:
// Italiano: Renato Polo				Norsk: Siri-Anne dos Santos
// French: Walter Hoffmann & Pierrick Daumain		Polski: Norbert Wozniak
// Romanian: Kalman Pusztai				Srpski: Aleksandar Blagojevic
// ????????? Bulgarian: Luben Karavelov			Slovencina: Alfred Anzlovar
// Nederlands: Mark Sensen				Russian: Vasiliy Marhotsky
// Magyar: Tibor Albert					Lietuviu: Edmundas Kausikas
// Türkçe: Oguz Cekmeceligil				Catalŕ: Cristňfol-Josep Bordes i Figuerola
// Svenska: Lars Madej					?? Chinese: May Chen
// Greek: Stamatis Liatsos				Espańol Castellano: Jesús Ferreiro
// Albanian: Artan Rrustemi				Portuguęs: Antonio Aguiar

// Scripting: Hendrik Muus

// letters will be replaced with digits
var repl = new Array (	"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
			"N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z",
		 	"10","11","12","13","14","15","16","17","18","19","20","21","22",
		 	"23","24","25","26","27","28","29","30","31","32","33","34","35");
// use language 2 (english) by default
var lngg = 2;
// we have currently 21 languages	21 albanian, 9 ????????? bulgarian, 16 catalŕ, 18 chinese, 1 deutsch, 2 english, 20 espańol, 5 french, 19 greek,
//					3 italiano, 14 lietuviu, 13 magyar, 11 nederlands, 4 norsk, 6 polski, 22 portuguęs, 7 romanian, 12 russian,
//					10 slovencina, 8 srpski, 17 svenska, 15 türkçe
var lgc = 22;
// language codes
//                     21    9   16   18    1    2   20    5   19    3   14   13   11    4    6   22    7   12   10    8   17   15
var lngc = new Array ("sq","bg","ca","zh","de","en","es","fr","el","it","lt","hu","nl","no","pl","pt","ro","ru","sl","sr","sv","tr");
// language selector
var lngsel =	"<option value=\"21\">albanian</option>"+
		"<option value=\"9\">????????? bulgarian</option>"+
		"<option value=\"16\">catalŕ</option>"+
		"<option value=\"18\">?? chinese</option>"+
		"<option value=\"1\">deutsch</option>"+
		"<option value=\"2\">english</option>"+
		"<option value=\"20\">espańol castellano</option>"+
		"<option value=\"5\">french</option>"+
		"<option value=\"19\">greek</option>"+
		"<option value=\"3\">italiano</option>"+
		"<option value=\"14\">lietuviu</option>"+
		"<option value=\"13\">magyar</option>"+
		"<option value=\"11\">nederlands</option>"+
		"<option value=\"4\">norsk</option>"+
		"<option value=\"6\">polski</option>"+
		"<option value=\"22\">portuguęs</option>"+
		"<option value=\"7\">romanian</option>"+
		"<option value=\"12\">russian</option>"+
		"<option value=\"10\">slovencina</option>"+
		"<option value=\"8\">srpski</option>"+
		"<option value=\"17\">svenska</option>"+
		"<option value=\"15\">türkçe</option>";
// country codes, fixed length for those countries, appliance of EU REGULATION 2560/2001, IBAN example and inner structure
var ilbc = new Array (	"AD","AT","BA","BE","BG","CH","CY","CZ","DE","DK","EE","ES","FI","FO","FR","GB","GI","GL","GR",
			"HR","HU","IE","IL","IS","IT","LI","LT","LU","LV","MC","ME","MK","MT","MU","NL","NO","PL","PT",
			"RO","RS","SE","SI","SK","SM","TN","TR",
			 24,  20,  20,  16,  22,  21,  28,  24,  22,  18,  20,  24,  18,  18,  27,  22,  23,  18,  27,
			 21,  28,  22,  23,  26,  27,  21,  20,  20,  21,  27,  22,  19,  31,  30,  18,  15,  28,  25,
			 24,  22,  24,  19,  24,  27,  24,  26,
			"n", "y", "n", "y", "y", "n", "y", "y", "y", "y", "y", "y", "y", "n", "y", "y", "y", "n", "y",
			"n", "y", "y", "n", "y", "y", "y", "y", "y", "y", "n", "n", "n", "y", "n", "y", "y", "y", "y",
			"y", "n", "y", "y", "y", "n", "n", "n",
			"AD1200012030200359100100","AT611904300234573201","BA391290079401028494","BE68539007547034",
			"BG80BNBG96611020345678","CH9300762011623852957","CY17002001280000001200527600",
			"CZ6508000000192000145399","DE89370400440532013000","DK5000400440116243","EE382200221020145685",
			"ES9121000418450200051332","FI2112345600000785","FO7630004440960235","FR1420041010050500013M02606",
			"GB29NWBK60161331926819","GI75NWBK000000007099453","GL4330003330229543","GR1601101250000000012300695",
			"HR1210010051863000160","HU42117730161111101800000000","IE29AIBK93115212345678","IL620108000000099999999",
			"IS140159260076545510730339","IT60X0542811101000000123456","LI21088100002324013AA","LT121000011101001000",
			"LU280019400644750000","LV80BANK0000435195001","MC1112739000700011111000h79","ME25505000012345678951",
			"MK07300000000042425","MT84MALT011000012345MTLCAST001S","MU17BOMM0101101030300200000MUR","NL91ABNA0417164300",
			"NO9386011117947","PL27114020040000300201355387","PT50000201231234567890154","RO49AAAA1B31007593840000",
			"RS35260005601001611379","SE3550000000054910000003","SI56191000000123438","SK3112000000198742637541",
			"SM86U0322509800000000270100","TN5914207207100707129648","TR330006100519786457841326",
			/\d{8}[a-zA-Z0-9]{12}/ , /\d{16}/ , /\d{16}/ , /\d{12}/ , /[A-Z]{4}\d{6}[a-zA-Z0-9]{8}/ , /\d{5}[a-zA-Z0-9]{12}/ ,
			/\d{8}[a-zA-Z0-9]{16}/ , /\d{20}/ , /\d{18}/ , /\d{14}/ , /\d{16}/ , /\d{20}/ , /\d{14}/ , /\d{14}/ ,
			/\d{10}[a-zA-Z0-9]{11}\d\d/ , /[A-Z]{4}\d{14}/ , /[A-Z]{4}[a-zA-Z0-9]{15}/ , /\d{14}/ , /\d{7}[a-zA-Z0-9]{16}/ ,
			/\d{17}/ , /\d{24}/ , /[A-Z]{4}\d{14}/ , /\d{19}/ , /\d{22}/ , /[A-Z]\d{10}[a-zA-Z0-9]{12}/ , /\d{5}[a-zA-Z0-9]{12}/ ,
			/\d{16}/ , /\d{3}[a-zA-Z0-9]{13}/ , /[A-Z]{4}[a-zA-Z0-9]{13}/ , /\d{10}[a-zA-Z0-9]{11}\d\d/ , /\d{18}/ ,
			/\d{3}[a-zA-Z0-9]{10}\d\d/ , /[A-Z]{4}\d{5}[a-zA-Z0-9]{18}/ , /[A-Z]{4}\d{19}[A-Z]{3}/ , /[A-Z]{4}\d{10}/ , /\d{11}/ ,
			/\d{8}[a-zA-Z0-9]{16}/ , /\d{21}/ , /[A-Z]{4}[a-zA-Z0-9]{16}/ , /\d{18}/ , /\d{20}/ , /\d{15}/ , /\d{20}/ ,
			/[A-Z]\d{10}[a-zA-Z0-9]{12}/ , /\d{20}/ , /\d{5}[a-zA-Z0-9]{17}/ );
// we have currently # countries
var ctcnt = ilbc.length/5;
// we have currently # alert texts
var atcnt = 10;
// we have currently # web texts
var wbcnt = 10;

// gets the country name
function rcty(tnum) { return ctynm[tnum+ctcnt*(lngg-1)]; }
//gets the error text
function ralt(tnum) { return altxt[tnum+atcnt*(lngg-1)]; }
// the magic core routine
function checkibancore(iban) {
	illegal = /\W|_/; // contains chars other than (a-zA-Z0-9)
	if(illegal.test(iban)) { // yes, alert and exit
		alert(ralt(0));
		return "0"; }
	else { // no, continue
		illegal = /^\D\D\d\d.+/; // first chars are letter letter digit digit
		if(illegal.test(iban) == false) { // no, alert and exit
			alert(ralt(1));
			return "0"; }
		else { // yes, continue
			illegal = /^\D\D00.+|^\D\D01.+|^\D\D99.+/; // check digit are 00 or 01 or 99
			if(illegal.test(iban)) { // yes, alert and exit
				alert(ralt(2));
				return "0"; }
			else { // no, continue
				cntry = iban.substr(0,2); // fetch country
				cntry = cntry.toUpperCase(); // uppercase
				lofi = 6; // "default" length of IBAN
				for (i = 0; i < ctcnt; i++) {	if (cntry == ilbc[i]) { lofi = ilbc[ctcnt+i]; ctck=i; }}  // yes, country respected
				if (lofi == 6) { // no, alert
					alert(ralt(3)+cntry+ralt(4));
					lofi = iban.length; }  // but continue
				if ((iban.length-lofi) != 0) { // fits length to country
					alert(ralt(5)+rcty(ctck)+ralt(6)+ilbc[ctck+ctcnt]+ralt(7)); // no, alert and exit
					return "0"; }
				illegal = ilbc[ctck+ctcnt*4];
				if (illegal.test(iban.substr(4,lofi-4)) == false) { // fits structure to country
					alert(ralt(1)); // no, alert and exit
					return "0"; }
				else { // yes, continue
					iban = iban.toUpperCase(); // uppercase, to ease
					iban = iban.substr(4,lofi-4) + iban.substr(0,4); // country and check digits to the end
					for (i = 0; i <= 25; i++) { // replace letters with digits
						while (iban.search(repl[i])!= -1) { iban = iban.replace(repl[i],repl[i+26]); }} // all of them
					coss = Math.ceil(iban.length/7); // calc count of substrings
					rmndr = ""; // remainer starts empty and always preceeds the current substring
					for (i = 1; i <= coss; i++) { // step by step
						rmndr = String(parseFloat(rmndr+iban.substr((i-1)*7,7))%97); } // modulo division 97
					return rmndr; }}}}} // return the remainer
// perform the check
function checkiban(iban) {
	if (checkibancore(iban) == "1") { alert(ralt(8)); } // and prompt result
	else { alert(ralt(9)); }}
// some convenience for web page
function langsel() { document.write(lngsel); } //language selector
function rwt(tnum) { document.write(wptxt[(lngg-1)*wbcnt+tnum]); } //web page text by number
function rwt2(pos) {
	if (wptxt[(lngg-1)*wbcnt] == pos) {
		document.write(" EU Regulation 2560/2001 "); }} //special web page text
// whole line of special web page text
function rwt3() {
	document.write("<small><BR>(");
	rwt2(0);
	document.write("<span class=\"tbg5eray\">");
	rwt(3);
	document.write("</span> / <span class=\"tbg5eran\">");
	rwt(4);
	document.write("</span>");
	rwt2(1);
	document.write(")<BR><BR></small>"); }
// some convenience to list the countries
function rcc(tnum) { return ilbc[tnum]; } //country code by number
function rcn(tnum) { return rcty(tnum); } //country name by number
function rcr(tnum) { return ilbc[ctcnt*2+tnum]; } //country regulatory info by number
function rcl(tnum) { return wptxt[(lngg-1)*wbcnt+8]+ilbc[ctcnt*1+tnum]; } //hover text for code
function rce(tnum) { return wptxt[(lngg-1)*wbcnt+9]+ilbc[ctcnt*3+tnum]; } //hover tet for name
// list countries in x columns with language y ##### old, use new please #####
function listcountries(columni,llngg) {
	listcountriesnew(columni,llngg,"n",""); }
// list countries in x columns with language y show flag y/n from path ##### new #####
// make sure the flag images are available at path and provide a style declaration like "img.tbg5cdf { height:20px; }" !!
function listcountriesnew(columni,llngg,flag,ipath) {
	lngg = llngg; //use language parameter
	if (flag == "n") {
		document.write("<table class=\"tbg5ct\">\r\n<TR class=\"tbg5crt\"><TD class=\"tbg5cdt\" colspan=\""+columni*2+"\">&nbsp;</TD></TR>\r\n"); }
	else {	document.write("<table class=\"tbg5ct\">\r\n<TR class=\"tbg5crt\"><TD class=\"tbg5cdt\" colspan=\""+columni*3+"\">&nbsp;</TD></TR>\r\n"); }
	var numberofrows = Math.ceil(ctcnt/columni); //calculate rows
	for (i = 0; i < numberofrows; i++) { //for each row
		document.write("<tr class=\"tbg5crl\">");
		for (var j = 0; j < columni; j++) { //for each column
			if ((i*columni+j)<ctcnt) { //fill cells
				document.write("<td class=\"tbg5cdc\" title=\""+rcl(i*columni+j)+"\"><span class=\"tbg5era"+rcr(i*columni+j)+"\">"+rcc(i*columni+j)+"</span></td>"); //country code
				if (flag == "y") { //show flag
					document.write("<td class=\"tbg5cdf\"><img class=\"tbg5cdf\" src=\""+ipath+rcc(i*columni+j)+".png\" alt=\""+rcn(i*columni+j)+"\" title=\""+rcn(i*columni+j)+"\"></td>"); }
				document.write("<td class=\"tbg5cdn\" title=\""+rce(i*columni+j)+"\"><span class=\"tbg5era"+rcr(i*columni+j)+"\">"+rcn(i*columni+j)+"</span></td>"); }} //country name
		document.write("</tr>\r\n"); }
	document.write("</table>\r\n"); }
// some convenience for additional explanations
function doexplain(llngg) {
	document.write(xpltxt[llngg-1]); }

// deutsch ++++++++++++++++++++++++++++++++++++++++
// country names
var ctynm =		new Array (	"Andorra","Österreich","Bosnien und Herzegowina","Belgien","Bulgarien","Schweiz",
					"Zypern","Tschechien","Deutschland","Dänemark","Estland","Spanien","Finnland",
					"Färöer","Frankreich","Großbritannien","Gibraltar","Grönland","Griechenland","Kroatien",
					"Ungarn","Irland","Israel","Island","Italien","Liechtenstein","Litauen","Luxemburg","Lettland",
					"Monaco","Montenegro","Mazedonien","Malta","Mauritius","Niederlande","Norwegen","Polen","Portugal",
					"Rumänien","Serbien","Schweden","Slowenien","Slowakei","San Marino","Tunesien","Türkei");
// error messages
var altxt =		new Array (	"Die IBAN enthält unzulässige Zeichen.",
					"Die Struktur der IBAN ist falsch.",
					"Die Prüfziffern der IBAN sind falsch.",
					"Die Länge der IBAN kann nicht geprüft werden, weil "," zur Zeit nicht berücksichtigt ist.",
					"Die Länge der IBAN ist falsch. Die IBAN für "," muss "," Zeichen lang sein.",
					"Die IBAN scheint korrekt zu sein.",
					"Die IBAN ist nicht korrekt.");
// additional explanations
var xpltxt =	new Array (	"IE Irland kann für GB Großbritannien Konten benutzt werden im Fall, dass die servisierende "+
					"Bank in Nord Irland situiert ist und das Clearingsystem Irlands benutzt; GG Guernsey und "+
					"JE Jersey benutzen entweder GB Großbritannien oder FR Frankreich abhängig vom Clearingsystem, "+
					"das die servisierende Bank benutzt; GF Französisch Guyana, GP Guadeloupe, MQ Martinique und "+
					"RE Réunion benutzen FR Frankreich und unterliegen der EU-Regulative 2560/2001; NC Neu Kaledonien, "+
					"PF Französisch Polynesien, PM Saint Pierre und Miquelon, TF Südfranzösische Territorien, "+
					"WF Wallis und Futuna und YT Mayotte benutzen FR Frankreich; ES Spanien inkludiert die "+
					"Kanarischen Inseln, Ceuta und Melilla; PT Portugal inkludiert die Azoren und Madeira");
// web page
var wptxt =		new Array (	1,"Bei folgenden Länder (geordnet nach Länderkode) wird zur Zeit die zusätzliche Längenprüfung berücksichtigt:",
					"letzte Änderung: "," Unterliegt","unterliegt nicht","Testen einer gegebenen IBAN.","Druckform"
					,"Elektronische Form","Länge: ","Beispiel: ");
// deutsch ++++++++++++++++++++++++++++++++++++++++
// english ++++++++++++++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"Andorra","Austria","Bosnia and Herzegovina","Belgium","Bulgaria","Switzerland",
					"Cyprus","Czech Republic","Germany","Denmark","Estonia","Spain","Finland",
					"Faroe Islands","France","Great Britain","Gibraltar","Greenland","Greece","Croatia",
					"Hungary","Ireland","Israel","Iceland","Italy","Liechtenstein","Lithuania","Luxemburg","Latvia",
					"Monaco","Montenegro","Macedonia","Malta","Mauritius","Netherlands","Norway","Poland","Portugal",
					"Romania","Serbia","Sweden","Slovenia","Slovak Republic","San Marino","Tunisia","Turkey"));
// error messages
altxt = altxt.concat		( new Array (	"The IBAN contains illegal characters.",
					"The structure of IBAN is wrong.",
					"The check digits of IBAN are wrong.",
					"Can not check correct length of IBAN because "," is currently not respected.",
					"The length of IBAN is wrong. The IBAN of "," needs to be "," characters long.",
					"The IBAN seems to be correct.",
					"The IBAN is incorrect."));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"IE Ireland may be used for GB Great Britain accounts in case the servicing bank is situated "+
					"in North Ireland and uses the clearing system of the Republic of Ireland; GG Guernsey and JE Jersey "+
					"are using either GB Great Britain or FR France depending on the clearing system used by the "+
					"servicing bank; GF French Guiana, GP Guadeloupe, MQ Martinique and RE RĂŠunion are using FR France "+
					"and EU REGULATION 2560/2001 applies; NC New Caledonia, PF French Polynesia, PM Saint Pierre and "+
					"Miquelon, TF French Southern Territories, WF Wallis and Futuna and YT Mayotte are using FR France; "+
					"ES Spain includes Canary Islands, Ceuta and Melilla; "+
					"PT Portugal includes Azores and Madeira"));
// web page
wptxt = wptxt.concat		( new Array (	0,"Currently the additional length check of following countries is respected (ordered by country code):",
					"last update: ","applies","applies not ","Test of a given IBAN.","Print form",
					"Electronic form","Length: ","Example: "));
// english ++++++++++++++++++++++++++++++++++++++++
// italiano +++++++++++++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"Andorra","Austria","Bosnia e Herzegovina","Belgio","Bulgarěa","Svizzera",
					"Cipro","Repubblica Ceca","Germania","Danimarca","Estonia","Spagna","Finlandia",
					"Isole Faroe","Francia","Gran Bretagna","Gibilterra","Groenlandia","Grecia","Croazia",
					"Ungheria","Irlanda","Israel","Islanda","Italia","Liechtenstein","Lituania","Lussemburgo","Lettonia",
					"Monaco","Montenegro","Macedonia","Malta","Mauritius","Paesi Bassi","Norvegia","Polonia","Portogallo",
					"Romania","Serbia","Svezia","Slovenia","Slovacchia","San Marino","Tunisia","Turchia"));
// error messages
altxt = altxt.concat		( new Array (	"L'IBAN contiene caratteri non ammessi.",
					"La struttura dell'IBAN č errata.",
					"Il check digit dell'IBAN č errato.",
					"Non č possibile verificare l'IBAN perchč "," non č attualmente inventariato.",
					"La lunghezza dell'IBAN č errata. L' IBAN di "," deve avere lunghezza di "," caratteri.",
					"L'IBAN risulta essere esatto.",
					"L'IBAN non č esatto."));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"IE Irlanda puň essere usata per conti di GB Gran Bretagna se la banca amministrante č "+
					"localizzata in Irlanda del Nord e usa il clearing della Repubblica di Irlanda; GG Guernsey e "+
					"JE Jersey usano sia GB Gran Bretagna oppure FR Francia in relazione a quale clearing viene "+
					"usato dalla banca che amministra il conto; GF Guyana Francese, GP Guadalupa, MQ Martinica e RE "+
					"Isole Riunione usano FR Francia e adottano il Regolamento 2560/2001; NC Nuova Caledonia, PF "+
					"Polinesia Francese, PM Saint-Pierre e Miquelon, TF Territori Francesi di Oltremare, WF Wallis e "+
					"Futuna e YT Mayotte usano FR Francia; ES Spagna comprende Isole Canarie, Ceuta e Melilla; PT "+
					"Portogallo comprende Isole Azzorre e Madeira"));
// web page
wptxt = wptxt.concat		( new Array (	1,"Attualmente il controllo aggiuntivo di lunghezza per i seguenti paesi č rispettato (ordinamento"+
					" per Codice Paese):","ultimo aggiornamento: "," Adottano","non adottano ","Test del Codice IBAN.",
					"Formato esteso","Formato elettronico","Lunghezza: ","Esempio: "));
// italiano +++++++++++++++++++++++++++++++++++++++
// norsk ++++++++++++++++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"Andorra","Řsterrike","Bosnia og Herzegovina","Belgia","Bulgaria","Sveits",
					"Kypros","Tsjekkia","Tyskland","Danmark","Estland","Spania","Finland",
					"Fćrřyene","Frankrike","Storbritannia","Gibraltar","Grřnland","Hellas","Kroatia",
					"Ungarn","Irland","Israel","Island","Italia","Liechtenstein","Litauen","Luxemburg","Latvia",
					"Monaco","Montenegro","Makedonia","Malta","Mauritius","Nederland","Norge","Polen","Portugal",
					"Romania","Serbia","Sverige","Slovenia","Slovakia","San Marino","Tunis","Tyrkia"));
// error messages
altxt = altxt.concat		( new Array (	"IBAN inneholder ugyldige karakterer.",
					"IBAN-strukturen er feil.",
					"Kontrollsifferene i IBAN er feil.",
					"Kan ikke sjekke korrekt lengde pĺ IBAN fordi "," p.t ikke er dekket.",
					"Lengden pĺ IBAN er feil. IBAN fra "," mĺ vćre pĺ "," karakterer.",
					"IBAN ser ut til ĺ vćre korrekt.",
					"IBAN er feil."));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"IE Irland kan benyttes for konti i GB Storbritannia dersom servicebanken er lokalisert i "+
					"Nord-Irland og benytter avregningssentralen i Den Irske Republikk; GG Guernsey og JE Jersey "+
					"bruker enten GB Storbritannia eller FR Frankrike avhengig av avregningssentralen benyttet av "+
					"servicebanken; GF Fransk Guiana, GP Guadeloupe, MQ Martinique og RE Réunion benytter FR "+
					"Frankrike og dekkes av EU REGULATIV 2560/2001; NC Ny-Caledonia, PF Fransk Polynesia, PM Saint "+
					"Pierre og Miquelon, TF Franske Sřrlige Territorier, WF Wallis og  Futunařyene og YT Mayotte "+
					"benytter FR Frankrike; ES Spaina inkluderer Kanariřyene, Ceuta og Melilla; PT Portugal "+
					"inkluderer Azorene og Madeira"));
// web page
wptxt = wptxt.concat		( new Array (	0,"P.t. střttes i tillegg lengden for fřlgende land (angitt ved landkode):",
					"sist oppdatert: ","anvendes","anvendes ikke ","Test av en gitt IBAN.","Utskrift format",
					"Elektronisk format","Lengde: ","Eksempel: "));
// norsk ++++++++++++++++++++++++++++++++++++++++++
// french +++++++++++++++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"Andorre","Autriche","Bosnie et Herzégovine","Belgique","Bulgarie","Suisse",
					"Chypre","République Tchčque","Allemagne","Danemark","Estonie","Espagne","Finlande",
					"Îles Féroé","France","Grande Bretagne","Gibraltar","Groenland","Grčce","Croatie",
					"Hongrie","Irlande","Israel","Islande","Italie","Liechtenstein","Lithuanie","Luxembourg","Lettonie",
					"Monaco","Monténégro","Macédoine","Malte","Île Maurice","Pays-Bas","Norvčge","Pologne","Portugal",
					"Roumanie","Serbie","Sučde","Slovénie","République Slovaquie","San Marino","Tunisie","Turquie"));
// error messages
altxt = altxt.concat		( new Array (	"L'IBAN contient des caractčres non autorisés.",
					"La structure de l'IBAN est incorrecte.",
					"La clé numérique de l'IBAN est erronnée.",
					"La longueur fixe de l'IBAN n'a pas pu ętre vérifiée parceque "," n'est actuellement pas respectée.",
					"La longueur de l'IBAN est incorrecte. Les IBANs "," doivent avoir une longueur de "," caractčres.",
					"L'IBAN semble correct.","L'IBAN est incorect."));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"Le code IE Irlande peut ętre utilise pour des comptes GB Grande Bretagne dans le cas oů la "+
					"banque qui tient le compte est située en Irlande du Nord et utilise le systčme d'échange de la "+
					"République d'Irlande; GG Guernesey and JE Jersey utilisent soit GB Grande Bretagne soit FR France "+
					"suivant le systčme d'échange utilisé par la banque qui tient le compte; GF Guyane Française, "+
					"GP Guadeloupe, MQ Martinique et RE Réunion utilisent FR France and le Rčglement européen "+
					"2560/2001 s'applique; NC Nouvelle Calédonie, PF Polynésie Française, PM Saint Pierre et "+
					"Miquelon, TF Terres Australes Françaises, WF Wallis et Futuna et YT Mayotte utilisent FR France; "+
					"ES Espagne inclut les Îles Canaries, Ceuta et Melilla; PT Portugal inclut les Açores et Madčre"));
// web page
wptxt = wptxt.concat		( new Array (	0,"Actuellement le contrôle additionnel de la longueur pour les pays suivants est respecté"+
					" (classé par code pays):","derničre mise ŕ jour: ","s'applique","ne s'applique pas ","Test d'un IBAN.",
					"Représentation Papier","Représentation électronique","Longueur: ","Exemple: "));
// french +++++++++++++++++++++++++++++++++++++++++
// polski +++++++++++++++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"Andorra","Austria","Bosnia i Herzegowina","Belgia","Bulgaria","Szwajcaria",
					"Cypr","Czechy","Niemcy","Dania","Estonia","Hiszpania","Finlandia",
					"Wyspy Feroe","Francja","Wielka Brytania","Gibraltar","Grenlandia","Grecja","Chorwacja",
					"Wegry","Irlandia","Israel","Islandia","Wlochy","Liechtenstein","Litwa","Luxemburg","Lotwa",
					"Monaco","Czarnogora","Macedonia","Malta","Mauritius","Holandia","Norwegia","Polska","Portugalia",
					"Rumunia","Serbia","Szwecja","Slowenia","Slowacja","San Marino","Tunezja","Turcja"));
// error messages
altxt = altxt.concat		( new Array (	"IBAN zawiera nieprawidlowe znaki.",
					"Struktura IBAN'u jest bledna.",
					"Cyfry kontrolne IBAN'u sa bledne.",
					"Dlugosc IBAN'u nie moze zostac sprawdzona, poniewaz "," czasowo nie jest uwzgledniona.",
					"Dlugosc IBAN'u jest bledna. IBAN dla "," musi miec "," miejsc.",
					"IBAN wyglada na prawidlowy.",
					"IBAN jest nieprawidlowy."));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"IE Irlandii moze zostac uzyty dla kont Wielkiej Brytanii w przypadku, gdy serwisujacy "+
					"bank znajduje sie w Irlandii Polnocnej i uzywa clearing system´u Irlandii; GG Guernesey "+
					"i JE Jersey uzywaja albo GB Wielkiej Brytanii lub FR Francji uzaleznione jest to od "+
					"clearing system´u  uzywanego przez bank serwisujacy; GF Gujana Francuska, GP Guadelupa, "+
					"MQ Martynika i RE Réunion uzywaja FR Francji i podlegaja rozporzadzeniu UE 2560/2001; NC "+
					"Nowa Kaledonia, PF Polinezja Francuska, PM Saint Pierre et Miquelon, TF Francuskie Terytoria "+
					"Poludniowe, WF Wallis i Futuna i YT Mayotte uzywaja FR Francji; ES Hiszpanii zawiera "+
					"Wyspy Kanaryjskie, Ceuta i Melilla; PT Portugalii zawiera Azory i Madere"));
// web page
wptxt = wptxt.concat		( new Array (	0,"W nastepujacych krajach (wg kodu danego panstwa) jest uwzgledniona czasowo kontrola jego dlugosci:",
					"ostatnia zmiana: ","podlega","nie podlega ","Test danego IBAN´u.","W formie druku",
					"Forma elektroniczna","Dlugosc: ","Przyklad: "));
// polski +++++++++++++++++++++++++++++++++++++++++
// romanian +++++++++++++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"Andora","Austria","Bosnia Hertegovina","Belgia","Bulgaria","Elvetia",
					"Cipru","Republica Cehia","Germania","Danemarka","Estonia","Spania","Finlanda",
					"Insulele Faroe","Franta","Marea Britanie","Gibraltar","Groenlanda","Grecia","Croatia",
					"Ungaria","Irlanda","Israel","Islanda","Italia","Liechtenstein","Lituania","Luxemburg","Letonia",
					"Monaco","Montenegro","Macedonia","Malta","Mauritania","Olanda","Norvegia","Polonia","Portugalia",
					"Romania","Serbia","Suedia","Slovenia","Republica Slovacia","San Marino","Tunisia","Turcia"));
// error messages
altxt = altxt.concat		( new Array (	"Codul IBAN contine caractere ilegale.",
					"Structura codului IBAN este gresita.",
					"Cifrele de control din codul IBAN sunt gresite.",
					"Nu se poate virifica lungimea corecta a codului IBAN deoarece "," nu este inca suportat.",
					"Lungimea codului IBAN este gesita. Codul IBAN din "," trebuie sa aiba lungimea de "," caractere.",
					"Codul IBAN pare sa fie corect.",
					"Codul IBAN este incorect."));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"IE Irlanda poate fi utilizat pentru conturi din GB Marea Britanie in cazul in care banca este situata "+
					"Irlanda de Nord si utilizeaza sistemul de decontari al Republicii Irlanda; GG Guernsey si JE Jersey "+
					"utilizeaza fie GB Marea Britanie sau FR Franta in functie de sistemul de decontari utilizat de "+
					"banca respectiva; GF Guiana Franceza, GP Guadeloupe, MQ Martinique si RE Réunion utilizeaza FR Franta "+
					"si se aplica REGULATMENTUL EU 2560/2001; NC Noua Caledonie, PF Polinezia Franceza, PM Saint Pierre si "+
					"Miquelon, TF Teritoriile Australe Franceze, WF Wallis si Futuna si YT Mayotte utilizeaza FR Franta; "+
					"ES Spania include Insulele Canare, Ceuta si Melilla; PT Portugalia include Insulele Azore si Madeira"));
// web page
wptxt = wptxt.concat		( new Array (	0,"In prezent se respecta verificarea aditionala a lungimii codului pentru urmatoarele tari"+
					" (ordonate dupa codul tarii):","ultima actualizare: ","se aplica","nu se aplica ","Verificarea unui cod IBAN.",
					"Forma tiparita","Forma electronica","Lungimea: ","Exemplu: "));
// romanian +++++++++++++++++++++++++++++++++++++++
// srpski +++++++++++++++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"Andora","Austrija","Bosna i Hercegovina","Belgija","Bugarska","vajcarska",
					"Kipar","Ceka Republika","Nemacka","Danska","Estonija","panija","Finska",
					"Farska ostrva","Francuska","Velika Britanija","Gibraltar","Grenland","Grcka","Hrvatska",
					"Madarska","Irska","Izrael","Island","Italija","Lihtentajn","Litvanija","Luksemburg","Letonija",
					"Monako","Crna Gora","Makedonija","Malta","Mauricijus","Holandija","Norveka","Poljska","Portugal",
					"Rumunija","Srbija","vedska","Slovenija","Slovacka Republika","San Marino","Tunis","Turska"));
// error messages
altxt = altxt.concat		( new Array (	"IBAN sadri nedozvoljene karaktere.",
					"Struktura IBAN-a je pogrena.",
					"Kontrolne cifre IBAN-a su pogrene.",
					"Ne moe se proveriti tacna duina IBAN-a jer "," se trenutno ne proverava.",
					"Duina IBAN-a je pogrena. IBAN "," treba da bude "," karaktera dug.",
					"IBAN izgleda kao tacan.",
					"IBAN je netacan."));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"IE Irska moe biti koricen za racune GB Velika Britanija u slucaju da je usluna banka u Severnoj Irskoj "+
					"i da koristi kliring sistem Republike Irske; GG Gernsi i JE Dersi koriste ili GB Velika Britanija ili "+
					"FR Francuska u zavisnosti od kliring sistema koji koristi usluna banka; GF Francuska Gvajana, "+
					"GP Gvadelupe, MQ Martinik i RE Reunion koriste FR Francuska i EU Propis 2560/2001 se primenjuje; "+
					"NC Nova Kaledonija, PF Francuska Polinezija, PM Sent-Pijer i Mikelon, "+
					"TF Francuske June Teritorije, WF Valis i Futuna i YT Majot koriste  FR Francuska; "+
					"ES panija ukljucuje Kanarska ostrva, Seutu i Melilju; PT Portugal ukljucuje Azore i Madeiru"));
// web page
wptxt = wptxt.concat		( new Array (	0,"Trenutno se obavlja dodatna provera duine IBAN koda sledecih zemalja (redosled po kodu zemlje):",
					"poslednja promena: ","se primenjuje","se ne primenjuje ","Provera zadatog IBAN-a.","tampani oblik",
					"Elektronski oblik","Duina: ","Primer: "));
// srpski +++++++++++++++++++++++++++++++++++++++++
// ????????? bulgarian ++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"??????","???????","????? ? ???????????","??????","????????","?????????",
					"?????","?????","????????","?????","???????","???????","?????????",
					"????????? ?????","???????","??????????????","?????????","??????????","??????","?????????",
					"???????","????????","??????","????????","??????","??????????","?????","??????????","??????",
					"??????","????? ????","?????????","?????","??????????","????????","????????","?????","??????????",
					"???????","??????","??????","????????","?????????? ?????????","??? ??????","?????","??????"));
// error messages
altxt = altxt.concat		( new Array (	"IBAN ????? ??????? ??????????? ???????.",
					"??????????? ?? IBAN ???? ? ??????.",
					"?????????? ?? ???????? ?? IBAN ???? ? ??????.",
					"?? ???? ?? ?? ??????? ?????????? ??????? ?? IBAN ???? ?????? "," ?????? ?? ?? ????????.",
					"????????? ?? IBAN ???? ? ??????. IBAN ????? ?? "," ?????? ?? ???? ????? "," ???????.",
					"????????, ?? IBAN ????? ? ???????.",
					"IBAN ????? ? ?????????."));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"IE ???????? ???? ?? ???? ???????? ? ????????? ??????, ? ?????? ?? ???????????? ????? ?? ?????? ? ??????? ????????"+
					" ? ???????? ???????? ????????? ?? ????????? ????????; GG ?????? ? JE ?????? ????????? ???? GB ?????????????? ???? "+
					"FR ???????, ? ?????????? ?? ???????? ????????? ?????????? ?? ???????????? ?????; GF ??????? ??????, GP ?????????, "+
					"MQ ????????? ? RE ?????? ??????? ????????? FR ??????? ? ?? ???????? ??????????? ?? EU 2560/2001; NC ???? ?????????"+
					", PF ??????? ?????????, PM ???? ???? ? ???????, TF ????????? ???? ?????????, WF ????? ? ??????  ????????? FR "+
					"???????; ES ??????? ??????? ?????????? ???????, ????? ? ??????; PT ?????????? ??????? ????????? ??????? ? ???????"));
// web page
wptxt = wptxt.concat		( new Array (	0,"?? ??????? ?? ???????? ???????? ?? ??????? ?? ???????? ??????? (????????? ?? ??? ?? ?????????):",
					"???????? ???????: ","??????? ??","?? ?? ??????? ","???????? ?? ????? IBAN ???.","??????? ???",
					"?????????? ?????","???????: ","??????e: "));
// ????????? bulgarian ++++++++++++++++++++++++++++
// slovencina ++++++++++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"Andora","Avstrija","Bosna in Hercegovina","Belgija","Bolgarija","vica","Ciper",
					"Ceka republika","Nemcija","Danska","Estonija","panija","Finska","Farojski otoki",
					"Francija","Velika Britanija","Gibraltar","Greenland","Grcija","Hrvaka","Mdarska","Irska",
					"Izrael","Island","Italija","Liechtenstein","Litva","Luksemburg","Latvija","Monako","Crna Gora",
					"Makedonija","Malta","Mauricius","Nizozemska","Noveka","Polska","Portugalska","Romunija",
					"Srbija","vedska","Slovenija","Slovaka republika","San Marino","Tunizija","Turcija"));
// error messages
altxt = altxt.concat		( new Array (	"IBAN vsebuje nedovoljene znake.",
					"Struktura IBANa je napacna.",
					"Kontrolna tevilka IBANa je napacna.",
					"Ne da se preveriti pravilne doline IBANa, ker "," trenutno ni upotevana.",
					"Napacna dolina IBANa. IBAN za dravo '","' mora biti dolg "," znakov.",
					"IBAN izgleda pravilen.",
					"IBAN je napacen."));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"IE Irska se lahko uporablja za GB Velika Britanija racune, v primeru ko se banka nahaja "+
					"na Severnem Irskem in uporablja klirinki sistem Republike Irske; GG Guernsey in JE Jersey "+
					"uporabljata ali GB Velika Britanija ali pa FR Francija, odvisno na klirinki sistem ki ga uporablja "+
					"banka; GF Francoska Gvajana, GP Guadeloupe, MQ Martinique in RE Réunion uporabljajo FR Francija "+
					"in zanje velja EU ODREDBA 2560/2001; NC Nova Kaledonija, PF Francoska Polinezija, PM Saint Pierre in "+
					"Miquelon, TF Francoski juni teritoriji, WF Wallis in Futuna and YT Mayotte uporabljajo FR Francija; "+
					"ES panija vkljucuje Kanarske otoke, Ceuto in Melilo; PT Portugalska vkljucuje Azore in Madeiro"));
// web page / spletna stran
wptxt = wptxt.concat		( new Array (	0,"Trenutno je dodatno preverjanje doline mono za deele (urejeno po kodi deele):",
					"zadnji popravek: ","velja","ne velja ","Prevegi IBAN.","Izpii",
					"Elektronski obrazec","Dolina: ","Primer: "));
// slovencina ++++++++++++++++++++++++++++++++++++
// nederlands +++++++++++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"Andorra","Oostenrijk","Bosnië en Herzegovina","België","Bulgarije","Zwitserland",
					"Cyprus","Tsjechië","Duitsland","Denemarken","Estland","Spanje","Finland",
					"Faeröer","Frankrijk","Groot-Brittannië","Gibraltar","Groenland","Griekenland","Kroatië",
					"Hongarije","Ierland","Israël","IJsland","Italië","Liechtenstein","Litouwen","Luxemburg","Letland",
					"Monaco","Montenegro","Macedonië","Malta","Mauritius","Nederland","Noorwegen","Polen","Portugal",
					"Roemenië","Servië","Zweden","Slovenië","Slowakije","San Marino","Tunesië","Turkije"));
// error messages
altxt = altxt.concat		( new Array (	"De IBAN bevat ongeldige tekens.",
					"De structuur van de IBAN is foutief.",
					"Het controlegetal van de IBAN is foutief.",
					"Kan de correcte lengte van de IBAN niet controleren omdat "," momenteel niet wordt ondersteund.",
					"De lengte van de IBAN is foutief. De IBAN van "," moet "," tekens lang zijn.",
					"De IBAN schijnt correct te zijn.",
					"De IBAN is niet correct."));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"IE Ierland kan voor GB Groot-Brittannië rekeningen worden gebruikt indien de servicing bank is gesitueerd "+
					"in Noord-Ierland en het clearing system van de Ierse Republiek wordt gebruikt; GG Guernsey en JE Jersey "+
					"gebruiken ofwel GB Groot-Brittannië, ofwel FR Frankrijk afhankelijk van het door de servicing bank "+
					"gebruikte clearing system; GF Frans-Guyana, GP Guadeloupe, MQ Martinique en RE Réunion gebruiken FR Frankrijk "+
					"en EU Regulering 2560/2001 is van toepassing; NC Nieuw-Caledonië, PF Frans-Polynesië, PM Saint-Pierre en "+
					"Miquelon, TF Franse Zuidelijke Gebieden, WF Wallis en Futuna en YT Mayotte gebruiken FR Frankrijk; "+
					"ES Spanje is inclusief Canarische Eilanden, Ceuta en Melilla; "+
					"PT Portugal is inclusief Azoren en Madeira"));
// web page
wptxt = wptxt.concat		( new Array (	0,"Momenteel de extra controle op lengte van de volgende landen wordt ondersteund (geordend op landcode):",
					"laatste aanpassing: ","van toepassing","niet van toepassing ","Test een ingegeven IBAN.","Gedrukte vorm",
					"Elektronische vorm","Lengte: ","Voorbeeld: "));
// nederlands +++++++++++++++++++++++++++++++++++++
// russian ++++++++++++++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"??????","???????","?????? ? ???????????","???????","????????","?????????",
					"????","?????","????????","?????","???????","???????","?????????",
					"????????? ???????","???????","??????????????","?????????","??????????","??????","????????",
					"???????","????????","???????","????????","??????","???????????","?????","??????????","??????",
					"??????","??????????","?????????","??????","????????","??????????","????????","??????","??????????",
					"???????","??????","??????","????????","????????","??? ??????","?????","??????"));
// error messages
altxt = altxt.concat		( new Array (	"IBAN ???????? ???????????? ???????.",
					"???????????? ????????? IBAN.",
					"?? ????? ??????????? ????? IBAN.",
					"?????????? ????????? ??????????? ????? IBAN, ?????? ??? "," ?? ?????? ????? ?? ??????????????.",
					"????? IBAN ?? ?????. IBAN ??? ?????? "," ?????? ???? "," ????????.",
					"IBAN ?????? ????? ?????????? (????????????? ?????????).",
					"IBAN ????????????."));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"IE ???????? ????? ?????????????? ??? ?????? GB ??????????????, ? ?????? ???? ????????????? ???? ?????????? ? ???????? "+
					"???????? ? ?????????? ??????????? ??????? ????????? ????????; GG ?????? ? JE ?????? ?????????? ??? ??? GB ??????????????"+
					" ??? ??? FR ???????, ? ??????????? ?? ??????????? ???????, ??????? ?????????? ????????????? ????; GF ??????????? ??????, "+
					"GP ?????????, MQ ????????? ? RE ?????? ??????? ?????????? ??? FR ??????? ? ????????? ????????? EU 2560/2001; NC ????? "+
					"?????????, PF ??????????? ?????????, PM ????-???? ? ???????, TF ??????????? ????? ??????????, WF ?????? ? ?????? ??????????"+
					" ??? FR ???????; ES ??????? ???????? ????????? ???????, ????? ? ???????; PT ?????????? ???????? ???????? ??????? ? ???????"));
// web page
wptxt = wptxt.concat		( new Array (	0,"?? ?????? ????? ?????????????? ???????? ????? IBAN ?????????????? ??? ????????? ????? (????????????? ?? ???? ??????):",
					"????????? ??????????: ","?????????? ????????????????","?????????? ?? ???????????????? ",
					"???????? ????????? IBAN.","???????? ??????", "??????????? ??????","????? ????? IBAN:","?????? IBAN: "));
// russian ++++++++++++++++++++++++++++++++++++++++
// magyar +++++++++++++++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"Andorra","Ausztria","Bosznia és Herzegovina","Belgium","Bulgária","Svájc",
					"Ciprus","Csehország","Németország","Dánia","Észtország","Spanyolország","Finnország",
					"Feröer","Franciaország","Nagy-Britannia","Gibraltár","Grönland","Görögország","Horvátország",
					"Magyarország","Írország","Izrael","Izland","Olaszország","Liechtenstein","Litvánia","Luxemburg","Lettország",
					"Monaco","Montenegro","Macedónia","Málta","Mauritius","Hollandia","Norvégia","Lengyelország","Portugália",
					"Románia","Szerbia","Svédország","Szlovénia","Szlovákia","San Marino","Tunézia","Törökország"));
// error messages
altxt = altxt.concat		( new Array (	"Az IBAN kód helytelen jeleket tartalmaz.",
					"Az IBAN kód struktúrája hibás.",
					"Az IBAN kód ellenörzo száma téves.",
					"Az IBAN kód hosszusága nem ellenörizheto, mert "," jelenleg nincs figyelembevéve.",
					"Az IBAN kód hossza nem megfelelo. A "," IBAN kódja "," jel hosszúságú legyen.",
					"Az IBAN kód nem hibás.",
					"Az IBAN kód hibás."));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"IE Írorszag kód olyan nagy-britanniai (GB) számlák esetén hasznalható, amikor a szolgáltató bank "+
					"Észak-Írországban található és Írország Clearingsystem-ét használja; GG Guernsey és JE Jersey vagy "+
					"GB Großbritannien vagy FR Frankreich kódot használják a szolgáltató bank Clearingsystem-jétöl függoen; "+
					"GF Francia Guyana, GP Guadeloupe, MQ Martinique és RE Réunion az FR franciaországi kódot "+
					"használják és a 2560/2001-es EU szabályzat alá tartoznak; NC Új Kaledonien, "+
					"PF Francia Polinézia, PM Saint Pierre és Miquelon, TF Francia Déli Területek, "+
					"WF Wallis és Futuna és YT Mayotte a FR Franciaországi kódot használják; ES Spanyolország kód magába foglalja a "+
					"Kanári-Szigeteket, Ceuta-t és Melilla-t; PT Portugália kód magába foglalja az Azori- és Madeira-szigeteket"));
// web page
wptxt = wptxt.concat		( new Array (	1,"A következö országoknál (országkód szerint rendezve) jelenleg a további hosszúsági ellenörzést"+
					" veszik figyelembe:","utolsó változtatás: "," alá tartozik","nem tartozik alá","Egy adott IBAN kód tesztelése.",
					"Nyomtatásikép","Elektronikus forma","Hossz: ","Példa: "));
// magyar +++++++++++++++++++++++++++++++++++++++++
// lietuviu +++++++++++++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"Andoroje","Austrijoje","Bosnijoje ir Hercegovinoje","Belgijoje","Bulgarijoje","veicarijoje","Kipre",
					"Cekijos Respublikoje","Vokietijoje","Danijoje","Estijoje","Ispanijoje","Suomijoje","Fareru Salose",
					"Prancuzijoje","Didiojoje Britanijoje","Gibraltare","Grenlandijoje","Graikijoje","Kroatijoje","Vengrijoje",
					"Airijoje","Izraelyje","Islandijoje","Italijoje","Lichtenteine","Lietuvoje","Liuksemburge","Latvijoje","Monake",
					"Juodkalnijoje","Makedonijoje","Maltoje","Mauricijuje","Olandijoje","Norvegijoje","Lenkijoje","Portugalijoje",
					"Rumunijoje","Serbijoje","vedijoje","Slovenijoje","Slovakijos Respublikoje","San Marine","Tunise","Turkijoje"));
// error messages
altxt = altxt.concat		( new Array (	"IBAN kodas sudarytas i neleistinu simboliu.",
					"Neteisinga IBAN kodo struktura.",
					"Neteisinga IBAN kodo kontroline suma.",
					"Neimanoma patikrinti IBAN kodo teisingumo, kadangi apie IBAN "," iuo metu nera duomenu.",
					"Neteisingas IBAN kodo ilgis. IBAN kodas "," susideda i "," simboliu.",
					"IBAN kodas, atrodo, yra teisingas.",
					"IBAN kodas yra neteisingas."));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"GB Didioji Britanija gali naudoti IE Airijos koda savo saskaitose, jei aptarnaujantis bankas yra "+
					"iaures Airijoje ir naudoja Airijos Respublikos kliringo sistema; GG Gernsis ir JE Dersis naudoja "+
					"arba GB Didiosios Britanijos, arba FR Prancuzijos koda, priklausomai nuo kliringo sistemos, kuria "+
					"naudoja aptarnaujantis bankas; GF Prancuzijos Gviana, GP Gvadelupa, MQ Martinika ir RE Reunjonas "+
					"naudoja FR Prancuzijos koda bei taiko Europos Parlamento ir Tarybos reglamenta (EB) Nr. 2560/2001; "+
					"NC Naujoji Kaledonija, PF Prancuzijos Polinezija, PM Sen Pjeras ir Mikelonas, TF Prancuzijos Pietu "+
					"Sritys, WF Volis ir Futuna bei YT Majotas naudoja FR Prancuzijos koda; ES Ispanija apima Kanaru "+
					"salas, Seuta ir Melilija; PT Portugalija apima Azoru ir Madeiros salas"));
// web page
wptxt = wptxt.concat		( new Array (	0,"iuo metu papildomas IBAN kodo ilgio patikrinimas galimas ioms alims (suruiuota pagal "+
					"alies koda):","paskutinis atnaujinimas: ","taikomas","netaikomas ","IBAN kodo patikrinimas","Versija spausdinimui",
					"Elektronine versija","IBAN ilgis: ","IBAN pavyzdys: "));
// lietuviu +++++++++++++++++++++++++++++++++++++++
// türkçe +++++++++++++++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"Andorra","Avusturya","Bosna Hersek","Belçika","Bulgaristan","Isviçre","Kibris","Çekoslovakya",
					"Almanya","Danimarka","Estonya","Ispanya","Finlandiya","Faroe Adalari","Fransa","Büyük Britanya","Cebelitarik",
					"Grönland","Yunanistan","Hirvatistan","Macaristan","Irlanda","Israil","Izlanda","Italya","Lihtenstayn",
					"Litvanya","Lüksemburg","Letonya","Monako","Karadag","Makedonya","Malta","Mauritius Adasi","Hollanda","Norveç",
					"Polonya","Portekiz","Romanya","Sirbistan","Isveç","Slovenya","Slovakya","San Marino","Tunus","Türkiye"));
// error messages
altxt = altxt.concat		( new Array (	"IBAN numarasi geçersiz karakterler kapsamaktadir.",
					"IBAN numarasinin düzeni yanlistir.",
					"IBAN denetim sayilari yanlistir.",
					"IBAN numarasinin uzunlugu kontrol edilememektedir, çünkü","tanimlanamamaktadir.",
					"IBAN numarasinin uzunlugu yanlistir. "," IBAN numarasi "," karakter uzunlugunda olmalidir.",
					"IBAN numarasi dogru gözükmektedir.",
					"IBAN numarasi yanlistir."));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"IE Irlanda, servis saglayan bankanin Kuzey Irlanda da bulundugu ve Irlanda Cumhuriyetinin kliring "+
					"sisteminin kullandigi durumlarda, GB Büyük Britanya hesaplari için kullanilabilir. GB Büyük Britanya "+
					"veya FR Fransa, servis saglayan bankanin kullandigi kliring sistemine göre GG Guernsey ve JE Jersey "+
					"için kullanilabilir. GF Fransiz Guyanasi, GP Guadelup adalari, MQ Martinique adasi, RE Reunion "+
					"adasi için FR Fransa kodu kullanilir ve Avrupa Toplulugu 2560/2001 yönetmeligi uygulanir. NC Yeni "+
					"Kaledonya, PF Fransiz Polinezyasi, PM San Piyer ve Mikelon, TF Fransanin Avusturalya ve Antartika "+
					"topraklari, WF Wallis ve Futuna, YT Mayotte için FR Fransa kodu kullanilir. ES Ispanya kodu "+
					"Kanarya Adalari, Ceuta ve Melillayi kapsar. PT Portekiz kodu Azores ve Madeirayi kapsar."));
// web page
wptxt = wptxt.concat		( new Array (	0,"Su anda asagidaki ülkeler için kod uzunluk kontrolü yapilabilir. (Ülke koduna göre siralanmistir.)",
					"son güncelleme:","uygulanir","uygulanamaz ","IBAN numarasi kontrolü.","Formu yazdir",
					"Elektronik form","Uzunluk:","Örnek:"));
// türkçe +++++++++++++++++++++++++++++++++++++++++
// catalŕ +++++++++++++++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"Andorra","Ŕustria","Bňsnia i Hercegovina","Bčlgica","Bulgŕria","Suďssa","Xipre","Txeca, República",
					"Alemanya","Dinamarca","Estňnia","Espanya","Finlŕndia","Fčroe, illes","França","Gran Bretanya","Gibraltar",
					"Groenlŕndia","Grčcia","Croŕcia","Hungria","Irlanda","Israel","Islŕndia","Itŕlia","Liechtenstein","Lituŕnia",
					"Luxemburg","Letňnia","Mňnaco","Montenegro","Macedňnia","Malta","Mauritŕnia","Netherlands","Noruega","Polňnia",
					"Portugal","Romania","Sčrbia","Sučcia","Eslovčnia","Eslovŕquia","San Marino","Tunísia","Turquia"));
// error messages
altxt = altxt.concat		( new Array (	"L'IBAN conté caracters incorrectes.",
					"La estructura de l'IBAN es errňnia.",
					"Els dígits de control de l'IBAN son incorrectes.",
					"No es pot validar la longitud de l'IBAN puix "," encara no es respectat.",
					"La longitud de l'IBAN és incoreecte. L'IBAN de "," ha d'ésser "," caracters.",
					"L'IBAN sembla correcte.",
					"L'IBAN es incorrecte."));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"IE Irlanda s'ha de fer servir per comptes de GB Gran Bretanya en els serveis bancaris situats a "+
					"Irlanda del Nord i que utilitzen el servei de compensació de la República d'Irlanda; GG Guernsey "+
					"i JE Jersei be fan servir GB Gran Bretanya, be FR França segons el sistema de pagament utilitzat "+
					"pel servei bancari; GF Guaiana Francesa, GP Guadalupe, MQ Martinica i RE Reunió utilitzen la "+
					"regulació FR França i EU REGULATION 2560/2001 aplicable; NC Nova Caledňnia, PF Polinčsia Francesa, "+
					"PM Saint Pierre i Miquelon, TF Terres Australs Franceses, WF Wallis i Futuna i YT Mayotte fan servir "+
					"FR França; ES Espanya inclou Illes Canŕries, Ceuta i Melilla; PT Portugal inclou Açores i Madeira."));
// web page
wptxt = wptxt.concat		( new Array (	"0","Actualment és respectada la validació addicional de longitud dels següents paďsos "+
					"(ordenació per codi de país):","darrer canvi: ","aplica","no aplica ","Prova d'un IBAN donat.",
					"Formulari d'impressió","Formulari electrňnic","Longitud:","Exemple: "));
// catalŕ +++++++++++++++++++++++++++++++++++++++++
// svenska ++++++++++++++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"Andorra","Österrike","Bosnien och Herzegovina","Belgien","Bulgarien","Schweiz","Cypern","Tjeckien",
					"Tyskland","Danmark","Estland","Spanien","Finland","Färöarna","Frankrike","Storbritannien","Gibraltar",
					"Grönland","Grekland","Kroatien","Ungern","Irland","Israel","Island","Italien","Liechtenstein","Litauen",
					"Luxemburg","Lettland","Monaco","Montenegro","Makedonien","Malta","Mauritius","Nederländerna","Norge","Polen",
					"Portugal","Rumänien","Serbien","Sverige","Slovenien","Slovakien","San Marino","Tunisien","Turkiet"));
// error messages
altxt = altxt.concat		( new Array (	"IBAN innehĺller ogiltiga tecken.",
					"IBAN-strukturen är fel.",
					"Kontrollsiffrorna i IBAN är fel.",
					"Kan inte kontrollera korrekt längd pĺ IBAN eftersom "," för närvarande inte stöds.",
					"Längden pĺ IBAN är fel. IBAN frĺn "," ska vara pĺ "," tecken.",
					"IBAN ser ut att vara korrekt.",
					"IBAN är fel."));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"IE Irland kan användas för konto i GB Storbritannien om servicebanken finns i Nordirland och använder "+
					"clearingcentralen i Irland; GG Guernsey och JE Jersey använder antingen GB Storbritannia eller FR Frankrike "+
					"beroende pĺ clearingcentralen som används av servicebanken; GF Franska Guyana, GP Guadeloupe, MQ Martinique och "+
					"RE Réunion använder FR Frankrike och täcks av EU REGULATIV 2560/2001; NC Nya Kaledonien, PF Franska Polynesien, "+
					"PM Saint Pierre och Miquelon, TF Franska södra territorierna, WF Wallis- och Futunaöarna och YT Mayotte använder "+
					"FR Frankrike; ES Spanien inkluderar Kanarieöarna, Ceuta och Melilla; PT Portugal inkluderar Azorerna och Madeira"));
// web page
wptxt = wptxt.concat		( new Array (	"0","För närvarande stöds den extra längdkontrollen för följande länder (sorterat efter landskod):",
					"senast uppdaterat: ","gäller","gäller inte ","Test av en given IBAN.",
					"Utskriftsformat","Elektroniskt format","Längd: ","Exempel: "));
// svenska ++++++++++++++++++++++++++++++++++++++++
// ?? chinese +++++++++++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"??????","??","??????????","???","????","??",
					"????","?????","??","??","????","???","??",
					"????","??","??","????","????","??","????????",
					"???","???","???","??","???","?????","???","???","????",
					"???","????????","???","???","????","??","??","??","???",
					"????","????","??","????????","???????","????","????","???"));
// error messages
altxt = altxt.concat		( new Array (	"IBAN?????????",
					"IBAN?????",
					"IBAN??????",
					"????IBAN????,??"," ???????",
					"IBAN??????IBAN?","???","?????",
					"???IBAN?",
					"????IBAN?"));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"?????????????????????????????,???????????????;?????????????????????????????????????????;??????????????????????"+
					"???????,??? EU REGULATION 2560/2001 ??;???????????????????????????????????????????????????;?????????????????????"+
					"????;??????????????????????"));
// web page
wptxt = wptxt.concat		( new Array (	0,"?????????????(???????):",
					"????:","??","???","????IBAN","????",
					"????","??:","??:"));
// ?? chinese +++++++++++++++++++++++++++++++++++++
// greek ++++++++++++++++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"??d???a","??st??a","??s??a-???e??ß???","??????","?????a??a","??ßet?a","??p???","?se??a","Ge?ľa??a","?a??a",
					"?s????a","?spa??a","F???a?d?a","??s?? Fe??e?","Ga???a","???ľ??? ?as??e??","G?ß?a?t??","G????a?d?a","????da",
					"???at?a","????a??a","???a?d?a","?s?a??","?s?a?d?a","?ta??a","???te?st???","?????a??a","????eľß?????","?et???a",
					"???a??","?a???ß?????","?.G.?.?.","???ta","?a???????","???a?d?a","???ß???a","??????a","???t??a??a","???ľa??a",
					"Se?ß?a","S???d?a","S??ße??a","S??ßa??a","Sa? ?a????","????s?a","??????a"));
// error messages
altxt = altxt.concat		( new Array (	"? IBAN pe????e? ľ? ap?de?t??? ?a?a?t??e?.",
					"? IBAN de? ??e? s?st? d?ľ?.",
					"?a ??f?a e?????? t?? IBAN e??a? ?a??asľ??a.",
					"?d??at?? ??e???? p?????? ?a?a?t???? t?? IBAN d??t? ??a t?? ???a "," p??? t? pa??? de? ?p???e? a?t?st????a.",
					"?? p????? ?a?a?t???? t?? IBAN e??a? ?a??asľ???. ? IBAN t?? ???a? "," p??pe? ?a ap?te?e?ta? ap? "," a?fa???ľ?t????? ?a?a?t??e?.",
					"?p?de?t?? IBAN.",
					"?? ap?de?t?? IBAN."));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"? ??d???? t?? ???a?d?a? IE ľp??e? ?a ???s?ľ?p????e? ??a ???a??asľo?? t?? ???ľ???? ?as??e??? GB st?? pe??pt?s? p?? "+
					"? t??pe?a ß??s?eta? st?? ???e?a ???a?d?a ?a? ?e?t????e? st? s?st?ľa t?? ??ľ???at?a? t?? ???a?d?a?ˇ G????se? GG ?a? "+
					"????se? JE ???s?ľ?p????? e?te t?? ???ľ???? ?as??e??? GB e?te t?? Ga???a? FR a?????a ľe t?? t??pe?aˇ Ga????? G?????a "+
					"GF, G??ade???p? GP, ?a?t????a MQ ?a? ?e????? RE ???s?ľ?p????? t?? Ga???a? FR ?a? e??a? se ?s?? ? ?????t??? ?d???a "+
					"EU REGULATION 2560/2001ˇ ??a ?a??d???a NC, Ga????? ??????s?a PF, ????? ???? ?a? ???e??? PM, Ga????? ??t?a ?a? "+
					"a?ta??t??? ed?f? TF, ?????? ?a? F??t???a WF ?a? ?a???t YT ???s?ľ?p????? t?? Ga???a? FRˇ ? ?spa??a ES "+
					"s?ľpe???aľß??e? ?a????e? ??s??? [Canary Islands], T???ta [Ceuta] ?a? ?e????a [Melilla]ˇ ? ???t??a??a PT "+
					"s?ľpe???aľß??e? ????e? [Azores] ?a? ?ad??a [Madeira]"));
// web page
wptxt = wptxt.concat		( new Array (	"1","?p? t?? pa???s?? ??a t?? p??s?et? ??e??? p?????? ?a?a?t???? IBAN ?p???e? a?t?st????a ??a t?? pa?a??t? ???e? (?at? se??? ??d???? ???a?):",
					"te?e?ta?a e??ľ???s?: "," efa?ľ??? "," ľ? efa?ľ??? ","??e???? e?????t?ta? IBAN.","??t?p? ???f?",
					"??e?t?????? ???f?","?????? ?a?a?t????: ","?a??de??ľa: "));
// greek ++++++++++++++++++++++++++++++++++++++++++// castellano +++++++++++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"Andorra","Austria","Bosnia y Herzegovina","Bélgica","Bulgaria","Suiza","Chipre","República Checa",
					"Alemania","Dinamarca","Estonia","Espańa","Finlandia","Islas Feor","Francia","Gran Bretańa","Gibraltar",
					"Groenlandia","Gracias","Croacia","Hungría","Irlanda","Israel","Islandia","Italia","Liechtenstein","Lituania",
					"Luxemburgo","Letonia","Monaco","Montenegro","Macedonia","Malta","Isla Mauricio","Holanda","Noruega","Polonia",
					"Portugal","Rumania","Serbia","Suecia","Eslovenia","República Eslovaca","San Marino","Tunez","Turquía"));
// error messages
altxt = altxt.concat		( new Array (	"El IBAN contiene caracteres no válidos",
					"La estructura del IBAN es errónea",
					"Los dígitos de control del IBAN son erróneos",
					"No es posible revisar la longitud correcta del IBAN porque","actualmente no está contemplado",
					"La longitud del IBAN es errónea. El IBAN ","debe tener una longitud de","caracteres",
					"El IBAN parece que es correcto",
					"El IBAN es incorrecto"));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"IE Irlanda debe ser usado por aquellas cuentas de GB Gran Bretańa, en el caso que el banco de pago esté situado en el "+
					"Norte de Irlanda y use el sistema de compensación de la República de Irlanda; GC Guernsey y JE Isla de Jersey usan tanto "+
					"GB Gran Bretańa como FR Francia dependiendo del sistema de compensación usado por el banco de pago; GF Guyana Francesa, "+
					"GP Guadalupe, MQ Martinica y RE Islas Reunión usan FR Francia y EU Regulación 2560/2001. NC Nueva Caledonia, PF Polinesia "+
					"Francesa, PM San Pedro y Miguelón, TF French Southern Territories, WF Wallis y Futuna y YT Mayotte usan FR Francia; ES "+
					"Espańa incluye las Islas Canarias, Ceuta y Melilla; PT Portugal incluye las Azores y Madeira"));
// web page
wptxt = wptxt.concat		( new Array (	"0","Actualmente se revisa la longitud de los siguientes países (ordenado por el código del país)",
					"Última actualización","aplicado","no aplicado","Testeo del código IBAN",
					"Formato de impresión","Formato electrónico","Longitud","Ejemplo"));
// castellano +++++++++++++++++++++++++++++++++++++
// albanian +++++++++++++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"Andora","Austria","Bosna dhe Herzegovina","Belgjika","Bullgaria","Zvicra","Qipro","Republika Çeke",
					"Gjermania","Danimarka","Estonia","Spanja","Finlanda","Ishujt Faroe","Franca","Britania e Madhe","Gjibraltari",
					"Grenlanda","Greqia","Kroacia","Hungaria","Irlanda","Izraeli","Iceland","Italia","Lihtenshtajni","Lituania",
					"Luksemburgu","Latvia","Monako","Mali i Zi","Maqedonia","Malta","Mauritius","Holanda","Norvegjia","Polonia",
					"Portugalia","Rumania","Serbia","Suedia","Sllovenia","Republika Sllovake","San Marino","Tunizia","Turqia"));
// error messages
altxt = altxt.concat		( new Array (	"IBAN-i përmban karaktere jo-valide.",
					"Struktura e IBAN-it është e gabuar.",
					"Shkronjat verifikuese të IBAN-it janë gabim.",
					"Gjatësia e IBAN-it nuk mund të kontrollohet sepse","nuk është respektuar.",
					"Gjatësia e IBAN-it është gabim. IBAN-i i "," duhet të ketë "," karaktere.",
					"IBAN-i duket të jetë në rregull.",
					"IBAN-i nuk është në rregull"));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"Në rastet kur banka shërbyese është e lokalizuar në Irlandën Veriore dhe shfrytëzon sistemin verifikues të "+
					"Republikës së Irlandës, atëhere edhe llogaritë e GB (Britanisë së Madhe) mund ti përdorin simbolet e IE (Irlandës); "+
					"Varësishte nga sistemi verifikues i bankës shërbyese, llogaritë e GG (Guernsej) janë duke përdorur kodin e GB "+
					"(Britanisë së Madhe) ose FR (Francës); GF (Guinea Franceze), GP (Guadalupe), MQ (Martini) dhe RE Reunion janë duke "+
					"përdorur kodin e FR (Francës) dhe Rregullorja e BE-se 2560/2001 aplikohet; NC (New Caledonia), PF (Peleponezi "+
					"Francez), PM (Shen Pier dhe Mikelon), TF (Teritoret Jugore Franceze), WF (Uallis dhe Fortuna) dhe YT (Majote) janë "+
					"duke përdorur kodin FR (Francez); ES (Spanja) përfshin ishujt Kanari, Ceuten dhe Melilen; PT (Portugalia) përfshin "+
					"Azorën dhe Madeirën."));
// web page
wptxt = wptxt.concat		( new Array (	"0","Momentalisht kontrollohet vetëm gjatësia e vendeve në vijim (të renditura sipas kodit shtetëror):",
					"azhurimi i fundit: ","aplikohet ","nuk aplikohet ","Testi i IBAN-it të dhënë.",
					"Shtype formën","Forma elektronike","Gjatësia: ","Shembulli: "));
// albanian +++++++++++++++++++++++++++++++++++++++
// portuguęs ++++++++++++++++++++++++++++++++++++++
// country names
ctynm = ctynm.concat		( new Array (	"Andorra","Austria","Bósnia Herzegovina","Bélgica","Bulgária","Suiça","Chipre","Republica Checa",
					"Alemanha","Dinamarca","Estónia","Espanha","Finlândia","Ihas Faroe","França","Gră-Bretanha","Gibraltar",
					"Gronelândia","Grécia","Croacia","Hungary","Irlanda","Israel","Islândia","Italia","Liechtenstein","Lituania",
					"Luxemburgo","Latvia","Mónaco","Montenegro","Macedónia","Malta","Mauritania","Holanda","Noruega","Polónia",
					"Portugal","Roménia","Servbia","Suécia","Eslovénia","Republica Eslovaca","Săo Marino","Tunísia","Turquia"));
// error messages
altxt = altxt.concat		( new Array (	"O IBAN contém caracteres ilegais.",
					"A estrutura do IBAN é errada.",
					"Os dígitos de controlo do IBAN estăo errados.",
					"Năo se pode validar o comprimento correcto do IBAN porque"," năo é actualmente respeitada.",
					"O comprimento do IBAN está errado. O IBAN de "," necessita ter "," caracteres de comprimento.",
					"O IBAN aparenta ser correcto.",
					"O IBAN é correcto."));
// additional explanations
xpltxt = xpltxt.concat	( new Array (	"O IE da Irlanda pode ser utilizado para contas na Gră-Bretanha no caso de o banco estar situado na Irlanda do Norte "+
					"e utilizar o sistema de autorizaçăo da Republica da Irlanda; GG Guernsey e JE Jersey estăo a usar ou GB Gră-Bretanha "+
					"ou FR França dependendo do sistema de autizaçăo usado pelo banco; GF Guiana Francesa, GP Guadalupe, MQ Martinica "+
					"e RE Reunion usam FR França e a EU REGULATION 2560/2001 é aplicável; NC Nova Caledónia, PF Polinésia Francesa, "+
					"PM Săo Pedro e Miquelon, TF Territórios Franceses do Sul , WF Wallis e Futuna e YT Mayotte usam FR France; ES "+
					"Espanha inclui as Ilhas Canárias, Ceuta e Melida; PT Portugal inclui Açores e Madeira"));
// web page
wptxt = wptxt.concat		( new Array (	"1","Actualmente a verificaçăo adicional de comprimento dos seguintes países é respeitada (ordenada por código de país):",
					"ultima actualizaçăo: ","aplica","năo aplica ","Teste de um determinado IBAN.",
					"Formulário de Impressăo ","Formulário Electrónico","Comprimento: ","Exemplo: "));
// portuguęs ++++++++++++++++++++++++++++++++++++++

// translators please take a source language including // language ++++... from this script
// translate and store in UTF-8 encoding to support your national characters
// only care about text surrounded by quotes, i.e. leave all other characters and format as is
// send it
//
// please observe following special notation in translation of "web page" text
//
//                                    V
// wptxt = wptxt.concat ( new Array ( 0 ,"text 1","text 2","text 3","text 4","text 5","text 6","text 7","text 8","text 9"));
// results in
// "("+" EU Regulation 2560/2001 "+"text 3"+"/"+"text 4"+")"
//
// while
//                                    V
// wptxt = wptxt.concat ( new Array ( 1 ,"text 1","text 2","text 3","text 4","text 5","text 6","text 7","text 8","text 9"));
// results in
// "("+"text 3"+"/"+"text 4"+" EU Regulation 2560/2001 "+")"
//
// i.e. it is a language adaptor. Please choose properly. Thx
//
// therefore
// with 0 make it "text3","text 4 "
// with 1 make it " text3","text 4"

// script end
