var _form;
var _req;

var _amount = 0;
var _from;
var _to;
var _from_sym;
var _to_sym;

function convert(form) {
	_form = form;
	
	var from = form.from.value.split('_');
	var to = form.to.value.split('_');
	
	$('currency_result').style.display = 'block';
	$('result_display').style.display = 'none';
	$('result_working').style.display = 'block';
	_from = from[0];
	_to = to[0];
	_from_sym = from[1];
	_to_sym = to[1];
	enable_form(form, false);
	_amount = parseInt(form.amount.value);
	
	_req = new Ajax.Request('/_fetch_exch_rate.cfm', { method:'get', parameters:'from='+from[0]+'&to='+to[0]+'&uniq='+Math.round(Math.random()*10000), onComplete:show_conversion });
	
	return false;
}

function show_conversion(req) {
	$('result_original_symbol').innerHTML = _from_sym;
	$('result_original').innerHTML = dollar_pad(_amount);
	$('result_from').innerHTML = _from;
	$('result_to').innerHTML = _to;
	$('result_exchanged_symbol').innerHTML = _to_sym;
	$('result_exchanged').innerHTML = dollar_pad(Math.round((_amount*req.responseXML.firstChild.firstChild.nodeValue)*100)/100);
	$('result_display').style.display = 'block';
	$('result_working').style.display = 'none';
	enable_form(_form, true);
}

function enable_form(form, enable) {
	var elements = ['currency_amount', 'currency_from', 'currency_to', 'currency_button'];
	enable = (enable == true) ? true : false;
	
	for (var e in elements)
		$(elements[e]).disabled = !enable
}

function dollar_pad(value) {
	var parts = value.toString().split('.');
	if (parts.length > 1) {
		if (parts[1].length == 1)
			parts[1] += '0';
	}
	else
		parts[1] = '00';
	
	return parts.join('.');
}
