function calculateRates() {
	var myForm = document.forms["ratesForm"];

	/* alert("intAdults: " + myForm["intAdults"].value + " intChildren: " + myForm["intChildren"].value + " intOvernight: " + myForm["intOvernight"].value + " electric: " + myForm["electric"].checked + " sewage: " + myForm["sewage"].checked + " honeywagon: " + myForm["honeywagon"].checked + " radioRates: " + myForm["radioRatesR"].checked + " radioDepositY: " + myForm["radioDepositY"].checked); */
   
	var varAdults = myForm["intAdults"].value;
	var varChildren = myForm["intChildren"].value;
	var varOvernight = myForm["intOvernight"].value;
	var varElectric = myForm["electric"].checked;
	var varSewage = myForm["sewage"].checked;
	var varHoneywagon = myForm["honeywagon"].checked;
	var varRadioRatesR = myForm["radioRatesR"].checked;
	var varRadioDepositY = myForm["radioDepositY"].checked;

	document.getElementById("numAdult").innerHTML = varAdults;
	document.getElementById("numChildren").innerHTML = varChildren;

	/* If intOvernight is undefined then default to 1. */
	if (!varOvernight) {
		varOvernight = 1;
		myForm["intOvernight"].value = "1";
	}

	if (varAdults > 0)
		document.getElementById("overnightAdult").innerHTML = varOvernight;
	else
		document.getElementById("overnightAdult").innerHTML = "";

	if (varChildren > 0)
		document.getElementById("overnightChildren").innerHTML = varOvernight;
	else
		document.getElementById("overnightChildren").innerHTML = "";
	
	if (varElectric)
		document.getElementById("overnightElectric").innerHTML = varOvernight;
	else
		document.getElementById("overnightElectric").innerHTML = "";

	if (varSewage)
		document.getElementById("overnightSewage").innerHTML = varOvernight;
	else
		document.getElementById("overnightSewage").innerHTML = "";

	var total = 0;
	var varAdultRate = 0;
	var varChildrenRate = 0;
	var varElectricRate = 0;
	var varSewageRate = 0;
	var varHoneywagonRate = 0;

	if (varRadioRatesR) {
		if (varAdults > 0)
			document.getElementById("ratesAdult").innerHTML = "$10";
		else
			document.getElementById("ratesAdult").innerHTML = "";

		if (varChildren > 0)
			document.getElementById("ratesChildren").innerHTML = "$3";
		else
			document.getElementById("ratesChildren").innerHTML = "";

		varAdultRate = 10;
		varChildrenRate = 3;
	}
	else {
		if (varRadioDepositY) {
			document.getElementById("ratesAdult").innerHTML = "$10";
			document.getElementById("ratesChildren").innerHTML = "$3";

			varAdultRate = 10;
			varChildrenRate = 3;
		}
		else {
			document.getElementById("ratesAdult").innerHTML = "$12";
			document.getElementById("ratesChildren").innerHTML = "$5";

			varAdultRate = 12;
			varChildrenRate = 5;
		}
	}

	if (varElectric) {
		document.getElementById("ratesElectric").innerHTML = "$6";
		varElectricRate = 6;
	}
	else {
		document.getElementById("ratesElectric").innerHTML = "";
		varElectricRate = 0;
	}

	if (varSewage) {
		document.getElementById("ratesSewage").innerHTML = "$5";
		varSewageRate = 5;
	}
	else {
		document.getElementById("ratesSewage").innerHTML = "";
		varSewageRate = 0;
	}

	if (varHoneywagon) {
		document.getElementById("ratesHoneywagon").innerHTML = "$5";
		varHoneywagonRate = 5;
	}
	else {
		document.getElementById("ratesHoneywagon").innerHTML = "";
		varHoneywagonRate = 0;
	}
	
	var subtotalAdult = varAdultRate * varAdults * varOvernight;
	var subtotalChildren = varChildrenRate * varChildren * varOvernight;
	var subtotalElectric = varElectricRate * varOvernight;
	var subtotalSewage = varSewageRate * varOvernight;
	var subtotalHoneywagon = varHoneywagonRate;

	total += subtotalAdult;
	total += subtotalChildren;
	total += subtotalElectric;
	total += subtotalSewage;
	total += subtotalHoneywagon;

	if (subtotalAdult > 0)
		document.getElementById("subtotalAdult").innerHTML = "$" + subtotalAdult;
	else
		document.getElementById("subtotalAdult").innerHTML = "";

	if (subtotalChildren > 0)
		document.getElementById("subtotalChildren").innerHTML = "$" + subtotalChildren;
	else
		document.getElementById("subtotalChildren").innerHTML = "";

	if (subtotalElectric > 0)
		document.getElementById("subtotalElectric").innerHTML = "$" + subtotalElectric;
	else
		document.getElementById("subtotalElectric").innerHTML = "";

	if (subtotalSewage > 0)
		document.getElementById("subtotalSewage").innerHTML = "$" + subtotalSewage;
	else
		document.getElementById("subtotalSewage").innerHTML = "";

	if (subtotalHoneywagon > 0)
		document.getElementById("subtotalHoneywagon").innerHTML = "$" + subtotalHoneywagon;
	else
		document.getElementById("subtotalHoneywagon").innerHTML = "";

	if (varRadioRatesR) {
		if (total < 20) // Minimum regular rates per site is $20
			document.getElementById("total").innerHTML = "$" + 20;
		else 
			document.getElementById("total").innerHTML = "$" + total;
	}
	else {
		if (total < 20) // Minimum holiday rates per site is $20
			document.getElementById("total").innerHTML = "$" + 20;
		else
			document.getElementById("total").innerHTML = "$" + total;
	}

	if (!(varOvernight > 0))
		document.getElementById("total").innerHTML = "";
}

