function validateSendFriend (d) {

  var errorTable="";
  var firstError="";
  var fieldError=false;
  var errorColor="#ff0000";
  var normalColor="#666666";

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

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

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

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

  if (errorTable) {
    alert (errorTable);
    firstError.focus();
    return false;
  } else { return true; }

}
