// (c) Mads E. Hauberg 2004-2007. Please send an E-mail if you want to use the script on your site.

var tal=1, streng = "", streng2 = "", streng3 = "", A = 3, B = 1, C = 1,hov=0, iorden=0;


function begynd()
{
	
	tal=document.getElementById("indtastning").value
	lang=document.getElementById("l").value

	if((String(tal)!="")&&(isNaN(tal*1)==false))
	{
		document.getElementById("slut").value =findNumeral(tal, lang)
	}
	else
	if(isRoman(tal))
	{
		temp= new findArabic(tal)
		document.getElementById("slut").value = temp.result+"\n\n(Calculations: "+temp.calculations+")"
	}
	else
	{
		document.getElementById("slut").value = "Type a number in the field above."
	}
	return false;
}


function findNumeral(myNumber, langCode)
	{
		hov=0
		switch(langCode)		{			case "1": da(); break;			case "2": en(); break;			case "3": ty(); break;			case "4": fr(); break;
			case "5": it(); hov=1;break;
			case "6": sp(); hov=1;break;
			case "7": po(); hov=1; break;
			case "8": vo(); break;
			case "9": es(); break;
			case "11": la();hov=1; break;
			case "12": du();hov=1; break;
		}
		
		if(langCode!=10)
		{
			if(myNumber>0)
			{
				streng=""; streng2 = ""; streng3 = ""; A=myNumber;
				billioner(); milliarder(); millioner(); tusinder();
				B = A;
				hundreder();
				myResult = streng;
			}
			else
				myResult = p[6];
				

		}
		else
		{
			temp= new findRoman(myNumber)
			myResult = temp.result+"  "+temp.calculations
		}

		return myResult;
	}



function hundreder()
	{
		C = Math.floor(B / 100);
		if(C>0)
			{
				
				if(C==1)
				{
					if((C*100-B==0) &&(h.length==101))
						streng+= h[100];
					else
						streng+= p1[0];
				}
				else
				if(hov)
				{
					streng+= p2[C];
				}
				else
				{
					streng+=h[C];
					streng+= p[0];
				}
				B  -= C * 100;
				if(B>0)
					streng+=p[5]
			}
			else
			if(A>999)
			{
				//streng+=p[5]
			}

			if(B>0)
			streng+=h[B];		
	}

function tusinder()
	{
		B = Math.floor(A / 1000);
		A = A - B * 1000; 
		
		if(B == 1)
				streng+= p1[1];
		else
			{
				streng2 = streng;
				hundreder();
				if(streng != streng2)
						streng += p[1];
			}
	}

function millioner()
	{
		B = Math.floor(A / 10e5);
		A = A - B * 10e5; 
		if(B==1)
			streng += p1[2];
		else
		{
		streng2 = streng;
		hundreder();		
		if(streng != streng2)
				streng += p[2];
		}
	}

function milliarder()
	{
		B = Math.floor(A / 10e8);
		A = A - B * 10e8;
		if(B==1)
			 streng += p1[3];
		else
		{
		streng2 = streng;
		hundreder();	
		if(streng != streng2)
				streng += p[3];
		}	
	}

function billioner()
	{	
		B = Math.floor(A / 10e14);
		A = A - B * 10e14;
		
		streng2 = streng;
		hundreder();
		if(streng != streng2)
				streng += p[1];
		B = Math.floor(A / 10e11);
		A = A - B * 10e11;
		if(B==1)
			streng += p1[4]
		else
		{
		hundreder();
		if(streng != streng2)
				streng += p[4];
		}
	}















