
function SearchFormValidate(FormType, SearchType)
{
var d = document;
var s = SearchForm;

	switch(FormType)
	{
	
	case 'Flights':
		switch(SearchType)
			{
			
			case 'Main':  // check for:  departure, departdate, depart_time, destination, returndate
			case 'Advanced':
			var error ="";
			error += CheckDeparture(s.departure.value);      // must exist ; test only 
			error += CheckDepartDate(s.departdate.value);    // must exist ; must be > returndate
			error += CheckDepartTime(s.depart_time.value);   // must exist ; 
			error += CheckDestination(s.destination.value);  // must exist ; text only ; != departure
			error += CheckReturnDate(s.returndate.value);    // must exist ; must be > departdate
			error += CheckDestTime(s.dest_time.value);       // must exist ;
		
				if (error != "")
					{
					alert(error);
					return false;
					}
			TravelSearchValidate('Flights');
			return true;
			
			break;
			
			
			
			case 'Multiple':
			var error ="";
			// error += CheckDepartDate(s.departdate1.value);      must exist ; 
			error += CheckDeparture(s.departure1.value);      // must exist ; 

				if (error != "")
					{
					alert(error);
					return false;
					}
			TravelSearchValidate('Flights'); 
			return true;
			
			
			break;
			
			case 'OneWay':
			var error ="";
			error += CheckDeparture(s.departure.value);      // must exist ; test only 
			error += CheckDepartDate(s.departdate.value);    // must exist ; must be > returndate
		
				if (error != "")
					{
					alert(error);
					return false;
					}
			TravelSearchValidate('Flights');
			return true;
			
			
			
			break;
			
			default:
			var error ="";
			error += CheckDeparture(d.s.departure);      // must exist ; test only 
			error += CheckDepartDate(d.s.departdate);    // must exist ; must be > returndate
			error += CheckDepartTime(d.s.depart_time);   // must exist ; 
			error += CheckDestination(d.s.destination);  // must exist ; text only ; != departure
			error += CheckReturnDate(d.s.returndate);    // must exist ; must be > departdate
			error += CheckDestTime(d.s.dest_time);       // must exist ;
		
				if (error != "")
					{
					alert(error);
					return false;
					}
			return true;
			
			
			}
	
	
	
	break;
	
	
	case 'Cars':
		switch(SearchType)
		{
		
		case 'Main':
		case 'Advanced':
		default:
		var error ="";
			error += CheckPickUpDate(s.carpickupdate.value);      // must exist ; test only 
			error += CheckDropOffDate(s.cardropoffdate.value);    // must exist ; must be > returndate
		
				if (error != "")
					{
					alert(error);
					return false;
					}
			TravelSearchValidate('Cars');
			return true;
	
		
		}
	
	
	
	
	break;
	
	
	case 'Hotels':
		switch(SearchType)
		{
		
		case 'Main':
		case 'Advanced':
		default:
		var error ="";
			error += CheckInDate(s.hotelcheckin.value);      // must exist ; test only 
			error += CheckOutDate(s.hotelcheckout.value);    // must exist ; must be > returndate
		
				if (error != "")
					{
					alert(error);
					return false;
					}
			TravelSearchValidate('Hotels');
			return true;
		
		}
	
	
	
	break;
	
	
	case 'Cruises':

		var error ="";
			error += CheckCruiseDate1(s.cruisedate1.value);      // must exist ; test only 
			error += CheckCruiseDate2(s.cruisedate2.value);      // must exist ; test only 
		
				if (error != "")
					{
					alert(error);
					return false;
					}
			TravelSearchValidate('Cruise');
			return true;
		
		break;
	
	case 'Vacations':
		switch(SearchType)
		{
		
		case 'Main':
		case 'Advanced':
		default:
		var error ="";
			error += CheckDeparture(s.departure.value);      // must exist ; test only 
			error += CheckDepartDate(s.departdate.value);    // must exist ; must be > returndate
			error += CheckReturnDate(s.returndate.value);    // must exist ; must be > departdat
				if (error != "")
					{
					alert(error);
					return false;
					}
			TravelSearchValidate('Vacations');
			return true;
		
		
		}
	
	
	
	break;
	
	
	case 'Packages':
		switch($SearchType)
		{
		
		case 'Main':
		
		
		break;
		
		case 'Advanced':
		
		
		break;
		
		default:
		
		
		}
	
	
	
	break;
	
	default:
	
	
	
	
	}
	}


