var currency_data=new Array(
'AFN|0.01307|1|February 1, 2012|4|0',
'ALL|0.006058|0.1|February 1, 2012|4|0',
'DZD|0.00860304|0.05||6|1',
'ADP|0.00509963|1||6|1',
'AOA|0.006766|0.1|February 1, 2012|4|0',
'ARS|0.1488|0.01||4|2',
'AMD|0.001666|0.2|February 1, 2012|4|0',
'AWG|0.36022|0.01||5|2',
'AUD|0.688735|0.05||6|1',
'ATS|0.0616634|1||6|1',
'AZN|0.8202|0.01|February 1, 2012|4|0',
'BSD|0.645|0.01||3|2',
'BHD|1.71479|0.05||6|1',
'BDT|0.007641|0.01||4|2',
'BBD|0.322|0.01||3|2',
'BYR|0.000077102|1||5|2',
'BEF|0.0210339|0.5||6|1',
'BZD|0.3309|0.01||5|2',
'BMD|0.644762|0.01||6|1',
'BTN|0.01324|0.20||4|2',
'BTC|3.82|0.0001||3|3',
'BOB|0.0933|0.1||3|2',
'BAM|0.4307|0.5|February 1, 2012|4|0',
'BWP|0.089493|0.01||6|1',
'BRC|0.000135322|0.01||6|1',
'BRL|0.372136|0.01||6|1',
'BND|0.516471|0.01||6|1',
'BGN|0.43238|0.01||5|2',
'BGL|0.00043238|10||5|2',
'BIF|0.00049817|1||5|2',
'KHR|0.00015865|100||5|2',
'CAD|0.648328|0.01||6|1',
'CVE|0.007662|0.01||4|2',
'KYD|0.78629|0.01||5|2',
'XAF|0.00129354|1||6|1',
'CLP|0.00133298|1||6|1',
'CLF|29.8872|0.01||7|4',
'CNH|0.1023|0.5|February 1, 2012|4|0',
'CNY|0.102178|0.5||6|1',
'COP|0.000364909|100|February 2, 2012|6|1',
'KMF|0.0017245|0.05||5|2',
'CRC|0.001264|0.01||5|2',
'HRK|0.11128|0.01||5|2',
'CUC|0.644762|0.01||6|1',
'CUP|0.645|0.01||3|2',
'CYP|1.439|0.01|February 1, 2012|4|0',
'CZK|0.0338547|0.5||6|1',
'DKK|0.114149|0.25||6|1',
'DJF|0.0036121|10||5|2',
'DOP|0.016586|1||5|2',
'NLG|0.385036|0.5||6|1',
'XCD|0.239|0.01||3|2',
'ECS|0.00002579|100|February 1, 2012|4|0',
'EGP|0.10682|0.25||5|2',
'SVC|0.0736871|0.05||6|1',
'ERN|0.04298|0.01|February 1, 2012|4|0',
'EEK|0.05385|0.05|February 1, 2012|4|0',
'ETB|0.037112|0.01||5|2',
'EUR|0.848507|0.01||6|1',
'XEU|0.848507|0.01||6|1',
'FKP|1.02027|0.01||6|1',
'FJD|0.36668|0.01||5|2',
'FIM|0.142709|1||6|1',
'ZWD|0.|0.01||6|1',
'ZWL|0.0000644762|0.01||6|1',
'CDF|0.0007038|0.01|February 1, 2012|4|0',
'FRF|0.129354|0.01||6|1',
'XPF|0.00711049|1||6|1',
'GMD|0.021311|0.01||5|2',
'GEL|0.3861|0.01|February 1, 2012|4|0',
'DEM|0.433835|0.01||6|1',
'GHS|0.3834|0.01|February 1, 2012|4|0',
'GIP|1.0198|0.01||5|2',
'GRD|0.00249012|0.5||6|1',
'GTQ|0.082965|0.01||5|2',
'GNF|0.000089086|1||5|2',
'GYD|0.0031614|1||5|2',
'HTG|0.01598|0.05||4|2',
'HNL|0.033837|0.01||5|2',
'HKD|0.083164|0.1||5|2',
'HUF|0.00291471|1||6|1',
'ISK|0.00525393|1||6|1',
'INR|0.0131692|0.1||6|1',
'IDR|0.00007168|25||6|1',
'IRR|0.0000526405|5|February 1, 2012|6|1',
'IQD|0.00055303|500||5|2',
'IEP|1.07738|0.01||6|1',
'ILS|0.173463|0.01||6|1',
'ITL|0.000438217|1||6|1',
'JMD|0.007476|0.01||4|2',
'JPY|0.00846255|1||6|1',
'JEP|1.02027|0.01||6|1',
'JOD|0.91002|0.05||5|2',
'KZT|0.00433862|1||6|1',
'KES|0.00771|0.01||4|2',
'KRW|0.000576452|1||6|1',
'KWD|2.32483|0.001|February 1, 2012|6|1',
'KGS|0.01376|1|February 1, 2012|4|0',
'LAK|0.00008056|500||5|2',
'LVL|1.212|0.01||4|2',
'LBP|0.00042884|50||5|2',
'LSL|0.08568|0.01||4|2',
'LRD|0.00876|0.05||4|2',
'LYD|0.517491|0.001||6|1',
'LTL|0.2455|0.01||5|2',
'LUF|0.0210339|0.5||6|1',
'MOP|0.080731|0.1||5|2',
'MKD|0.013723|0.5||5|2',
'MGA|0.0002953|1|February 1, 2012|4|0',
'MGF|0.00005906|50|February 1, 2012|4|0',
'MWK|0.0039495|5||5|2',
'MYR|0.213321|0.01||6|1',
'MVR|0.04187|0.01||4|2',
'MTL|1.97649|0.01||6|1',
'MRO|0.0022204|0.2||5|2',
'MUR|0.0222025|0.01||6|1',
'MXN|0.0507207|0.05||6|1',
'MXV|0.2402314|1||7|5',
'MDL|0.054296|0.01||5|2',
'MNT|0.00047496|1||5|2',
'MAD|0.076113|0.2||5|2',
'MMK|0.099|50||3|2',
'NAD|0.08524|0.05||4|2',
'NPR|0.00821772|0.05||6|1',
'ANG|0.36|0.01||3|2',
'MZN|0.02381|1|February 1, 2012|4|0',
'TWD|0.02186|1||4|2',
'TRY|0.36783|0.01||5|2',
'ZRN|0.0000007038|10|February 1, 2012|4|0',
'NZD|0.537216|0.10||6|1',
'NIO|0.02793|0.05||5|2',
'NGN|0.0040235|1||5|2',
'KPW|0.0007164|0.01||5|2',
'NOK|0.111003|0.5||6|1',
'AFA|0.00001307|1|February 1, 2012|4|0',
'AZM|0.000164|10|February 1, 2012|4|0',
'GHC|0.00003834|0.1|February 1, 2012|4|0',
'MXP|0.0000507207|0.01||6|1',
'MZM|0.00002381|1|February 1, 2012|4|0',
'ROL|0.000019544|0.01||5|2',
'RUR|0.0000213226|10||6|1',
'TMM|0.00004524|1|February 1, 2012|4|0',
'OMR|1.67688|0.005||6|1',
'XAL|0.04023|0.01|February 2, 2012|4|6',
'XCP|0.1524|0.01|February 2, 2012|4|6',
'XAU|1113.1|0.001||5|2',
'XPD|449.22|0.001|January 29, 2012|5|7',
'XPT|1050.3|0.001|January 29, 2012|5|7',
'XAG|21.937|0.001|January 29, 2012|5|7',
'PKR|0.00712896|0.01||6|1',
'PAB|0.645|0.01||3|2',
'PGK|0.3097|0.01||4|2',
'PYG|0.00013836|1||5|2',
'GBX|0.0102027|1||6|1',
'PEN|0.239793|0.01|February 2, 2012|6|1',
'PHP|0.0150952|0.01||6|1',
'PLN|0.20245|0.01||6|1',
'PTE|0.00423234|0.05||6|1',
'GBP|1.02027|0.01||6|1',
'QAR|0.177132|1||6|1',
'RON|0.19544|0.01||5|2',
'RUB|0.0213226|0.01||6|1',
'RWF|0.0010668|1||5|2',
'SHP|1.0198|0.01||5|2',
'WST|0.282|0.05||4|2',
'STD|0.000034484|0.5||5|2',
'SAR|0.171937|1||6|1',
'ZWN|0.|5||6|1',
'RSD|0.007957|0.5|February 1, 2012|4|0',
'CSD|0.007957|0.5|February 1, 2012|4|0',
'SCR|0.045998|0.05||5|2',
'SLL|0.00014827|10||5|2',
'SGD|0.516471|0.01||6|1',
'SKK|0.0281653|0.5||6|1',
'SIT|0.00354076|0.1||6|1',
'SBD|0.09144|0.05||4|2',
'SOS|0.00039629|1||5|2',
'ZAR|0.084655|0.05||6|1',
'ESP|0.00509963|1||6|1',
'SDR|1|0.01||6|1',
'LKR|0.00566079|1||6|1',
'SDD|0.0024072|0.01||5|2',
'SDP|0.00024072|0.01||5|2',
'SDG|0.24072|0.01||5|2',
'SRD|0.1954|0.01|February 1, 2012|4|0',
'SRG|0.0001954|5|February 1, 2012|4|0',
'SZL|0.08568|0.01||4|2',
'SEK|0.09578|0.01||6|1',
'CHF|0.704196|0.05||6|1',
'SYP|0.01122|0.25||4|2',
'TJS|0.1355|0.05|February 1, 2012|4|0',
'TZS|0.00040442|0.05||5|2',
'THB|0.0208378|0.25||6|1',
'THO|0.02077|0.25|February 1, 2012|4|0',
'ZWR|0.00000000000000006447|0.01||6|1',
'TOP|0.38071|0.01||5|2',
'TTD|0.100769|0.01||6|1',
'TND|0.4281|0.005||6|1',
'TRL|0.00000036783|5000||5|2',
'TMT|0.2262|1|February 1, 2012|4|0',
'UGX|0.00027815|50||5|2',
'UAH|0.080179|0.01||5|2',
'AED|0.175565|0.25||6|1',
'USD|0.644762|0.01||6|1',
'UYU|0.0330944|0.1|February 2, 2012|6|1',
'UZS|0.0003558|0.01|February 1, 2012|4|0',
'VUV|0.00722|1||4|2',
'VEB|0.000150319|1||6|1',
'VEF|0.150319|1||6|1',
'VND|0.000030742|200||5|2',
'XOF|0.00129354|1||6|1',
'YER|0.0030157|0.005||5|2',
'YUM|0.4307|0.5|February 1, 2012|4|0',
'ZMK|0.00012483|0.01||5|2',
'');
var currency_sources=new Array(
'Bloomberg',
'The International Monetary Fund',
'Yahoo Finance',
'Bitcoin Charts',
'the Central Bank of Chile',
'the Central Bank of Mexico',
'The London Metal Exchange',
'Kitco',
'');
var lastUpdate='February 3, 2012';
var currency_sdrPer=new Array();
var currency_Unit=new Array();
var currency_Update=new Array();
var currency_SF=new Array();
var currency_Src=new Array();
currency_make_arrays();
function currency_make_arrays(){
	for (var d in currency_data){
		if (currency_data[d] != ''){
			var a=currency_data[d].split('\|');
			var c=a[0];
			currency_sdrPer[c]=a[1];
			currency_Unit[c]=a[2];
			currency_Update[c]=((a[3]=='')?lastUpdate:a[3]);
			currency_SF[c]=a[4];
			currency_Src[c]=currency_sources[a[5]];
		}
	}
}