function da()
{
h=new Array("", "et ","to ","tre ","fire ","fem ","seks ","syv ","otte ","ni ","ti ","elleve ","tolv ","tretten ","fjorten ","femten ","seksten ","sytten ","atten ","nitten ","tyve ","en og tyve ","to og tyve ","tre og tyve ","fire og tyve ","fem og tyve ","seks og tyve ","syv og tyve ","otte og tyve ","ni og tyve ","tredive ","en og tredive ","to og tredive ","tre og tredive ","fire og tredive ","fem og tredive ","seks og tredive ","syv og tredive ","otte og tredive ","ni og tredive ","fyrre ","en og fyrre ","to og fyrre ","tre og fyrre ","fire og fyrre ","fem og fyrre ","seks og fyrre ","syv og fyrre ","otte og fyrre ","ni og fyrre ","halvtreds ","en og halvtreds ","to og halvtreds ","tre og halvtreds ","fire og halvtreds ","fem og halvtreds ","seks og halvtreds ","syv og halvtreds ","otte og halvtreds ","ni og halvtreds ","tres ","en og tres ","to og tres ","tre og tres ","fire og tres ","fem og tres ","seks og tres ","syv og tres ","otte og tres ","ni og tres ","halvfjerds ","en og halvfjerds ","to og halvfjerds ","tre og halvfjerds ","fire og halvfjerds ","fem og halvfjerds ","seks og halvfjerds ","syv og halvfjerds ","otte og halvfjerds ","ni og halvfjerds ","firs ","en og firs ","to og firs ","tre og firs ","fire og firs ","fem og firs ","seks og firs ","syv og firs ","otte og firs ","ni og firs ","halvfems ","en og halvfems ","to og halvfems ","tre og halvfems ","fire og halvfems ","fem og halvfems ","seks og halvfems ","syv og halvfems ","otte og halvfems ","ni og halvfems")
p=new Array("hundrede ","tusinde ","millioner ", "milliarder ", "billioner ", "og ", "nul")
p1=new Array("et hundred ","et tusinde ","en million ","en milliard ","en billion ")
}

function vo()
{
h=new Array("", "bal", "tel", "kil", "fol", "lul", "mäl", "vel", "jöl", "zül", "deg", "degbal", "degtel", "degkil", "degfol", "deglul", "degmäl", "degvel", "degjöl", "degzül", "teldeg", "teldegbal", "teldegtel", "teldegkil", "teldegfol", "teldeglul", "teldegmäl", "teldegvel", "teldegjöl", "teldegzül", "kildeg", "kildegbal", "kildegtel", "kildegkil", "kildegfol", "kildeglul", "kildegmäl", "kildegvel", "kildegjöl", "kildegzül", "foldeg", "foldegbal", "foldegtel", "foldegkil", "foldegfol", "foldeglul", "foldegmäl", "foldegvel", "foldegjöl", "foldegzül", "luldeg", "luldegbal", "luldegtel", "luldegkil", "luldegfol", "luldeglul", "luldegmäl", "luldegvel", "luldegjöl", "luldegzül", "mäldeg", "mäldegbal", "mäldegtel", "mäldegkil", "mäldegfol", "mäldeglul", "mäldegmäl", "mäldegvel", "mäldegjöl", "mäldegzül", "veldeg", "veldegbal", "veldegtel", "veldegkil", "veldegfol", "veldeglul", "veldegmäl", "veldegvel", "veldegjöl", "veldegzül", "jöldeg", "jöldegbal", "jöldegtel", "jöldegkil", "jöldegfol", "jöldeglul", "jöldegmäl", "jöldegvel", "jöldegjöl", "jöldegzül", "zöldeg", "zöldegbal", "zöldegtel", "zöldegkil", "zöldegfol", "zöldeglul", "zöldegmäl", "zöldegvel", "zöldegjöl", "zöldegzül")
p=new Array("tum ","mil ","balion ", "?? ", "telion", "", "nul")
p1=new Array("tum ","mil ","balion ","??? ","telion ")
}

