
function paymenttype_checkselection(form)
{
   if(form.elements("selection",0).checked)
   {
      form.submit();
   }
}


function reservation_checkEmail(form)
{
   var email = form.email.value;
   email.trim();

   if (email.length == 0)
   {
	alert("Please enter e-mail address.");
	form.email.focus();
	return false;
   }
  
   var emailPat = /^([A-Za-z]+[\w\.\-]*)@(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z]+[\w\-]*(\.[A-Za-z]\w*)+)$/; 
   var matchArray = email.match(emailPat);

   if (matchArray == null) 
   {
	alert("Your email address seems incorrect.\nPlease try again (check the '@' and '.'s in the email address)");
	form.email.focus();
	return false;
   }

   return true;
}



function reservation_checkFullName(form)
{
   return testTextField( form, "fullname", "Please don't forget to enter your name" );
}



function reservation_checkPickupAddress(form)
{
   return testTextField( form, "pickupAddress", "Where should we pick you up?" );
}



function reservation_checkDestAddress(form)
{
   return testTextField( form, "destAddress", "What is your destination address?" );
}


function reservation_checkAirline(form)
{
   return testTextField( form, "airline", "What Airline you will be flying?" );
}


function reservation_checkDeparture(form)
{
   return testTextField( form, "departure", "What is your departure city?" );
}


function reservation_checkFlightNo(form)
{
   return testTextField( form, "flightNo", "Please enter the Flight Number" );
}


function reservation_checkPhone(form)
{
   return testTextField( form, "phone", "Please enter the phone number - just in case\n our driver needs to contact you" );
}



function reservation_validateCardNumber(form) 
{
   var tmpyear, tmpmonth;

   

 if (form.CardType.value.length == 0) 
   {
	alert("Please enter a Card Type.");
	form.CardType.focus();
	return false;
   }

  if (form.CardNumber.value.length == 0) 
   {
	alert("Please enter a Card Number.");
	form.CardNumber.focus();
	return false;
   }

  if (form.ExpMon.value.length == 0) 
   {
	alert("Please enter an Expiration Month.");
	form.ExpMon.focus();
	return false;
   }
  if (form.ExpYear.value.length == 0) 
   {
	alert("Please enter an Expiration Year.");
	form.ExpYear.focus();
	return false;
   }
 

   tmpyear = form.ExpYear.options[form.ExpYear.selectedIndex].value;
   tmpmonth = form.ExpMon.options[form.ExpMon.selectedIndex].value;

   // The following line doesn't work in IE3, you need to change it
   // to something like "(new CardType())...".
   // if (!CardType().isExpiryDate(tmpyear, tmpmonth)) {
   

   if (!(new CardType()).isExpiryDate(tmpyear, tmpmonth)) 
   {
      alert("This card has already expired.");
      form.CardNumber.focus();
      return false;
   }

   card = form.CardType.options[form.CardType.selectedIndex].value;
   var retval = eval(card + ".checkCardNumber(\"" + form.CardNumber.value +
                     "\", " + tmpyear + ", " + tmpmonth + ");");
   cardname = "";
   if (retval)
   {
	return true;
   }
   else 
   {
	// The cardnumber has the valid luhn checksum, but we want to know which
	// cardtype it belongs to.
	for (var n = 0; n < Cards.size; n++) 
        {
	   if (Cards[n].checkCardNumber(form.CardNumber.value, tmpyear, tmpmonth)) 
	   {
	 	cardname = Cards[n].getCardType();
		break;
   	   }
	}
	
   	if (cardname.length > 0) 
	{
	   alert("This looks like a " + cardname + " number, not a " + card + " number.");
	   form.CardNumber.focus();
	   return false;
	}
	else 
	{
	   alert("This card number is not valid.");
	   form.CardNumber.focus();
	   return false;	   
        }
   }
}

