String.prototype.trim=function () {
  return this.replace(/^\s+|\s+$/g, "");
}

function blank(s) {
  return (s.trim() == "");
}

function emailOK(addr) {
  return addr.match(/^(\s*)(\w{1}[\w-.]*)\@([\w-.]+)\.([\w]+)(\s*)$/);
}

function downloadOK() {
  try {
    var e = document.mainform.email.value;
    if (blank(e)) {
      alert("Please enter your email address.");
      document.mainform.email.focus();
      return false;
    } else if (!emailOK(e)) {
      alert("'" + e + "' is not valid; please enter your email address. ");
      document.mainform.email.focus();
      return false;
    } else {
      return true;
    }
  } catch(e) {
    alert("Sorry, an unknown error occurred.");
    return false;
  }
}