function ty()
{
h=new Array("", "ein ", "zwei ","drei ","vier ","fünf ","sechs ","sieben ","acht ","neun ","zehn ","elf ","zwölf ","dreizehn ","vierzehn ","fünfzehn ","sechszehn ","siebzehn ","achtzehn ","neunzehn ","zwanzig ","ein und zwanzig ","zwei und zwanzig ","drei und zwanzig ","vier und zwanzig ","fünf und zwanzig ","sechs und zwanzig ","sieben und zwanzig ","acht und zwanzig ","neun und zwanzig ","dreißig ","ein und dreißig ","zwei und dreißig ","drei und dreißig ","vier und dreißig ","fünf und dreißig ","sechs und dreißig ","sieben und dreißig ","acht und dreißig ","neun und dreißig ","vierzig ","ein und vierzig ","zwei und vierzig ","drei und vierzig ","vier und vierzig ","fünf und vierzig ","sechs und vierzig ","sieben und vierzig ","acht und vierzig ","neun und vierzig ","fünfzig ","ein und fünfzig ","zwei und fünfzig ","drei und fünfzig ","vier und fünfzig ","fünf und fünfzig ","sechs und fünfzig ","sieben und fünfzig ","acht und fünfzig ","neun und fünfzig ","sechzig ","ein und sechzig ","zwei und sechzig ","drei und sechzig ","vier und sechzig ","fünf und sechzig ","sechs und sechzig ","sieben und sechzig ","acht und sechzig ","neun und sechzig ","siebzig ","ein und siebzig ","zwei und siebzig ","drei und siebzig ","vier und siebzig ","fünf und siebzig ","sechs und siebzig ","sieben und siebzig ","acht und siebzig ","neun und siebzig ","achtzig ","ein und achtzig ","zwei und achtzig ","drei und achtzig ","vier und achtzig ","fünf und achtzig ","sechs und achtzig ","sieben und achtzig ","acht und achtzig ","neun und achtzig ","neunzig ","ein und neunzig ","zwei und neunzig ","drei und neunzig ","vier und neunzig ","fünf und neunzig ","sechs und neunzig ","sieben und neunzig ","acht und neunzig ","neun und neunzig")
p=new Array("hundert ","Tausend ","Milionen ","milliarden ","Bilionen ", "", "null")
p1=new Array("ein hundert ","ein Tausend ","ein Milion ","ein milliard ","ein Bilion ")
}


function en()
{
h=new Array("","one ","two ","three ","four ","five ","six ","seven ","eight ","nine ","ten ","eleven ","twelve ","thirteen ","fourteen ","fifteen ","sixteen ","seventeen ","eighteen ","nineteen ","twenty ","twenty-one ","twenty-two ","twenty-three ","twenty-four ","twenty-five ","twenty-six ","twenty-seven ","twenty-eight ","twenty-nine ","thirty ","thirty-one ","thirty-two ","thirty-three ","thirty-four ","thirty-five ","thirty-six ","thirty-seven ","thirty-eight ","thirty-nine ","forty ","forty-one ","forty-two ","forty-three ","forty-four ","forty-five ","forty-six ","forty-seven ","forty-eight ","forty-nine ","fifty ","fifty-one ","fifty-two ","fifty-three ","fifty-four ","fifty-five ","fifty-six ","fifty-seven ","fifty-eight ","fifty-nine ","sixty ","sixty-one ","sixty-two ","sixty-three ","sixty-four ","sixty-five ","sixty-six ","sixty-seven ","sixty-eight ","sixty-nine ","seventy ","seventy-one ","seventy-two ","seventy-three ","seventy-four ","seventy-five ","seventy-six ","seventy-seven ","seventy-eight ","seventy-nine ","eighty ","eighty-one ","eighty-two ","eighty-three ","eighty-four ","eighty-five ","eighty-six ","eighty-seven ","eighty-eight ","eighty-nine ","ninety ","ninety-one ","ninety-two ","ninety-three ","ninety-four ","ninety-five ","ninety-six ","ninety-seven ","ninety-eight ","ninety-nine ")
p=new Array("hundred ", "thousand ", "million ","billion ","trillion ", "(and) ", "zero")
p1=new Array("one hundred ", "one thousand ", "one million ","one billion ","one trillion")
}

