/***
	Created by: Colin Kirsopp
	Needs jquery library to be loaded before this
	Needs cputils loaded before this
***/


// once DOM model loaded
$(document).ready(function() {
	
	setInitialCookies();
	
	// initialise values
	$('.alb-textbox').val("100.00"); 

	// fetch exchange rates
	var count = 0;
	var destCurrencies = new Array();
	for(i in CURRENCIES){
		destCurrencies[count++] = i;
	}
	
   	loadMultipleCurrencyRates('GBP',destCurrencies, updateCashRates);

	// set action listeners
	$(".alb-textbox").keyup(updateBuyAmount); // add listener for spend amount change
	$(".alb-textbox").blur( function(event){ // reset to 2 decimal places 
		var poundAmount = this.value;
		
		var floatVal = parseFloat(poundAmount);
		
		if(isNaN(floatVal) || floatVal < MIN_CASH_LOAD_AMOUNT){
			var $target = $(event.target);
			var idtag = $target.attr('id');
		  	var currency = idtag.substring(0,3);
	
			var fxrate = CURRENCIES[currency].fxrate;		
			var poundAmount = MIN_CASH_LOAD_AMOUNT;
			var currencyAmount = MIN_CASH_LOAD_AMOUNT * fxrate ;
			$('#'+currency+'_buys').html(CURRENCIES[currency].symbol+currencyAmount.toFixed(2));
			floatVal = poundAmount;
		}

		$(event.target).val(floatVal.toFixed(2));
	});


	$('#tr_EUR a').click(function(){ clickOrderButton('EUR'); });
	$('#tr_USD a').click(function(){ clickOrderButton('USD'); });
	$('#tr_AUD a').click(function(){ clickOrderButton('AUD'); });
	$('#tr_CAD a').click(function(){ clickOrderButton('CAD'); });
	//$('#tr_CNY a').click(function(){ clickOrderButton('CNY'); });
	$('#tr_CZK a').click(function(){ clickOrderButton('CZK'); });
	$('#tr_DKK a').click(function(){ clickOrderButton('DKK'); });
	$('#tr_HKD a').click(function(){ clickOrderButton('HKD'); });
	$('#tr_HUF a').click(function(){ clickOrderButton('HUF'); });
	$('#tr_JPY a').click(function(){ clickOrderButton('JPY'); });
	$('#tr_MYR a').click(function(){ clickOrderButton('MYR'); });
	$('#tr_NZD a').click(function(){ clickOrderButton('NZD'); });
	$('#tr_NOK a').click(function(){ clickOrderButton('NOK'); });
	$('#tr_PLN a').click(function(){ clickOrderButton('PLN'); });
	$('#tr_SGD a').click(function(){ clickOrderButton('SGD'); });
	$('#tr_ZAR a').click(function(){ clickOrderButton('ZAR'); });
	$('#tr_SEK a').click(function(){ clickOrderButton('SEK'); });
	$('#tr_CHF a').click(function(){ clickOrderButton('CHF'); });
	$('#tr_THB a').click(function(){ clickOrderButton('THB'); });
	$('#tr_TRY a').click(function(){ clickOrderButton('TRY'); });
	$('#tr_AED a').click(function(){ clickOrderButton('AED'); });
	
	$('.offer').val(getCurrentOffer());
	$('.refcode').val(getRefcode());

});


function updateCashRates(rates){
	for (aRate in rates){
		var toCurrency = rates[aRate].toCurrency;
		var currency = CURRENCIES[toCurrency];
		if(currency){
			currency.fxrate = rates[aRate].rate;
			$('#tr_'+toCurrency+' .rate').html(currency.symbol+' ' +currency.fxrate ); 
			var to_amount = 100 * currency.fxrate;
			$('#'+toCurrency+'_buys').html(currency.symbol+to_amount.toFixed(2));
		}
	}
}

function updateBuyAmount(event){
  	var $target = $(event.target);
  	var from_amount = $target.val();
	
	if (isNaN(from_amount)|| from_amount < 0){
		return;
	}

	if(from_amount > MAX_CASH_LOAD_AMOUNT){
		from_amount = MAX_CASH_LOAD_AMOUNT;
		$target.val(from_amount.toFixed(2));
	}
	
  	var idtag = $target.attr('id');
  	var currency = idtag.substring(0,3);
	var fxrate = CURRENCIES[currency].fxrate;

	var to_amount = from_amount * fxrate;

	$('#'+currency+'_buys').html(CURRENCIES[currency].symbol+to_amount.toFixed(2));
}

function clickOrderButton(currency){
	$('#toCurrencyInput').val(currency);
	var buyAmount = $('#'+currency+'_input').val();
	$('#buyAmountInput').val(buyAmount * CURRENCIES[currency].fxrate);
	$('#cash_order_form').submit();  	
}

