function validateWebinar(d) {

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

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

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

  emailError=false;
  setColors('tfEmail', normalColor);
  setColors('tfEmail2', 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 Address' appears to be invalid\n";
    fieldError=true;
  }
  if (fieldError) {
    emailError=true;
    if (!firstError) firstError=d.fEmail;
    setColors('tfEmail', errorColor);
  }

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

  if (!emailError) {
    if (d.fEmail.value != d.fEmail2.value) {
      errorTable+="'E-Mail and Confirm E-Mail' do not match\n";
      setColors('tfEmail', errorColor);
      setColors('tfEmail2', errorColor);
    }
  }

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

}