function fr()
{
h=new Array("", "un ", "deux ", "trois ", "quatre ", "cinq ", "six ", "sept ", "huit ", "neuf ", "dix ", "onze ", "douze ", "treize ", "quatorze ", "quinze ", "seize ", "dix-sept ", "dix-huit ", "dix-neuf ", "vingt ", "vingt et un ", "vingt-deux ", "vingt-trois ", "vingt-quatre ", "vingt-cinq ", "vingt-six ", "vingt-sept ", "vingt-huit ", "vingt-neuf ", "trente ", "trente et un ", "trente-deux ", "trente-trois ", "trente-quatre ", "trente-cinq ", "trente-six ", "trente-sept ", "trente-huit ", "trente-neuf ", "quarante ", "quarante et un ", "quarante-deux ", "quarante-trois ", "quarante-quatre ", "quarante-cinq ", "quarante-six ", "quarante-sept ", "quarante-huit ", "quarante-neuf ", "cinquante ", "cinquante et un ", "cinquante-deux ", "cinquante-trois ", "cinquante-quatre ", "cinquante-cinq ", "cinquante-six ", "cinquante-sept ", "cinquante-huit ", "cinquante-neuf ", "soixante ", "soixante et un ", "soixante-deux ", "soixante-trois ", "soixante-quatre ", "soixante-cinq ", "soixante-six ", "soixante-sept ", "soixante-huit ", "soixante-neuf ", "soixante-dix ", "soixante et onze ", "soixante-douze ", "soixante-treize ", "soixante-quatorze ", "soixante-quinze ", "soixante-seize ", "soixante-dix-sept ", "soixante-dix-huit ", "soixante-dix-neuf ", "quatre-vingt ", "quatre-vingt-un ", "quatre-vingt-deux ", "quatre-vingt-trois ", "quatre-vingt-quatre ", "quatre-vingt-cinq ", "quatre-vingt-six ", "quatre-vingt-sept ", "quatre-vingt-huit ", "quatre-vingt-neuf ", "quatre-vingt-dix ", "quatre-vingt et onze ", "quatre-vingt-douze ", "quatre-vingt-treize ", "quatre-vingt-quatorze ", "quatre-vingt-quinze ", "quatre-vingt-seize ", "quatre-vingt-dix-sept ", "quatre-vingt-dix-huit ", "quatre-vingt-dix-neuf")
p=new Array("cents ", "mille ", "milions ", "milliards ", "billions ", "", "zero")
p1=new Array("un cent ", "un mille ", "un milion ", "un milliard ", "un billion")
}

function it()
{
h=new Array("", "uno ", "due ", "tre ", "quatro ", "cinque ", "sei ", "sette ", "otto ", "nove ", "deici ", "undeci ", "dodici ", "tredeci ", "quattordici ", "quindici ", "sedici ", "diciasette ", "diciotto ", "diciannove ", "venti ", "ventuno ", "ventidue ", "ventitrè ", "ventiqattro ", "venticinque ", "ventisei ", "ventisette ", "ventotto ", "ventinove ", "trenta ", "trentuno ", "trentadue ", "trentatrè ", "trentaquattro ", "trentacinque ", "trentasei ", "trentasette ", "trenotto ", "trentanove ", "quaranta ", "quarantuno ", "quarantadue ", "quaranrantatrè ", "quarantaquattro ", "quarantacinque ", "quarantasei ", "quarantasette ", "quarantotto ", "quarantanove ", "cinquanta ", "cinquantuno ", "cinquantadue ", "cinquantatrè ", "cinquantaquattro ", "cinquantacinque ", "cinquantasei ", "cinquantasette ", "cinquantotto ", "cinqantanove ", "sessanta ", "sessantuno ", "sessantadue ", "sessantatrè ", "sessantaquattro ", "sessantacinque ", "sessantasei ", "sessantasette ", "sessantotto ", "sessantanove ", "settanta ", "settantuno ", "settantadue ", "settantatrè ", "settantaquattro ", "settantacinque ", "settantasei ", "settantasette ", "settantotto ", "settantanove ", "ottanta ", "ottantuno ", "ottantadue ", "ottantatrè ", "ottantaquattro ", "ottantacinque ", "ottantasei ", "ottantasette ", "ottantotto ", "ottantanove ", "novanta ", "novantuno ", "novantadue ", "novantatrè ", "novantaquattro ", "novantacinque ", "novantasei ", "novantasette ", "novantotto ", "novantanove ")
p=new Array("cento ", "mila ", "milioni ", "miliardi ", "??? ", "", "zero")
p1=new Array("cento ", "mille ", "un milione", "miliardi ", "???")
p2=new Array("", "cento ", "duecento ", "trecento ", "quattrocento ", "cinquecento ", "seicento ", "settecento ", "ottocento ", "novecento ")
}

