var masterCurrency = 'GBP';
var currentRate = null;
var rates = null;

function initConvert(currency) {
	currentRate = currency;
	// get rates
	if (rates === null) {
		$.getJSON('/rates.json', function(data) {
			rates = data;
			convert(currency);
		});
	}
	else {
		convert(currency);
	}
}

function convert(currency) {
	$('span.currency').each(function(i) {
		$this = $(this);
		var content = $this.html().split(" ");
		var amount = parseFloat(content[0]);
		var oldCurrency = content[1];
		// convert rates from old to master
		amount /= rates[oldCurrency];
		amount *= rates[currency];
		$this.html(parseFloat(amount).toFixed(2) + ' ' + currency);
	});
}

var currencies = [
	{ 'short':'GBP', 'name':'British Pounds', 'master':true},
	{ 'short':'EUR', 'name':'Euros', 'master':false},
	{ 'short':'USD', 'name':'American Dollars', 'master':false},
	{ 'short':'CAD', 'name':'Canadian Dollars', 'master':false},
	{ 'short':'AUD', 'name':'Australian Dollars', 'master':false},
	{ 'short':'NZD', 'name':'New Zealand Dollars', 'master':false},
	{ 'short':'JPY', 'name':'Japanese Yen', 'master':false},
	{ 'short':'CHF', 'name':'Swiss Franc', 'master':false}
];

function outputCurrencies() {
	
	function generateFlag(currency) {
		var flag = '<a href="#">';
		flag += '<img src="/images/flags/currency-' + currency.short.toLowerCase() + '.gif" title="'+ currency.name +'" />';
		flag += '</a>';
		return flag;
	}
	
	var html = [
		'<table class="currency_table" cellspacing="0">',
			'<tr>',
				'<th colspan="2">Currency Converter</th>',
			'</tr>',
			'<tr>'
	];
	var initial = null;
	
	html[html.length] = '<td width="120" class="convert_title">Convert rates to:</td><td class="convert">';
	
	for (var i=0, len=currencies.length; i<len; i++) {
		var current = currencies[i];
		if (current.master === true) initial = current;
		html[html.length] = generateFlag(current);
	}
	
	html[html.length] = '</td></tr><tr><td colspan="4" class="disclaimer">Converted rates are for guidance purposes only and are approximate. The final rate you will pay is that displayed in ' + initial.name + '.</td></tr></table>';
	
	document.write(html.join(''));
	
	$('.convert a').each(function(i) {
		var currency = currencies[i];
		// add click event
		$(this).click(function(e) {
			initConvert(currency.short);
			return false;
		});
		// add tooltip
		//$(this).simpletip({ content: currency.name + ' (' + currency.short + ')' });
	});
	
}