function valid8(form) {
    var why = "";
	why += required(form.first.value, 'First Name'); // First name required
	why += required(form.surname.value, 'Surname'); // Surname required
	why += required_email(form.email.value); // Email required
	why += required(form.city.value, 'City'); // City required
	why += required(form.region.value, 'County/Region'); // County/Region required
	why += required_select(form.marque.selectedIndex, 'Make'); // Make required
	why += required_select(form.model.selectedIndex, 'Model'); // Model required
	why += required(form.specification.value, 'Specification'); // Specification required
	why += required_select(form.body_type.selectedIndex, 'Body Type'); // Make sure Body Type is selected

    for (i=0, n=form.origin.length; i<n; i++) {
        if (form.origin[i].checked) {
            var checkradio = form.origin[i].value;
            break;
        } 
    }
    why += required_radio(checkradio, 'Origin'); // Make sure Origin is selected
    for (i=0, n=form.transmission.length; i<n; i++) {
        if (form.transmission[i].checked) {
            var checkradio = form.transmission[i].value;
            break;
        } 
    }
    why += required_radio(checkradio, 'Transmission Type'); // Make sure Transmission is selected
	why += required(form.exterior_colour.value, 'Exterior Colour'); // Exterior Colour required
	why += required(form.interior_colour.value, 'Interior Colour'); // Interior Colour required
	why += required(form.registration.value, 'Registration'); // Registration required
	why += required_select(form.registration_month.selectedIndex, 'Registration Month'); // Registration Month required
	why += required_select(form.registration_year.selectedIndex, 'Registration Year'); // Registration Year required
	why += required(form.mileage.value, 'Mileage'); // Mileage required
	why += required_select(form.owners.selectedIndex, 'Previous Owners'); // Number of Owners required
    for (i=0, n=form.condition.length; i<n; i++) {
        if (form.condition[i].checked) {
            var checkradio = form.condition[i].value;
            break;
        } 
    }
    why += required_radio(checkradio, 'Condition'); // Make sure Condition is selected
//	why += required_checkbox(form.terms.value);
    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;
}

// valid selector from dropdown list

function required_select(checkvalue, label) {
  var error = "";
  if (checkvalue == 0) {
    error = "You didn't choose an option from the "+label+" list.\n";
  }    
  return error;
}    