var currate=new Array();
var curdescr=new Array();
var curcode=new Array();
currate[0]='-1';
curdescr[0]='Please select...';
curcode[0]='';


currate[1]=1.000000;
curdescr[1]='Euro';
curcode[1]='EUR';
currate[2]=0.292268;
curdescr[2]='Anguilla - Dollar';
curcode[2]='XCD';
currate[3]=0.195022;
curdescr[3]='Argentina - Peso';
curcode[3]='ARS';
currate[4]=0.709582;
curdescr[4]='Australia - Dollar';
curcode[4]='AUD';
currate[5]=0.780414;
curdescr[5]='Bahamas - Dollar';
curcode[5]='BSD';
currate[6]=0.448324;
curdescr[6]='Brazil - Real';
curcode[6]='BRL';
currate[7]=0;
curdescr[7]='Bulgaria - Lev';
curcode[7]='BGN';
currate[8]=0.001524;
curdescr[8]='Cameroon - Franc';
curcode[8]='XAF';
currate[9]=0.743500;
curdescr[9]='Canada - Dollar';
curcode[9]='CAD';
currate[10]=0.001565;
curdescr[10]='Chile - Peso';
curcode[10]='CLP';
currate[11]=0.114573;
curdescr[11]='China - Yuan Renminbi';
curcode[11]='CNY';
currate[12]=0.024387;
curdescr[12]='China - Dollar';
curcode[12]='TWD';
currate[13]=0.000430;
curdescr[13]='Colombia - Peso';
curcode[13]='COP';
currate[14]=0.137474;
curdescr[14]='Croatia - Kuna';
curcode[14]='HRK';
currate[15]=0.040446;
curdescr[15]='Czech Republic - Koruna';
curcode[15]='CZK';
currate[16]=0.134351;
curdescr[16]='Denmark - Krone';
curcode[16]='DKK';
currate[17]=0;
curdescr[17]='Estonia - Kroon';
curcode[17]='EEK';
currate[18]=0.401631;
curdescr[18]='Fiji - Dollar';
curcode[18]='FJD';
currate[19]=0.008379;
curdescr[19]='French Polynesia - Franc';
curcode[19]='XPF';
currate[20]=0.544330;
curdescr[20]='Ghana - Cedi';
curcode[20]='GHS';
currate[21]=0.097176;
curdescr[21]='Guatemala - Quetzal';
curcode[21]='GTQ';
currate[22]=0.041301;
curdescr[22]='Honduras - Lempira';
curcode[22]='HNL';
currate[23]=0.100389;
curdescr[23]='Hong Kong - Dollar';
curcode[23]='HKD';
currate[24]=0.003516;
curdescr[24]='Hungary - Forint';
curcode[24]='HUF';
currate[25]=0.006518;
curdescr[25]='Iceland - Krona';
curcode[25]='ISK';
currate[26]=0.016692;
curdescr[26]='India - Rupee';
curcode[26]='INR';
currate[27]=0.000086;
curdescr[27]='Indonesia - Rupiah';
curcode[27]='IDR';
currate[28]=0.206098;
curdescr[28]='Israel - Shekel';
curcode[28]='ILS';
currate[29]=0.009160;
curdescr[29]='Jamaica - Dollar';
curcode[29]='JMD';
currate[30]=0.009234;
curdescr[30]='Japan - Yen';
curcode[30]='JPY';
currate[31]=0.000659;
curdescr[31]='Korea - Won';
curcode[31]='KRW';
currate[32]=0;
curdescr[32]='Latvia - Lat';
curcode[32]='LVL';
currate[33]=0;
curdescr[33]='Lithuania - Litas';
curcode[33]='LTL';
currate[34]=0.249740;
curdescr[34]='Malaysia - Ringgit';
curcode[34]='MYR';
currate[35]=0.059844;
curdescr[35]='Mexico - Peso';
curcode[35]='MXN';
currate[36]=0.090187;
curdescr[36]='Morocco - Dirham';
curcode[36]='MAD';
currate[37]=0.138959;
curdescr[37]='Myanmar (Burma) - Kyat';
curcode[37]='MMK';
currate[38]=0.440958;
curdescr[38]='Netherlands Antilles - Guilder';
curcode[38]='ANG';
currate[39]=0.556345;
curdescr[39]='New Zealand - Dollar';
curcode[39]='NZD';
currate[40]=0.126321;
curdescr[40]='Norway - Krone';
curcode[40]='NOK';
currate[41]=0.009130;
curdescr[41]='Pakistan - Rupee';
curcode[41]='PKR';
currate[42]=0.780414;
curdescr[42]='Panama - Balboa';
curcode[42]='PAB';
currate[43]=0.279259;
curdescr[43]='Peru - Sol';
curcode[43]='PEN';
currate[44]=0.017286;
curdescr[44]='Philippines - Peso';
curcode[44]='PHP';
currate[45]=0.251974;
curdescr[45]='Poland - Polish Zloty';
curcode[45]='PLN';
currate[46]=0.234943;
curdescr[46]='Romania - Leu';
curcode[46]='RON';
currate[47]=0.025405;
curdescr[47]='Russia - Ruble';
curcode[47]='RUB';
currate[48]=0.009494;
curdescr[48]='Serbia - Dinar';
curcode[48]='RSD';
currate[49]=0.579411;
curdescr[49]='Singapore - Dollar';
curcode[49]='SGD';
currate[50]=0.107065;
curdescr[50]='South Africa - Rand';
curcode[50]='ZAR';
currate[51]=0.006922;
curdescr[51]='Sri Lanka - Rupee';
curcode[51]='LKR';
currate[52]=0.107362;
curdescr[52]='Sweden - Krona';
curcode[52]='SEK';
currate[53]=0.768873;
curdescr[53]='Switzerland - Franc';
curcode[53]='CHF';
currate[54]=0.025034;
curdescr[54]='Thailand - Baht';
curcode[54]='THB';
currate[55]=0.123198;
curdescr[55]='Trinidad and Tobago - Dollar';
curcode[55]='TTD';
currate[56]=0.526707;
curdescr[56]='Tunisia - Dinar';
curcode[56]='TND';
currate[57]=0.515675;
curdescr[57]='Turkey - Lira';
curcode[57]='TRY';
currate[58]=0.212489;
curdescr[58]='United Arab Emirates - Dirham';
curcode[58]='AED';
currate[59]=1.207373;
curdescr[59]='United Kingdom - Pound';
curcode[59]='GBP';
currate[60]=0.780414;
curdescr[60]='USA - Dollar';
curcode[60]='USD';
currate[61]=0.000040;
curdescr[61]='Vietnam - Dong';
curcode[61]='VND';
var siteok=0;

