function validateSubscribe (d) {

  var errorTable="";
  var firstError="";
  var fieldError=false;

  if(d.ffBox1.checked==false && d.ffBox2.checked==false && d.ffBox3.checked==false) {
    errorTable+="'At Least One Newsleter' must be checked\n";
    if (!firstError) firstError=d.ffBox1;
  }

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

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

  if (d.cpTuring.value == "") {
    errorTable+="'Spam Prevention Characters' must be entered\n";
    if (!firstError) firstError=d.cpTuring;
    setColors('fidCaptcha', errorColor);
  } else { setColors('fidCaptcha', normalColor); }

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

}