function sp()
{
h=new Array("","uno ", "dos ", "tres ", "cuatro ", "cinco ", "seis ", "siete ", "ocho ", "nueve ", "diez ", "once ", "doce ", "trece ", "catorce ", "quinze ", "diciséis ", "dicisiete ", "diciocho ", "dicinueve ", "viente ", "ventiuno ", "ventidós ", "ventitrés ", "venticuatro ", "venticinco ", "ventiséis ", "ventisiete ", "ventiocho ", "ventinueve ", "treinta ", "treinta y uno ", "treinta y dos ", "treinta y tres ", "treinta y cuatro ", "treinta y cinco ", "treinta y seis ", "treinta y siete ", "treinta y ocho ", "treinta y nueve ", "cuarenta ", "cuarenta y uno ", "cuarenta y dos ", "cuarenta y tres ", "cuarenta y cuatro ", "cuarenta y cinco ", "cuarenta y seis ", "cuarenta y siete ", "cuarenta y ocho ", "cuarenta y nueve ", "cincuenta ", "cincuenta y uno ", "cincuenta y dos ", "cincuenta y tres ", "cincuenta y cuatro ", "cincuenta y cinco ", "cincuenta y seis ", "cincuenta y siete ", "cincuenta y ocho ", "cincuenta y nueve ", "sesenta ", "sesenta y uno ", "sesenta y dos ", "sesenta y tres ", "sesenta y cuatro ", "sesenta y cinco ", "sesenta y seis ", "sesenta y siete ", "sesenta y ocho ", "sesenta y nueve ", "setenta ", "setenta y uno ", "setenta y dos ", "setenta y tres ", "setenta y cuatro ", "setenta y cinco ", "setenta y seis ", "setenta y siete ", "setenta y ocho ", "setenta y nueve ", "ochenta ", "ochenta y uno ", "ochenta y dos ", "ochenta y tres ", "ochenta y cuatro ", "ochenta y cinco ", "ochenta y seis ", "ochenta y siete ", "ochenta y ocho ", "ochenta y nueve ", "noventa ", "noventa y uno ", "noventa y dos ", "noventa y tres ", "noventa y cuatro ", "noventa y cinco ", "noventa y seis ", "noventa y siete ", "noventa y ocho ", "noventa y nueve", "cien")
p=new Array("cientos ", "mil ", "millones ", "mil millones ", "billones ", "", "cero")
p1=new Array("ciento ", "mil ", "un millón ", "mil millones ", "un billón")
p2=new Array("", "ciento ", "doscientos ", "trescientos ", "cuatrocientos ", "quinientos ", "seiscientos ", "setecientos ", "ochocientos ", "novecientos ")
}

function po()
{h=new Array("", "um ", "dois ", "três ", "quatro ", "cinco ", "seis ", "sete ", "oito ", "nove ", "dez ", "onze ", "doze ", "treze ", "catorze ", "quinze ", "dezesseis ", "dezessete ", "dezoito ", "dezenove ", "vinte ", "vinte e um ", "vinte e dois ", "vinte e três ", "vinte e quatro ", "vinte e cinco ", "vinte e seis ", "vinte e sete ", "vinte e oito ", "vinte e nove ", "trinta ", "trinta e um ", "trinta e dois ", "trinta e três ", "trinta e quatro ", "trinta e cinco ", "trinta e seis ", "trinta e sete ", "trinta e oito ", "trinta e nove ", "quarenta ", "quarenta e um ", "quarenta e dois ", "quarenta e três ", "quarenta e quatro ", "quarenta e cinco ", "quarenta e seis ", "quarenta e sete ", "quarenta e oito ", "quarenta e nove ", "cinqüenta ", "cinqüenta e um ", "cinqüenta e dois ", "cinqüenta e três ", "cinqüenta e quatro ", "cinqüenta e cinco ", "cinqüenta e seis ", "cinqüenta e sete ", "cinqüenta e oito ", "cinqüenta e nove ", "sessenta ", "sessenta e um ", "sessenta e dois ", "sessenta e três ", "sessenta e quatro ", "sessenta e cinco ", "sessenta e seis ", "sessenta e sete ", "sessenta e oito ", "sessenta e nove ", "setenta ", "setenta e um ", "setenta e dois ", "setenta e três ", "setenta e quatro ", "setenta e cinco ", "setenta e seis ", "setenta e sete ", "setenta e oito ", "setenta e nove ", "oitenta ", "oitenta e um ", "oitenta e dois ", "oitenta e três ", "oitenta e quatro ", "oitenta e cinco ", "oitenta e seis ", "oitenta e sete ", "oitenta e oito ", "oitenta e nove ", "noventa ", "noventa e um ", "noventa e dois ", "noventa e três ", "noventa e quatro ", "noventa e cinco ", "noventa e seis ", "noventa e sete ", "noventa e oito ", "noventa e nove", "cem")p=new Array( "", "mil ", "milhões ", "bilhões ", "??? ", "e ", "zero ")p1=new Array("cento ", "mil ", "um milhão ", "um bilhão ", "???")
p2=new Array("", "cento ", "duzentos ", "trezentos ", "quatrocentos ", "quinhentos ", "seiscentos ", "setecentos ", "oitocentos ", "novecentos")
}