// Hotel validation functions ##############################################################################


function CheckInDate(param)
{
ds = document.SearchForm ;

var pass = "";
if (param == "")
	{
	pass = "Please make sure there is a check in date\n";
	}
if (param >= ds.hotelcheckout)
	{
	pass = "The check in date must be before the return date\n";
	}
	return pass;
}

function CheckOutDate(param)
{
ds = document.SearchForm ;

var pass = "";
if (param == "")
	{
	pass = "Please make sure there is a check out date\n";
	}
	return pass;
}




// Flight validation functions ##############################################################################


	
function CheckDepartDate(param)
{
ds = document.SearchForm ;

var pass = "";
if (param == "")
	{
	pass = "Please make sure there is a departure date\n";
	}
if (param >= ds.returndate)
	{
	pass = "The departure date must be before the return date\n";
	}
	return pass;
}
	
function CheckDeparture(param)
{
ds = document.SearchForm ;

var pass = "";
if (param == "")
	{
	pass = "Please make sure you entered a departure location\n";
	}
		return pass;
}

function CheckDepartTime(param)
{
ds = document.SearchForm ;

var pass = "";
if (param == "")
	{
	pass = "Please make sure there is a departure time\n";
	}
		return pass;
}

function CheckDestTime(param)
{
ds = document.SearchForm ;

var pass = "";
if (param == "")
	{
	pass = "Please make sure there is a arrival time.\n";
	}
		return pass;
}

function CheckDestination(param)
{
ds = document.SearchForm ;

var pass = "";
if (param == "")
	{
	pass = "Please make sure there is a destination chosen\n";
	}
		return pass;
}


function CheckReturnDate(param)
{
ds = document.SearchForm ;

var pass = "";
if (param == "")
	{
	pass = "Please make sure there is a return date\n";
	}
		return pass;
}

function CheckDepartDateM(param)
{
ds = document.SearchForm ;

var pass = "";
if (param == "")
	{
	pass = "Please make sure there is a departure date\n";
	}
if (param >= ds.returndate1)
	{
	pass = "The departure date must be before the return date\n";
	}
		return pass;
}


// CAR validation functions ##############################################################################




	function CheckPickUpDate(param)
			{
			ds = document.SearchForm ;
			
				var pass = "";
				if (param == "")
					{
					pass = "Please make sure there is a pick up date.\n";
					}
				if (param > ds.cardropoffdate)
					{
					pass = "The pick up date must be before the return date\n";
					}

					return pass;
			}

	function CheckDropOffDate(param)
			{
			ds = document.SearchForm ;
			
					var pass = "";
					if (param == "")
						{
						pass = "Please make sure there is a drop off date\n";
						}
						return pass;
			}





