function validateSendFriend (d) {

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

  fieldError=false;
  if (d.ffFriendEmail.value == "") {
    errorTable+="* Please enter a valid friend's email address\n";
    fieldError=true;
  } else if (!validEmail(d.ffFriendEmail.value)) {
    errorTable+="* Please enter a valid friend's email address\n";
    fieldError=true;
  }
  if (fieldError) {
    if (!firstError) firstError=d.ffFriendEmail;
    setColors('fidFriendEmail', errorColor);
  } else {
    setColors('fidFriendEmail', normalColor);
  }

  if (d.ffName.value == "") {
    errorTable+="* Please enter your name\n";
    if (!firstError) firstError=d.ffName;
    setColors('fidName', errorColor);
  } else { setColors('fidName', normalColor); }

  fieldError=false;
  if (d.ffEmail.value == "") {
    errorTable+="* Please enter your valid email address\n";
    fieldError=true;
  } else if (!validEmail(d.ffEmail.value)) {
    errorTable+="* Please enter your valid email address\n";
    fieldError=true;
  }
  if (fieldError) {
    if (!firstError) firstError=d.ffEmail;
    setColors('fidEmail', errorColor);
  } else {
    setColors('fidEmail', normalColor);
  }

  if (d.ffSubject.value == "") {
    errorTable+="* Please enter a subject\n";
    if (!firstError) firstError=d.ffSubject;
    setColors('fidSubject', errorColor);
  } else { setColors('fidSubject', normalColor); }

  if (errorTable) {
    var errorDisplay="Please fix the following error(s) and resubmit:\n\n" + errorTable;
    alert (errorDisplay);
    firstError.focus();
    return false;
  } else { return true; }

}