function es()
{h=new Array("", "unu ","du ","tri ","kvar ","kvin ","ses ","sep ","ok ","naŭ ","dek ","dek unu ","dek du ","dek tri ","dek kvar ","dek kvin ","dek ses ","dek sep ","dek ok ","dek naŭ ","dudek ","dudek unu ","dudek du ","dudek tri ","dudek kvar ","dudek kvin ","dudek ses ","dudek sep ","dudek ok ","dudek naŭ ","tridek ","tridek unu ","tridek du ","tridek tri ","tridek kvar ","tridek kvin ","tridek ses ","tridek sep ","tridek ok ","tridek naŭ ","kvardek ","kvardek unu ","kvardek du ","kvardek tri ","kvardek kvar ","kvardek kvin ","kvardek ses ","kvardek sep ","kvardek ok ","kvardek naŭ ","kvindek ","kvindek unu ","kvindek du ","kvindek tri ","kvindek kvar ","kvindek kvin ","kvindek ses ","kvindek sep ","kvindek ok ","kvindek naŭ ","sesdek ","sesdek unu ","sesdek du ","sesdek tri ","sesdek kvar ","sesdek kvin ","sesdek ses ","sesdek sep ","sesdek ok ","sesdek naŭ ","sepdek ","sepdek unu ","sepdek du ","sepdek tri ","sepdek kvar ","sepdek kvin ","sepdek ses ","sepdek sep ","sepdek ok ","sepdek naŭ ","okdek ","okdek unu ","okdek du ","okdek tri ","okdek kvar ","okdek kvin ","okdek ses ","okdek sep ","okdek ok ","okdek naŭ ","naŭdek ","naŭdek unu ","naŭdek du ","naŭdek tri ","naŭdek kvar ","naŭdek kvin ","naŭdek ses ","naŭdek sep ","naŭdek ok ","naŭdek naŭ ","cent ")p=new Array( "cent", "mil ", "miliono ", "miliardo ", "??? ", "", "nul ")p1=new Array("cent ", "mil ", "miliono ", "miliardo ", "??? ", "nul")

}

