function valid8(form) {
    var why = "";
	why += required(form.first_name.value, 'First Name'); // First name required
	why += required(form.surname.value, 'Surname'); // Surname required
    why += required_email(form.email.value); // Email required
	why += required_select(form.marque.selectedIndex, 'Make'); // Make required
	why += required_select(form.model.selectedIndex, 'Model'); // Model required
    if (why != "") {
       alert(why);
       return false;
    }
return true;
}

function required_email(strng) {
  var error="";
  if (strng == "") {
    error = "Email Address is required.\n";
  }

  var emailFilter=/^.+@.+\..{2,3}$/;
  if (!(emailFilter.test(strng))) { 
    error = "Please enter a valid email address.\n";
  } else {
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
    if (strng.match(illegalChars)) {
      error = "The email address contains incorrect characters.\n";
    }
  }
  return error;    
}

function required_phone(strng) {
  var error = "";
  if (strng == "") {
    error = "Phone Number is required.\n";
  }

  var stripped = strng.replace(/[\(\)\.\-\ ]/g, '');
  if (isNaN(parseInt(stripped))) {
    error = "The phone number contains illegal characters.";
  }
  return error;
}

function required(strng, label) {
  var error = "";
  if (strng.length == 0) {
    error = label+" is required.\n"
  }
  return error;	  
}

function required_checkbox(checkvalue) {
  if (checkvalue.checked == false) {
    error = "You must agree to the Terms and Conditions.\n"
  }
  return error;
}

function required_radio(checkvalue, label) {
  var error = "";
  if (!(checkvalue)) {
    error = "Please select your vehicles "+label+".\n";
  }
  return error;
}

function required_select(checkvalue, label) {
  var error = "";
  if (checkvalue == 0) {
    error = "You didn't choose an option from the "+label+" list.\n";
  }    
  return error;
}    