function calculateRepayment() {
	var amount = parseFloat($('amount').value);
	var apr	= parseFloat($('apr').value);
	var rate = apr / 100 / 12;
	var deposit = parseInt($('deposit').options[$('deposit').selectedIndex].value);
	var balance = parseFloat(amount - deposit);
	var years = parseInt($('term').options[$('term').selectedIndex].value);
	var months = years * 12;

	var monthly = rate * balance / (1 - Math.pow(1 + rate, -months));
	var totalpayable = parseFloat(monthly * months);
	var credit = parseFloat(totalpayable - balance);
	var weekly = parseFloat((monthly * 12) / 52);
	$('calc_balance').update(formatCurrency(balance.toFixed(2)));
	$('calc_interest').update(formatCurrency(credit.toFixed(2)));
	$('calc_total').update(formatCurrency(totalpayable.toFixed(2)));
	$('calc_weekly').update(formatCurrency(weekly.toFixed(2)));
}

function changeImage(target, src) {
	$(target).style.backgroundImage = 'url(' + src + ')';
	return false;
}

function copyDeliveryAddress(toggle) {
	alert(toggle);
	$('deliveryname').value = $('billingname').value;
}

function formatCurrency(amount) {
	var delimiter = ","; // replace comma if desired
	var a = amount.split('.',2)
	var d = a[1];
	var i = parseInt(a[0]);
	if(isNaN(i)) { return ''; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	var n = new String(i);
	var a = [];
	while(n.length > 3)
	{
		var nn = n.substr(n.length-3);
		a.unshift(nn);
		n = n.substr(0,n.length-3);
	}
	if(n.length > 0) { a.unshift(n); }
	n = a.join(delimiter);
	if(d.length < 1) { amount = n; }
	else { amount = n + '.' + d; }
	amount = minus + amount;
	return amount;
}

function movePanel(id, xPosition) {
	new Effect.Move(id, {x:xPosition, mode:'relative'});
	$(id).blur();
	return false;
}

var popwin;
function openWin(isurl, winw, winh, spec) {
	var x = screen.availWidth;
	var y = screen.availHeight;
	var width = winw;
	var height = winh;
	var left = (x - width) / 2;
	var top = (y - height) / 2;
	popwin = window.open(isurl,"popupwin",spec+",top="+top+",left="+left+",width="+width+",height="+height);
	popwin.focus();
	popwin = null;
	return false;
}

function setPaymentFields(paymentSelectObj) {
	var fieldArray = {
		"AMEX":		[["startdatemonth", false], ["startdateyear", false], ["issuenumber", true]],
		"DELTA":	[["startdatemonth", true], ["startdateyear", true], ["issuenumber", true]],
		"MC":		[["startdatemonth", true], ["startdateyear", true], ["issuenumber", true]],
		"SOLO":		[["startdatemonth", false], ["startdateyear", false], ["issuenumber", false]],
		"SWITCH":	[["startdatemonth", false], ["startdateyear", false], ["issuenumber", false]],
		"VISA":		[["startdatemonth", true], ["startdateyear", true], ["issuenumber", true]],
		"UKE":		[["startdatemonth", true], ["startdateyear", true], ["issuenumber", true]]
	};
	var fieldGroup = fieldArray[paymentSelectObj.options[paymentSelectObj.selectedIndex].value] ? fieldArray[paymentSelectObj.options[paymentSelectObj.selectedIndex].value] : false;
	if(fieldGroup) {
		for(var i=0; i<fieldGroup.length; i++) {
			var obj = $(fieldGroup[i][0]);
			if(obj) {
				obj.disabled = fieldGroup[i][1];
			}
		}
	}
}

function swapTab(parent, tabid, selectedtab) {
	// swap content
	var tabcontent = $(parent).getElementsByClassName('tab');
	for (var i = 0; i < tabcontent.length; ++i) {
		Element.hide(tabcontent[i]);
	}
	Element.show(tabid);
	
	// tab down state
	var tabs = $(parent).getElementsBySelector('div[class="tabs"]/ul/li/a');
	for (var i = 0; i < tabs.length; ++i) {
		tabs[i].removeClassName('down');
	}
	
	// highlight tab
	var tab = $(parent + selectedtab);
	tab.addClassName('down');
	
	$(parent).blur();

	return false;
}

function toggleInput(obj, defaultVal) {
	if(obj.value == defaultVal) {
		obj.value = "";
	} else if(obj.value == "") {
		obj.value = defaultVal;
	}
}

function validateLocation(form) {
	if($('saddr').value == "") {
		alert('Please enter a location or postcode');
		return false;
	}
	form.target = "_blank";
}