function validateVisitor (d) {

  d.submit.disabled = true;
  var errorTable="";
  var firstError="";
  var fieldError=false;
  var errorColor="#ff0000";
  var normalColor="#666666";

  if (d.fName.value == "") {
    errorTable+="'Name must be entered\n";
    if (!firstError) firstError=d.fName;
    setColors('fidName', errorColor);
  } else { setColors('fidName', normalColor); }

  fieldError=false;
  if (d.fEmail.value == "") {
    errorTable+="'E-Mail' must be entered\n";
    fieldError=true;
  } else if (!validEmail(d.fEmail.value)) {
    errorTable+="'E-Mail' appears to be invalid\n";
    fieldError=true;
  }
  if (fieldError) {
    if (!firstError) firstError=d.fEmail;
    setColors('fidEmail', errorColor);
  } else {
    setColors('fidEmail', normalColor);
  }

  if (d.fCompany.value == "") {
    errorTable+="'Company' must be entered\n";
    if (!firstError) firstError=d.fCompany;
    setColors('fidCompany', errorColor);
  } else { setColors('fidCompany', normalColor); }

  if (d.fContact.value == "") {
    errorTable+="'Contact Person' must be entered\n";
    if (!firstError) firstError=d.fContact;
    setColors('fidContact', errorColor);
  } else { setColors('fidContact', normalColor); }

  if (d.fInfo.value == "") {
    errorTable+="'Career Info' must be entered\n";
    if (!firstError) firstError=d.fInfo;
    setColors('fidInfo', errorColor);
  } else { setColors('fidInfo', normalColor); }

  if (errorTable) {
    alert (errorTable);
    firstError.focus();
    d.submit.disabled = false;
    return false;
  } else { return true; }

}
