function checkout() 
{
	var myTotal = 0;
	
	// Update the ticket price here
//	var ticket_price1 = 25; // Unity & Respect 2 1-Day Adult Pass(s) for Saturday, May 26th, 12 - 10 p.m. (Charlestown Community Center)
//	var ticket_price11 = 25; // Unity & Respect 2 1-Day Adult Pass(s) for Sunday, May 27th, 12 - 10 p.m. (Charlestown Community Center)
//	var ticket_price111 = 30; // Unity & Respect 2 2-Day All Ages Discount Pass(s) for Saturday & Sunday, May 26th & 27th, 12 - 10 p.m. (Charlestown Community Center)
//	var ticket_price2 = 15; // Unity & Respect 2 1-Day Kids (13 and Under) Pass(s) for Saturday, May 26th, 12 - 10 p.m. (Charlestown Community Center)
//	var ticket_price22 = 15; // Unity & Respect 2 1-Day (13 and Under) Pass(s) for Sunday, May 27th, 12 - 10 p.m. (Charlestown Community Center)
	var ticket_price1 = 6; // Unity & Respect 2 Official After Party Adult Ticket(s) for Saturday, May 26th, 10 p.m. (MIT, Cambridge)
	var ticket_price11 = 5; // Unity & Respect 2 Official After Party Kids (13 and Under) Ticket(s) for Saturday, May 26th, 10 p.m. (MIT, Cambridge)
	
	var description = '03 - Unity and Respect 2 - ';
	var quantity = 0;
	eventName = 'Unity and Respect 2';
	//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.user2.value=parseInt(document.donation.user2.value);
//	document.donation.user22.value=parseInt(document.donation.user22.value);
	document.donation.user1.value=parseInt(document.donation.user1.value);
	document.donation.user11.value=parseInt(document.donation.user11.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 += (ticket_price2 * parseInt(document.donation.user2.value));
//	myTotal += (ticket_price22 * parseInt(document.donation.user22.value));
	myTotal += (ticket_price1 * parseInt(document.donation.user1.value));
	myTotal += (ticket_price11 * parseInt(document.donation.user11.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 + ' $25 Unity & Respect 2 1-Day Adult Pass(s) for Saturday, May 26th, 12 - 10 p.m. (Charlestown Community Center) ';}

//	if (document.donation.user2.value != 0)	{
//		description += document.donation.user2.value + ' $15 Unity & Respect 2 1-Day Kids (13 and Under) Pass(s) for Saturday, May 26th, 12 - 10 p.m. (Charlestown Community Center) ';}

//	if (document.donation.user11.value != 0)	{
//		description += ', ' + document.donation.user11.value + ' $25 Unity & Respect 2 1-Day Adult Pass(s) for Sunday, May 27th, 12 - 10 p.m. (Charlestown Community Center) ';}

//	if (document.donation.user22.value != 0)	{
//		description += ', ' + document.donation.user22.value + ' $15 Unity & Respect 2 1-Day Kids (13 and Under) Pass(s) for Sunday, May 27th, 12 - 10 p.m. (Charlestown Community Center) ';}

//	if (document.donation.user111.value != 0)	{
//		description += ', ' + document.donation.user111.value + ' $30 Unity & Respect 2 2-Day All Ages Discount Pass(s) for Saturday & Sunday, May 26th & 27th, 12 - 10 p.m. (Charlestown Community Center) ';}		

	if (document.donation.user1.value != 0)	{
		description += document.donation.user1.value + ' $6 Unity & Respect 2 Official After Party Adult Ticket(s) for Saturday, May 26th, 10 p.m. (MIT, Cambridge) ';}

	if (document.donation.user11.value != 0)	{
		description += ', ' + document.donation.user11.value + ' $5 Unity & Respect 2 Official After Party Kids (13 and Under) Ticket(s) for Saturday, May 26th, 10 p.m. (MIT, Cambridge) ';}

	description += ' , ' + 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.user2.value)==0 && parseInt(theForm.user22.value)==0 && parseInt(theForm.user3.value)==0 && parseInt(theForm.user33.value)==0)
	  if ( parseInt(theForm.user1.value)==0 && parseInt(theForm.user11.value)==0)	  
	  {
		alert("Ticket quantity cannot be zero, please enter a quantity.");
		theForm.user1.focus();
		return returnVal=false;
	  }
	  
//	  if (!isNotNum(theForm.user1,'$25 Unity & Respect 2 1-Day Adult Pass(s) for Saturday, May 26th, 12 - 10 p.m. (Charlestown Community Center)')) {return returnVal=false;}
//	  if (!isPositive(theForm.user1,'$25 Unity & Respect 2 1-Day Adult Pass(s) for Saturday, May 26th, 12 - 10 p.m. (Charlestown Community Center)')) {return returnVal=false;}

//	  if (!isNotNum(theForm.user2,'$15 Unity & Respect 2 1-Day Kids (13 and Under) Pass(s) for Saturday, May 26th, 12 - 10 p.m. (Charlestown Community Center)')) {return returnVal=false;}
//	  if (!isPositive(theForm.user2,'$15 Unity & Respect 2 1-Day Kids (13 and Under) Pass(s) for Saturday, May 26th, 12 - 10 p.m. (Charlestown Community Center)')) {return returnVal=false;}

//	  if (!isNotNum(theForm.user11,'$25 Unity & Respect 2 1-Day Adult Pass(s) for Sunday, May 27th, 12 - 10 p.m. (Charlestown Community Center)')) {return returnVal=false;}
//	  if (!isPositive(theForm.user11,'$25 Unity & Respect 2 1-Day Adult Pass(s) for Sunday, May 27th, 12 - 10 p.m. (Charlestown Community Center)')) {return returnVal=false;}

//	  if (!isNotNum(theForm.user22,'$15 Unity & Respect 2 1-Day Kids (13 and Under) Pass(s) for Sunday, May 27th, 12 - 10 p.m. (Charlestown Community Center)')) {return returnVal=false;}
//	  if (!isPositive(theForm.user22,'$15 Unity & Respect 2 1-Day Kids (13 and Under) Pass(s) for Sunday, May 27th, 12 - 10 p.m. (Charlestown Community Center)')) {return returnVal=false;}

//	  if (!isNotNum(theForm.user111,'$30 Unity & Respect 2 2-Day All Ages Discount Pass(s) for Saturday & Sunday, May 26th & 27th, 12 - 10 p.m. (Charlestown Community Center)')) {return returnVal=false;}
//	  if (!isPositive(theForm.user111,'$30 Unity & Respect 2 2-Day All Ages Discount Pass(s) for Saturday & Sunday, May 26th & 27th, 12 - 10 p.m. (Charlestown Community Center)')) {return returnVal=false;}

	  if (!isNotNum(theForm.user1,'$6 Unity & Respect 2 Official After Party Adult Ticket(s) for Saturday, May 26th, 10 p.m. (MIT, Cambridge)')) {return returnVal=false;}
	  if (!isPositive(theForm.user1,'$6 Unity & Respect 2 Official After Party Adult Ticket(s) for Saturday, May 26th, 10 p.m. (MIT, Cambridge)')) {return returnVal=false;}

	  if (!isNotNum(theForm.user11,'$5 Unity & Respect 2 Official After Party Kids (13 and Under) Ticket(s) for Saturday, May 26th, 10 p.m. (MIT, Cambridge)')) {return returnVal=false;}
	  if (!isPositive(theForm.user11,'$5 Unity & Respect 2 Official After Party Kids (13 and Under) Ticket(s) for Saturday, May 26th, 10 p.m. (MIT, Cambridge)')) {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;}
}