// Edit the Date Fields      ##############################################################################




	
function TravelSearchValidate(TravelFormType)
{
	switch(TravelFormType)
		{
		
		case "Flights":
		//alert('Roundtrip or Advanced Flight Search');
			var d = document.SearchForm
			var FlightType = d.FlightType.value
			var departdatevalue = d.departdate.value.split("/")
			
			switch(FlightType)
				{
				
				case "OneWay":
					
					//alert('One Way Flight Search');
					d.depart_day.value = departdatevalue[1]
					d.depart_month.value = departdatevalue[0]
					d.depart_year.value = departdatevalue[2]
				break
				
				
				case "Roundtrip":
				case "Advanced":
					var returndatevalue = d.returndate.value.split("/")
					//alert('Roundtrip or Advanced Flight Search');
					d.depart_day.value = departdatevalue[1]
					d.depart_month.value = departdatevalue[0]
					d.depart_year.value = departdatevalue[2]
					d.dest_day.value = returndatevalue[1]
					d.dest_month.value = returndatevalue[0]
					d.dest_year.value = returndatevalue[2]
					
				break
				
				case "MultiCity":
						//var departdatevalue1 = d.departdate1.value.split("/")
						var departdatevalue2 = d.departdate2.value.split("/")
						var departdatevalue3 = d.departdate3.value.split("/")
						var departdatevalue4 = d.departdate4.value.split("/")
			
				
				
					//alert('Multiple City Flight Search');
					d.depart_day1.value = departdatevalue[1]
					d.depart_month1.value = departdatevalue[0]
					d.depart_year1.value = departdatevalue[2]
					
					
					d.depart_day2.value = departdatevalue2[1]
					d.depart_month2.value = departdatevalue2[0]
					d.depart_year2.value = departdatevalue2[2]
					
					
					d.depart_day3.value = departdatevalue3[1]
					d.depart_month3.value = departdatevalue3[0]
					d.depart_year3.value = departdatevalue3[2]
					
					
					d.depart_day4.value = departdatevalue4[1]
					d.depart_month4.value = departdatevalue4[0]
					d.depart_year4.value = departdatevalue4[2]
					
				break
				
				
				default:
					var returndatevalue = d.returndate.value.split("/")
					//alert('Roundtrip or Advanced Flight Search');
					d.depart_day.value = departdatevalue[1]
					d.depart_month.value = departdatevalue[0]
					d.depart_year.value = departdatevalue[2]
					d.dest_day.value = returndatevalue[1]
					d.dest_month.value = returndatevalue[0]
					d.dest_year.value = returndatevalue[2]
					
				break
			
				}
		
		break
		
		case "Cars":
			var d = document.SearchForm
			var carpickupdate = d.carpickupdate.value.split("/")
			var cardropoffdate = d.cardropoffdate.value.split("/")
			//alert('Rental Car Search');
			d.pickup_day.value = carpickupdate[1]
			d.pickup_month.value = carpickupdate[0]
			d.pickup_year.value = carpickupdate[2]
			d.return_day.value = cardropoffdate[1]
			d.return_month.value = cardropoffdate[0]
			d.return_year.value = cardropoffdate[2]
		
		break
		
		case "Hotels":
			var d = document.SearchForm
			var hotelcheckindate = d.hotelcheckin.value.split("/")
			var hotelcheckoutdate = d.hotelcheckout.value.split("/")
			//alert('Hotel Car Search');
			d.checkin_day.value = hotelcheckindate[1]
			d.checkin_month.value = hotelcheckindate[0]
			d.checkin_year.value = hotelcheckindate[2]
			d.checkout_day.value = hotelcheckoutdate[1]
			d.checkout_month.value = hotelcheckoutdate[0]
			d.checkout_year.value = hotelcheckoutdate[2]
		break
		
		case "Cruise":
			
			var d = document.SearchForm
			var cruisedate1 = d.cruisedate1.value.split("/")
			var cruisedate2 = d.cruisedate2.value.split("/")
			d.cruise_day.value = cruisedate1[1]
			d.cruise_month.value = cruisedate1[0]
			d.cruise_year.value = cruisedate1[2]
			d.cruise_day2.value = cruisedate2[1]
			d.cruise_month2.value = cruisedate2[0]
			d.cruise_year2.value = cruisedate2[2]
			//alert ('the cruise dates are ' + cruisedate1 + ' and ' + cruisedate2 );
		break
		
		case "Cruise":
		
		break
		
		case "Vacations":
		var d = document.SearchForm
		var returndatevalue = d.returndate.value.split("/")
		var departdatevalue = d.departdate.value.split("/")
		//alert('Roundtrip or Advanced Flight Search');
					d.depart_day.value = departdatevalue[1]
					d.depart_month.value = departdatevalue[0]
					d.depart_year.value = departdatevalue[2]
					d.dest_day.value = returndatevalue[1]
					d.dest_month.value = returndatevalue[0]
					d.dest_year.value = returndatevalue[2]
		break
		
		default:
		
		
		break
		
		}
		
}
	
	
	
// SEARCHING GIF ##############################################################################	
	