/* Resets the Rates Calculator form to its original state. */
function clearForm() {
	var myForm = document.forms["ratesForm"];
	myForm.reset();
	toggleRadioRates();
	clearEstimationTable();
}

/* Resets the Rates Estimation table to its original state. */
function clearEstimationTable() {
	document.getElementById("numAdult").innerHTML = "";
	document.getElementById("numChildren").innerHTML = "";
	document.getElementById("overnightAdult").innerHTML = "";
	document.getElementById("overnightChildren").innerHTML = "";
	document.getElementById("overnightElectric").innerHTML = "";
	document.getElementById("overnightSewage").innerHTML = "";
	document.getElementById("ratesAdult").innerHTML = "";
	document.getElementById("ratesChildren").innerHTML = "";
	document.getElementById("ratesElectric").innerHTML = "";
	document.getElementById("ratesSewage").innerHTML = "";
	document.getElementById("ratesHoneywagon").innerHTML = "";
	document.getElementById("subtotalAdult").innerHTML = "";
	document.getElementById("subtotalChildren").innerHTML = "";
	document.getElementById("subtotalElectric").innerHTML = "";
	document.getElementById("subtotalSewage").innerHTML = "";
	document.getElementById("subtotalHoneywagon").innerHTML = "";
	document.getElementById("total").innerHTML = "";
}

/* Toggles the deposit radio buttons so they're only 
 * enabled if the Holiday and Halloween Rates is selected. */
function toggleRadioRates() {
	var myForm = document.forms["ratesForm"];
	if (myForm["radioRatesR"].checked) {
		myForm["radioDepositY"].disabled = true;
		myForm["radioDepositN"].disabled = true;	
	}
	else {
		myForm["radioDepositY"].disabled = false;
		myForm["radioDepositN"].disabled = false;
	}
}

/* Allows user to only enter numbers into textfields. */
function onlyNumbers(e) {
	var keynum;
	var keychar;
	var numcheck;

	if (window.event) { // IE
		keynum = e.keyCode;
	}
	else if (e.which) { // Netscape/Firefox/Opera
		keynum = e.which;
	}

	if (keynum > 31 && (keynum < 48 || keynum > 57))
		return false;
	else
		return true;
}