function la()
{
h=new Array("","unus ","duo ","tres ","quattuor ","quinque ","sex ","septem ","octo ","novem ","decem ","undecim ","duodecim ","tredecim ","quattuordecim ","quindecim ","sedecim ","septendecim ","duodeviginti ","undeviginti ","viginti ","viginti unus ","viginti duo ","viginti tres ","viginti quattuor ","viginti quinque ","viginti sex ","viginti septem ","duodetriginta ","undetriginta ","triginta ","triginta unus ","triginta duo ","triginta tres ","triginta quattuor ","triginta quinque ","triginta sex ","triginta septem ","duodequadraginta ","undequadraginta ","quadraginta ","quadraginta unus ","quadraginta duo ","quadraginta tres ","quadraginta quattuor ","quadraginta quinque ","quadraginta sex ","quadraginta septem ","duodequinquaginta ","undequinquaginta ","quinquaginta ","quinquaginta unus ","quinquaginta duo ","quinquaginta tres ","quinquaginta quattuor ","quinquaginta quinque ","quinquaginta sex ","quinquaginta septem ","duodesexaginta ","undesexaginta ","sexaginta ","sexaginta unus ","sexaginta duo ","sexaginta tres ","sexaginta quattuor ","sexaginta quinque ","sexaginta sex ","sexaginta septem ","duodeseptuaginta ","undeseptuaginta ","septuaginta ","septuaginta unus ","septuaginta duo ","septuaginta tres ","septuaginta quattuor ","septuaginta quinque ","septuaginta sex ","septuaginta septem ","duodeoctoginta ","undeoctoginta ","octoginta ","octoginta unus ","octoginta duo ","octoginta tres ","octoginta quattuor ","octoginta quinque ","octoginta sex ","octoginta septem ","duodenonaginta ","undenonaginta ","nonaginta ","nonaginta unus ","nonaginta duo ","nonaginta tres ","nonaginta quattuor ","nonaginta quinque ","nonaginta sex ","nonaginta septem ","duodecentum ","undecentum ")

p=new Array("centi ", "milia ", "??? ","??? ","??? ", "", "nulla ")
p1=new Array("centum ", "mille ", "??? ","??? ","??? ")
p2=new Array("", "centum ", "ducenti ", "tricenti ", "quadringenti ", "quingenti ", "sesgenti ", "septingenti ", "octingenti ", "nongenti")
}


function du()
{
h=new Array("","een ","twee ","drie ","vier ","vijf ","zes ","zeven ","acht ","negen ","tien ","elf ","twaalf ","dertien ","veertien ","vijftien ","zestien ","zeventien ","achttien ","negentien ","twintig ","eenentwintig ","tweeëntwintig ","drieëntwintig ","vierentwintig ","vijfentwintig ","zesentwintig ","zevenentwintig ","achtentwintig ","negenentwintig ","dertig ","eenendertig ","tweeëndertig ","drieëndertig ","vierendertig ","vijfendertig ","zesendertig ","zevenendertig ","achtendertig ","negenendertig ","veertig ","eenenveertig ","tweeënveertig ","drieënveertig ","vierenveertig ","vijfenveertig ","zesenveertig ","zevenenveertig ","achtenveertig ","negenenveertig ","vijftig ","eenenvijftig ","tweeënvijftig ","drieënvijftig ","vierenvijftig ","vijfenvijftig ","zesenvijftig ","zevenenvijftig ","achtenvijftig ","negenenvijftig ","zestig ","eenenzestig ","tweeënzestig ","drieënzestig ","vierenzestig ","vijfenzestig ","zesenzestig ","zevenenzestig ","achtenzestig ","negenenzestig ","zeventig ","eenenzeventig ","tweeënzeventig ","drieënzeventig ","vierenzeventig ","vijfenzeventig ","zesenzeventig ","zevenenzeventig ","achtenzeventig ","negenenzeventig ","tachtig ","eenentachtig ","tweeëntachtig ","drieëntachtig ","vierentachtig ","vijfentachtig ","zesentachtig ","zevenentachtig ","achtentachtig ","negenentachtig ","negentig ","eenennegentig ","tweeënnegentig ","drieënnegentig ","vierennegentig ","vijfennegentig ","zesennegentig ","zevenennegentig ","achtennegentig ","negenennegentig ", "honderd ")
p=new Array("honderd ", "duizend ", "miljoen ", "miljard ", "biljoen ", "", "nul ")
p1=new Array("honderd ", "duizend ", "miljoen ", "miljard ", "biljoen ")
p2=new Array("", "honderd ","tweehonderd ","driehonderd ","vierhonderd ","vijfhonderd ","zeshonderd ","zevenhonderd ","achthonderd ","negenhonderd ")
}