var lastName=null;
var lastValue=null;
var lastInput=null;
function convert(name,value,input){
	lastName=name;
	lastValue=value;
	lastInput=input;
	var secondName='';
	var inputCount=0;
	if (name==null||value==null||input==null)return;
	if (value!=''){
		var sigfigs=(new SignificantFigures(value)).sigFigs;
		var valueClean=value.replace(/[^0-9\.eE\-]/g, '');
		var fromAmount=parseFloat(valueClean);
		if (''+fromAmount=='NaN'){
			for (var i=0;i<document.currency.elements.length;i++){
				var element=document.currency.elements[i];
				if (element.type=='text'){
					element.value='';
				}
			}
		} else {
			fromAmount*=currency_sdrPer[name];
			for (var i1=0;i1<document.currency.elements.length;i1++){
				var element1=document.currency.elements[i1];
				if (element1.type=='text'){
					if (element1.name != lastName){
						secondName=element1.name;
					}
					inputCount++;
					var calcsf = sigfigs;
					if (calcsf>currency_SF[name])calcsf=currency_SF[name];
					if (calcsf>currency_SF[element1.name])calcsf=currency_SF[element1.name];
					var newValue=fromAmount/currency_sdrPer[element1.name];
					var newValueSigFig=displaySigFigs(
						newValue,
						calcsf,
						-99,
						false
					);
					if (document.options.rounding[0].checked){
						newValue=parseFloat(newValueSigFig);
						var maxDecimals=currency_getDecimals(currency_Unit[element1.name]);
						var actualDecimals=currency_getDecimals(newValueSigFig);
						var newValueRounded=currency_makeDecimals(Math.round(newValue/currency_Unit[element1.name])*currency_Unit[element1.name],maxDecimals);
						if (maxDecimals>=actualDecimals && Math.abs(newValue-parseFloat(newValueRounded))<0.000001){
							element1.value=newValueSigFig;
						} else {
							element1.value=newValueRounded;
						}
					} else if (document.options.rounding[1].checked){
						element1.value=newValueSigFig;
					} else if (document.options.rounding[2].checked){
						element1.value=currency_makeDecimals(Math.round(newValue/currency_Unit[element1.name])*currency_Unit[element1.name],currency_getDecimals(currency_Unit[element1.name]));
					} else {
						element1.value=''+newValue;
					}
				}
			}
		}
		var hrf = document.location.href;
		hrf=hrf.replace(/\#.*/,"");
		hrf+="#"+lastName+"="+lastValue;
		document.location.href=hrf;
	}
}
function l(){
	convert(lastName,lastValue,lastInput);
}
function c(input){
	convert(input.name,input.value,input);
}
function s(input){
	lastName=input.name;
	lastValue=input.value;
	lastInput=input;
	if (input.style){
		for (var i=0;i<document.currency.elements.length;i++){
			document.currency.elements[i].style.backgroundColor='#FFF2BF';
		}
		if (lastInput!=null)lastInput.style.backgroundColor='white'
		input.style.backgroundColor='white';
	}
}
function fillData(){
	fillIndData('allupdate',lastUpdate);
	for (var i in currency_Update){
		fillIndData(i+'date',currency_Update[i]);
		fillIndData(i+'source',currency_Src[i]);
		fillIndData(i+'sigfigs',currency_SF[i]);
	}
	var hrf=document.location.href;     
	var rr=hrf.match(/\#([A-Z]{3})/);   
	if (rr.length>1){
	    var b2=document.getElementById('currencyBox1');
        if (b2 && b2.innerHTML.indexOf(rr[1]) != -1){
            swapCurrencies();
        }
    }
	var r=hrf.match(/\#([A-Z]{3})=([\-0-9\.eE]+)/);
	if (r.length>2){
		convert(r[1],r[2],document.currency[r[1]]);
	}
}
function fillIndData(id,data){
	var d = document.getElementById(id);
	if (d){
		d.innerHTML=data;
	}
}
function swapCurrencies(){
	var b1=document.getElementById('currencyBox0');
	var b2=document.getElementById('currencyBox1');
	var t1=document.getElementById('currencyText0');
	var t2=document.getElementById('currencyText1');
	if (b1 && b2 && t1 && t2){
		var t=b1.innerHTML;
		b1.innerHTML=b2.innerHTML;
		b2.innerHTML=t;
		t=t1.innerHTML;
		t1.innerHTML=t2.innerHTML;
		t2.innerHTML=t;
	}
}
function currency_getDecimals(n){
	var ns=''+n;
	var i=ns.indexOf('.');
	if (i==-1)return 0;
	return ns.length-i-1;
}
function currency_makeDecimals(n,nd){
	var rs='';
	var d=-1;
	var t=''+n;
	for (var i=0;i<t.length;i++){
		var c=t.charAt(i);
		if (c=='.'){
			d=0;
		} else if (d>=0){
			d++;
			if (d>nd)return rs;
		}
		rs+=c;
	}
	if (d==-1){
		d=0;
		if (nd>0)rs+='.';
	}
	while (d<nd){
		rs+='0';
		d++;
	}
	return rs;
}
function currency_cfld(){
}
function currency_check_for_links(){
	if (!document.links||!document.links.length||!document.links[0].href) return;
	var r = /^http\:\/\/(?:[^\/]+\.)?(currency\.ostermiller\.org|coinmill\.com)\/?\$/;
	var link_found=!'http://coinmill.com/'.match(r);
	for (var i=0;!link_found&&i<document.links.length;i++){
		link_found=document.links[i].href.match(r);
	}
	if (!link_found){
		alert('This page should link to coinmill.com to show currency conversion rates');
		var i=new Image();
		i.onload=currency_cfld;
		i.onerror=currency_cfld;
		i.src='http://coinmill.com/cfl.gif?f='+escape(document.location.href.replace(new RegExp('^http://'),''))+'&d='+(new Date()).getTime();
	}
}
setTimeout('currency_check_for_links();',30000);