//
//
//
function initialize(formname)
{
	var converter=getForm(formname);
	checkConvert(converter);

	if(siteok)
	{
		if(converter.curin)
		{
			converter.curin.onchange=function (){calculate(0,this);};
		}
		if(converter.curout)
		{
			converter.curout.onchange=function (){calculate(0,this);};
		}
		converter.amount.onkeyup=function (){calculate(0,this);};
	
		if(converter.ccodein)
		{
			converter.ccodein.onkeyup=function ()
			{
				converter.ccodein.value=converter.ccodein.value.toUpperCase();
				matchcode(converter.ccodein,converter.curin);
				calculate('self',converter.ccodein)
			}
		}
	
		if(converter.ccodeout)
		{
			converter.ccodeout.onkeyup=function ()
			{
				converter.ccodeout.value=converter.ccodeout.value.toUpperCase();
				matchcode(converter.ccodeout,converter.curout);
				calculate('self',converter.ccodeout)
			}
		}
		
		if(converter.curin || converter.curout)
		{
			for(var i=0;i<currate.length;i++)
			{
				if(curdescr[i])
				{
					if(converter.curin)
					{
						addOption(converter.curin,curcode[i],curdescr[i]);
					}
					if(converter.curout)
					{
						addOption(converter.curout,curcode[i],curdescr[i]);
					}
				}
			}
		}
	
		if(converter.defin)
		{
			if(converter.curin)
			{
				selectOption(curcode,converter.curin,converter.defin.value);
			}
		}
		if(converter.defout)
		{
			if(converter.curout)
			{
				selectOption(curcode,converter.curout,converter.defout.value);
			}
		}
	}
	else
	{
		document.write("<H1>Unauthorised use</H1>");
	}
	calculate(0,converter.texaccept);
	return true;
}

//
//
//
function getForm(formname,el)
{
	if(formname)
	{
		for(var i=0;i<document.forms.length;i++)
		{
			if(document.forms[i].name==formname)
			{
				return document.forms[i];
			}
		}
	}
	else if(el)
	{
		var tagName=el.parentNode.tagName.toLowerCase();
		if(tagName == 'form')
		{
			return el.parentNode;
		}
		else
		{
			return getForm(0,el.parentNode)
		}
	}
	return false;
}

/************************************************

*************************************************/
//
//
//
function filledit(drop,edit,alt,sender)
{
	if(edit && drop && drop.options[drop.options.selectedIndex].value!=-1 && sender!='self')
	{
		edit.value=drop.options[drop.options.selectedIndex].value;
	}
	else if(edit && edit.value=='' && alt && alt.value!=-1 && sender!='self')
	{
		edit.value=alt.value;
	}
}

