function checkRegistration() {
	requiredVar = new Array("name","lname","nickname","title","ssn","email","bank_name","bank_address","bank_city","bank_zip", "bank_phone","applicant_initials","applicant_date","officer_initials","officer_date","officer_name","officer_title");
	requiredExp = new Array("First Name","Last Name","Nickname","Title","SSN", "Email", "Bank Name","Bank Address","Bank City","Zip Code","Bank Phone","Applicant's Initials", "Applicant Date", "Officer's Initials", "Officer's Date", "Officer's Name", "Officer's Title");
	reqCount = requiredVar.length;
	omitcount = 0;
	omittedFields = "";
	
	for (i=0; i<reqCount; i++) {
		fieldname = requiredVar[i];
		if (!document.register[fieldname].value) {
			omitcount++;
			omittedFields += omitcount + ". " + requiredExp[i] + "\n";
		}
	}

	if (omitcount > 0) {
		alert("Please complete these required fields:\n" + omittedFields);
		return false;
	}
	else {
		return true;
	}
}

function getSelectedRadio(buttonGroup) {
   if (buttonGroup[0]) { // if the button group is an array (one button is not an array)
	  for (var i=0; i<buttonGroup.length; i++) {
		 if (buttonGroup[i].checked) {
			return i
		 }
	  }
   } else {

	  if (buttonGroup.checked) { return 0; } // if the one button is checked, return zero
   }
   // if we get to this point, no radio button is selected
   return -1;
}

function getSelectedRadioValue(buttonGroup) {
   // returns the value of the selected radio button or "" if no button is selected
   var i = getSelectedRadio(buttonGroup);
   if (i == -1) {
	  return "";
   } else {
	  if (buttonGroup[i]) { // Make sure the button group is an array (not just one button)
		 return buttonGroup[i].value;
	  } else { // The button group is just the one button, and it is checked
		 return buttonGroup.value;
	  }
   }
}

function calculateHousing() {
	var housing = getSelectedRadioValue(document.register.housing_cost);
	if (housing) {
		return housing;
	}
	else {
		
		return false;
	}
}

function calculateNights() {
	var nights = 0;
	if (document.register.night_1.checked) {
		nights++;
	}
	if (document.register.night_2.checked) {
		nights++;
	}
	if (document.register.night_3.checked) {
		nights++;
	}
	
	return nights;
}

function calculateTotal() {

	var tuition = getSelectedRadioValue(document.register.tuition);
	var totalamt = 0;

	if (tuition > 0) {
		document.register.tuitiontotal.value = tuition;

		// find housing cost
		var housing = calculateHousing();
		
		if (housing) {

			// find housing multiplier - see how many nights are selected
			//var nights = calculateNights();
			//totalamt = parseInt(nights) * parseInt(housing) + parseInt(tuition);
			totalamt = parseInt(housing) + parseInt(tuition);
			document.register.grandtotal.value = totalamt;
			
			//totalhousing = parseInt(nights) * parseInt(housing);
			totalhousing = parseInt(housing);
			document.register.housingtotal.value = totalhousing;

			var session = getSelectedRadioValue(document.register.session);
			if (session != "") {
				return checkRegistration();
			}
			else {
				alert ("Please select a session.");
				return false;
			}
		}
		else {
			alert ("Please select a housing type.");
			return false;
		}
	}
	else {
		alert ("Please select a tuition type.");
		return false;
	}
}

function setTuitionType(label) {
	document.register.tuitiontype.value = label;
	return true;
}

function setHousingType(label) {
	document.register.housingtype.value = label;
	return true;
}

function checkCreditCard() {
	requiredVar = new Array("card_number","card_name","card_exp_date","card_billing_address","card_city","card_state","card_zip","billphone");
	requiredExp = new Array("Card Number","Card Name","Expiration Date","Billing Address", "Billing City", "Billing State","Billing Zip Code","Phone Number");
	reqCount = requiredVar.length;
	omitcount = 0;
	omittedFields = "";
	
	for (i=0; i<reqCount; i++) {
		fieldname = requiredVar[i];
		if (!document.creditcard[fieldname].value) {
			omitcount++;
			omittedFields += omitcount + ". " + requiredExp[i] + "\n";
		}
	}

	if (omitcount > 0) {
		alert("Please complete these required fields:\n" + omittedFields);
		return false;
	}
	else {
		return true;
	}
}