function calculateMpg(cost, milesCovered, price, decimalPlaces) {
	// Litres per UK Gallon.
	var litresPerGallon = 0.219969157;

	// Convert pence to pounds.
	price /= 100.0;

	// Convert cost to gallons.
	var gallons = litresPerGallon*(cost/price);

	// Calculate MPG.
	var mpg = milesCovered/gallons;

	// Return with the specified number of decimal places.
	return round(mpg, decimalPlaces);
}


function  costPerMile(miles, cost, decimalPlaces) {
	return round((cost*100)/miles, decimalPlaces);
}


function getMpg(mpgform) {
	//for (var i=0; i < mpgform.elements.length-3; i++)
	//	if (!(/^\d+(\.\d+)?$/).test(mpgform.elements[i].value) || !mpgform.elements[i].value) {
	//		mpgform.elements[i].value = "?";
	//		mpgform.elements[i].select();
	//		return;
	//	}

	document.getElementById("mpg").value = calculateMpg(document.getElementById("fuelUsed").value,
		document.getElementById("milesCovered").value, document.getElementById("fuelCost").value, 1);

	document.getElementById("costPerMile").value = costPerMile(document.getElementById("milesCovered").value, document.getElementById("fuelUsed").value, 2);
}


function round(num, decimalPlaces) {
	decimalPlaces = Math.pow(10.0, decimalPlaces);
	return Math.round(num*decimalPlaces)/decimalPlaces;
}