//
//
//
function matchcode(el,selectbox)
{
	if(selectbox && selectOption(curcode,selectbox,el.value))
	{
		return 1;
	}
	return 0;
}

//
//
//
function codeexists(code)
{
	for(var i=0;i<curcode.length;i++)
	{
		if(curcode[i]==code)
		{
			return 1;
		}
	}
	return 0;
}

//
//
//
function getrate(code)
{
	for(var i=0;i<curcode.length;i++)
	{
		if(curcode[i]==code)
		{
			return currate[i];
		}
	}
	return -1;
}

//
//
//
function selectOption(selectbox1,selectbox2,value)
{
	for(var i=0;i<curcode.length;i++)
	{
		if(selectbox1[i]==value)
		{
			selectbox2.options[i].selected=true;
			return 1;
		}
	}
	selectbox2.options[0].selected=true;	
	return 0;
}

//
//
//
function addOption(selectbox,value,text)
{
	var optn = document.createElement("OPTION");
	optn.text = text;
	optn.value = value;
	selectbox.options.add(optn);
}

//
//
//
function checkConvert(converter)
{
	if(!converter)
	{
		alert('Expecting a form matching initialize() call ');
		return 0;
	};
	if(document.getElementById('textor'))
	{
		if(document.getElementById('textor').href=='http://www.textor.com/')
		{
			if(
			(
				(/(\.*)Textor Webmasters Ltd(\.*)/.test(document.getElementById('textor').innerHTML))
					||
				(/(\.*)Governor Textor Ltd(\.*)/.test(document.getElementById('textor').innerHTML))
			)
			&&
			(/(\.*)All rates are indicative only(\.*)/.test(document.getElementById('textor').innerHTML)))
			{
				if (converter.texaccept && converter.texaccept.value == "site operator accepts conditions at http://cconv.textor.com")
				{
					siteok=1;
				}
				else
				{
					alert('Error: You must include\n<input type="hidden" name="texaccept" value="site operator accepts conditions at http://cconv.textor.com" />\n');
					return 0;
				}	
			}
			else
			{
				alert('Error: The Textor link must include \nGovernor Textor Ltd\nand a note that\nAll rates are indicative only');
				return 0;
			}
		}
		else
		{
			alert('Error: You must include a \nlink back to www.textor.com');
			return 0;
		}
	}
	else
	{
		alert('Error: You must include a \nlink back to www.textor.com\nThe href must have ID="textor"');
		return 0;
	}
	if(!converter.amount)
	{
		alert('No amount field');
		return 0;
	}
	else
	{
		if(!converter.amount.value)
		{
			converter.amount.value=1;
		}
	}
}

//
//
//
function cconv(converter,curin,curout)
{
	var result='result';

	if(typeof converter.resfield != "undefined")
	{
		result=converter.resfield.value;
	}
	if(!(converter.amount.value))
	{
		document.getElementById(result).innerHTML="Amount????";
	} 
	else if ((getrate(curin)==-1) || (getrate(curout)==-1))
	{
		document.getElementById(result).innerHTML = "Rate N/A";
	}
	else
	{
		var res = parseFloat(converter.amount.value)*(parseFloat(getrate(curin))/parseFloat(getrate(curout)));
		res=Math.round(res*100)/100;
		if(document.getElementById(result))
		{
			document.getElementById(result).innerHTML=res;
		}
	}
}

//
//
//
function calculate(sender,el)
{
	var converter='';
	if(el)
	{
		converter=getForm(0,el);
	}
	if(sender!='self')
	{
		filledit(converter.curin,converter.ccodein,converter.defin);
		filledit(converter.curout,converter.ccodeout,converter.defout);
	}

	var cinput='';
	var coutput=''; 
	if(converter.curin && converter.curin.options[converter.curin.options.selectedIndex].value)
	{
		cinput=converter.curin.options[converter.curin.options.selectedIndex].value;
	}
	else if(converter.ccodein && converter.ccodein.value)
	{
		cinput=converter.ccodein.value;
	}
	else if(converter.defin && converter.defin.value && typeof converter.ccodein == "undefined")
	{
		cinput=converter.defin.value;
	}


	if(converter.curout && converter.curout.options[converter.curout.options.selectedIndex].value)
	{
		coutput=converter.curout.options[converter.curout.options.selectedIndex].value;
	}
	else if(converter.ccodeout && converter.ccodeout.value)
	{
		coutput=converter.ccodeout.value;
	}
	else if(converter.defout && converter.defout.value && typeof converter.ccodeout == "undefined" )
	{
		coutput=converter.defout.value;
	}
	
	cconv(converter,cinput,coutput);
}
