function validateSubscribe (d) {

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

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

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

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

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

  if (d.postal.value == "") {
    errorTable+="'Postal Code' must be entered\n";
    if (!firstError) firstError=d.postal;
    setColors('fidpostal', errorColor);
  } else { setColors('fidpostal', normalColor); }

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

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

}

