function checkout() 
{
	var myTotal = 0;
	
	// Update the ticket price here
	var ticket_price1 = 100; // VIP Admission to "A Night to Remember - Benefit for Haiti" - 6:30 to 10:00 p.m. at Royale (Includes A Complimentary Buffet & VIP Access)
	var ticket_price11 = 50; // General Admission to "A Night to Remember - Benefit for Haiti" - 6:30 to 10:00 p.m. at Royale
	var ticket_price111 = 25; // Honorary Discount Ticket to "A Night to Remember - Benefit for Haiti" - 6:30 to 10:00 p.m. at Royale	

	var description = '03 - A Night to Remember - Benefit for Haiti - ';
	var quantity = 0;
	eventName = 'A Night to Remember - Benefit for Haiti';
	//Calculate Values...
	
	//Cast all the form fields to integers...
	document.donation.user1.value=parseInt(document.donation.user1.value);
	document.donation.user11.value=parseInt(document.donation.user11.value);
	document.donation.user111.value=parseInt(document.donation.user111.value);
	document.donation.user49.value=parseInt(document.donation.user49.value);

	myTotal += (ticket_price1 * parseInt(document.donation.user1.value));
	myTotal += (ticket_price11 * parseInt(document.donation.user11.value));
	myTotal += (ticket_price111 * parseInt(document.donation.user111.value));	
	myTotal += parseInt(document.donation.user49.value);
	myTotal += parseInt(document.donation.hiddendonationlevel.value);

	document.donation.total.value=myTotal;
	document.donation.AMOUNT.value=myTotal;
	
	if (document.donation.user1.value != 0)	{
		description += document.donation.user1.value + ' $100 ($60/Ticket Tax-Deductible) VIP Admission Ticket(s) to A Night to Remember - Benefit for Haiti, 6:30 to 10:00 p.m. at Royale (Incl. A Complimentary Buffet & VIP Access) ';}

	if (document.donation.user11.value != 0)	{
		description += ', ' + document.donation.user11.value + ' $50 ($25/Ticket Tax-Deductible) General Admission Ticket(s) to A Night to Remember - Benefit for Haiti, 6:30 to 10:00 p.m. at Royale ';}

	if (document.donation.user111.value != 0)	{
		description += ', ' + document.donation.user111.value + ' $25 Honorary Discount Ticket(s) to A Night to Remember - Benefit for Haiti, 6:30 to 10:00 p.m. at Royale ';}

	description += ' for ' + document.donation.eventDate.value;

	// If there is a donation level, then add it to the description.
	if (document.donation.hiddendonationlevel.value != 0) 
	{ description += ', and a $' + document.donation.hiddendonationlevel.value + ' donation.';}

	if (document.donation.user49.value != 0) 
	{ description += ', and a $' + document.donation.user49.value + ' donation.';}

	quantity = eval(parseInt(document.donation.user1.value) + parseInt(document.donation.user11.value));
	//alert(document.donation.hiddendonationlevel.value);

	//Assign Values to the form fields...
	document.donation.USER8.value = quantity;
	document.donation.DESCRIPTION.value = description;
	document.donation.USER9.value = eventName + ' - ' + document.donation.eventDate.value;
	
} // end checkout()
	
function validateForm(theForm)
	{
	  //Assume everything to be ok.
	  var returnVal=true;
	
	  //But return false if the name has not been entered.
	  if (!validRequired(theForm.name,"Name"))
		return returnVal=false;

	  //But return false if the phone number has not been entered.
	  if (!validRequired(theForm.phone,"Phone number"))
		return returnVal=false;

	  //Return false if the email is not valid.
	  //Don't require the email though, validate only if they enter something.
	  if (theForm.email != "") {
	  if (!validEmail(theForm.email,"Email Address",false))
		return returnVal=false;
	  }

	  //Make sure they enter a quantity of tickets.
	  if ( parseInt(theForm.user1.value)==0 && parseInt(theForm.user11.value)==0 && parseInt(theForm.user111.value)==0 && parseInt(theForm.user49.value)==0)
	  {
		alert("Ticket quantity cannot be zero, please enter a quantity.");
		theForm.user1.focus();
		return returnVal=false;
	  }
	  
	  if (!isNotNum(theForm.user1,'$100 ($60/Ticket Tax-Deductible) VIP Admission Ticket(s) to A Night to Remember - Benefit for Haiti, 6:30 to 10:00 p.m. at Royale (Incl. A Complimentary Buffet & VIP Access)')) {return returnVal=false;}
	  if (!isPositive(theForm.user1,'$100 ($60/Ticket Tax-Deductible) VIP Admission Ticket(s) to A Night to Remember - Benefit for Haiti, 6:30 to 10:00 p.m. at Royale (Incl. A Complimentary Buffet & VIP Access)')) {return returnVal=false;}
	  
	  if (!isNotNum(theForm.user11,'$50 ($25/Ticket Tax-Deductible) General Admission Ticket(s) to A Night to Remember - Benefit for Haiti, 6:30 to 10:00 p.m. at Royale')) {return returnVal=false;}
	  if (!isPositive(theForm.user11,'$50 ($25/Ticket Tax-Deductible) General Admission Ticket(s) to A Night to Remember - Benefit for Haiti, 6:30 to 10:00 p.m. at Royale')) {return returnVal=false;}

	  if (!isNotNum(theForm.user111,'$25 Honorary Discount Ticket(s) to A Night to Remember - Benefit for Haiti, 6:30 to 10:00 p.m. at Royale')) {return returnVal=false;}
	  if (!isPositive(theForm.user111,'$25 Honorary Discount Ticket(s) to A Night to Remember - Benefit for Haiti, 6:30 to 10:00 p.m. at Royale')) {return returnVal=false;}

	  if (!isNotNum(theForm.user49,'Donation')) {return returnVal=false;}
	  if (!isPositive(theForm.user49,'Donation')) {return returnVal=false;}
	  
	  return returnVal;
	}
	
function isNotNum(theField, fieldLabel) { 
	if (isNaN(theField.value)) {
		alert('Please check the "' + fieldLabel + '" quantity field!');
		theField.value=0;
		return false;
	} else {return true;}
}

function isPositive(theField, fieldLabel) {
	if (theField.value < 0) {
		alert ('The "' + fieldLabel + '" field cannot be negative!');
		theField.focus();
		return false;
	} else {return true;}
}
