function validateForm(validateBirthdates,validateCitizenships){
	var errorMessage;
	var fullname;
	var passport;
	var vehicleMake;
	var vehicleYear;
	var vehicleBody;
	var vehicleLicense;
	var vehicleState;
	var vehicleLength;
	var vehicleWidth;
	var vehicleHeight;
	var insuranceCompany;
	var insurancePolicyNumber;
	var insuranceExpirationDate;
	var ownerLicense;
	var ownerLicenseState;
	var ownerLicenseExpirationDate;
	var emailField;
	var addressField;
	var cityField;
	var stateField;
	var zipField;
	var daytimePhoneField;
	var passengerField = [];
	var passengerErrors =[];

	fullname=document.getElementById('fullname');
	passport=document.getElementById('passport');
	vehicleMake=document.getElementById('vehicleMake');
	vehicleYear=document.getElementById('vehicleYear');
	vehicleBody=document.getElementById('vehicleBody');
	vehicleLicense=document.getElementById('vehicleLicense');
	vehicleState=document.getElementById('vehicleState');
	vehicleLength=document.getElementById('vehicleLength');
	vehicleWidth=document.getElementById('vehicleWidth');
	vehicleHeight=document.getElementById('vehicleHeight');
	insuranceCompany=document.getElementById('insuranceCompany');
	insurancePolicyNumber=document.getElementById('insurancePolicyNumber');
	insuranceExpirationDate=document.getElementById('insuranceExpirationDate');
	ownerLicense=document.getElementById('ownerLicense');
	ownerLicenseState=document.getElementById('ownerLicenseState');
	ownerLicenseExpirationDate=document.getElementById('ownerLicenseExpirationDate');
	emailField=document.getElementById('fullemail');
	addressField=document.getElementById('address');
	cityField=document.getElementById('city');
	stateField=document.getElementById('state');
	zipField=document.getElementById('zip');
	daytimePhoneField=document.getElementById('daytimePhone');

	if(typeof validateBirthdates != 'boolean') {
		validateBirthdates = true;
	}
	if(typeof validateCitizenships != 'boolean') {
		validateCitizenships = true;
	}

	for(var i=0;i<3;i++){
		var passengerSubField = [];
		passengerSubField.push(document.getElementById('passenger' + (i + 1) + 'Name'));
		passengerSubField.push(document.getElementById('passenger' + (i + 1) + 'Passport'));				
		passengerSubField.push(document.getElementById('passenger' + (i + 1) + 'Age'));
		passengerField.push(passengerSubField);
	}

	errorMessage='';

	if(!fullname.value.match(/^[\w]+[\s]+[\w]+.*$/i)){
		errorMessage += '-Please enter a valid full name for the owner';
	}
	if((passport.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter owner passport number';
	}
	if((emailField.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter a valid email address';
	}
	if((addressField.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter your contact address';
	}
	if((cityField.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter your contact city';
	}
	if((stateField.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter your contact state';
	}
	if((zipField.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter your contact postal code';
	}
	if((daytimePhoneField.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter your preferred contact phone number';
	}
	if((vehicleMake.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter your vehicle`s make';
	}
	if((vehicleYear.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter your vehicle`s year';
	}
	if((vehicleBody.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter your vehicle body type';
	}
	if((vehicleLicense.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter your vehicle`s license plate number';
	}
	if((vehicleState.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter the state your vehicle is registered in';
	}
	if((vehicleLength.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter your vehicle`s length';
	}
	if((vehicleWidth.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter your vehicle`s width';
	}
	if((vehicleHeight.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter your vehicle`s height';
	}
	if((insuranceCompany.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter your insurance company';
	}
	if((insurancePolicyNumber.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter insurance policy number';
	}
	if((insuranceExpirationDate.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter your insurance expiration date';
	}
	if((ownerLicense.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter owner driver`s license number';
	}
	if((ownerLicenseState.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter owner license state';
	}
	if((ownerLicenseExpirationDate.value.match(/^\s*$/i))){
		errorMessage += '\n-Please enter owner license expiration date';
	}

	for(var i=0;i<3;i++){
		if(passengerField[i][0].value.match(/^.+$/i) || i == 0){
			if(!passengerField[i][0].value.match(/^[\w]+[\s]+[\w]+.*$/i)){
				errorMessage += '\n-Please enter the full legal name (including middle name) for passenger ' + (i + 1);
			}
			if(passengerField[i][1].value.match(/^\s*$/i) || passengerField[i][2].value.match(/^\s*$/i)){
				errorMessage += '\n-Please enter all required information for passenger ' + (i + 1);
			}
		}
	}

	if(errorMessage != ''){
		alert('The following errors occurred processing your form:\n' + errorMessage);
		return false;
	}
	else {
		return true;
	}
}