function findRoman(input)
{

 	if(isNaN(input))
	{
		this.result= "invalid input";
		this.error=1;
	}
	else
	if(input>3999)
	{
		this.result="Number is too large"
		this.errorMsg="Number is too large"
		this.error=1;
	}
	else
	{
		//Thousands:
		p= new Array("","M","MM","MMM")
		str=p[Math.floor(input/1000)]
		input-=Math.floor(input/1000)*1000
		
		//Hundreds:
		p= new Array("", "C","CC","CCC","CD","D","DC", "DCC", "DCCC", "CM")
		str+=p[Math.floor(input/100)]
		input-=Math.floor(input/100)*100

		//tens:
		p= new Array("","X","XX","XXX","XL","L","LX", "LXX", "LXXX", "XC")
		str+=p[Math.floor(input/10)]
		input-=Math.floor(input/10)*10
		
		//Ones
		p= new Array("","I","II","III","IV","V","VI", "VII", "VIII", "IX")
		str+=p[input]	
		
		this.result=str;	
	}
	
	this.calculations=""
}


function findArabic(str)
{

	if(str=="")
	{
		//no input
		this.result= ""
		this.calculations= ""
		this.errorMsg="No input"
		this.error=1;

	}
	else
	if(!isRoman(str))
	{
		this.errorMsg="This is not a valid roman numeral"
		this.error=1;

	}
	else
	{
		//Semingly OK input
			
		str=str.toUpperCase()
		str=str.replace(/ /g, "")
		str=str.replace(/\,/g, "z")
		str=str.replace(/IIII/g, "4,")
		str=str.replace(/III/g, "3,")
		str=str.replace(/II/g, "2,")
		str=str.replace(/I/g, "1,")
		str=str.replace(/V/g, "5,")
		str=str.replace(/X/g, "10,")
		str=str.replace(/L/g, "50,")
		str=str.replace(/C/g, "100,")
		str=str.replace(/D/g, "500,")
		str=str.replace(/M/g, "1000,")
		str+=","
		str=str.replace(/\,\,/g, ",")
		str=str.split(",")
		t=""
		for(i=0;i<str.length-2;i++)
		{
			if(parseInt(str[i+1])>parseInt(str[i]))
				t+="-"+str[i]
			else
				t+="+"+str[i]
		}
		
		t+="+"+str[str.length-2]

		if(t.substring(0,1)=="+")
			t=t.substring(1);
		
		this.calculations= t
		try
		{
			this.result= eval(t);
		}
		catch(err)
		{
			this.errorMsg="Something went wrong"
			this.error=1;
		}

	}
}




function isRoman(str)
{
	temp=str
	str=str.toUpperCase()
	str=str.replace(/ /g, "")
	str=str.replace(/I/g, "")
	str=str.replace(/V/g, "")
	str=str.replace(/X/g, "")
	str=str.replace(/L/g, "")
	str=str.replace(/C/g, "")
	str=str.replace(/D/g, "")
	str=str.replace(/M/g, "")

	if(str.length>0 || str.length==temp.length)
		result=false;
	else
		result=true;
		
	return result;
}

function createSeq(shownLang)
{
shownLang+=""

	a="<table style='float:left; margin:8px;'>"
	for(j=0;j<34;j++)
		a+="<tr><td><b>"+j+" </b></td><td> "+findNumeral(j, shownLang)+"</td></tr>"
	
	a+="</table><table style='float:left; margin:8px;'>"
		
	for(j=34;j<68;j++)
		a+="<tr><td><b>"+j+" </b></td><td>" +findNumeral(j, shownLang)+"</td></tr>"
	
	a+="</table><table style='float:left; margin:8px;'>"
	
	for(j=68;j<101;j++)
		a+="<tr><td><b>"+j+" </b></td><td>" +findNumeral(j, shownLang)+"</td></tr>"
	
	a+="</table><div style='clear:both'></div><br /><table style=' margin:8px;' cellspacing='5'>"
	
	
	for(j=1;j<10;j++)
		a+="<tr><td><b>"+j*100+" </b></td><td>"+findNumeral(100*j, shownLang)+"</td></tr>"
	
	
	tempArray=[1000,1000000,1000000000,1000000000000,1000000000000000]
	
	for(j=1;j< tempArray.length;j++)
		a+="<tr><td><b>"+tempArray[j-1]+"</b></td><td>"+findNumeral(tempArray[j-1], shownLang)+"</td></tr>"
		
	return a;
}

function writeSeq()
{
	lang=document.getElementById("seqLang").value
	if(lang!="0")
		document.getElementById("seqView").innerHTML= createSeq(lang);
	else
		document.getElementById("seqView").innerHTML= "";
}

