  function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
  }
  function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
  }
  function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
  }
  function validate_form(thisform) {
    $error_message = "";
    if (trim(thisform.name.value) == '') {
      $error_message = $error_message + "  - Name missing\n";
    }
    if (trim(thisform.email.value) == '') {
      $error_message = $error_message + "  - E-mail missing\n";
    }
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;  
    if (!(emailPattern.test(thisform.email.value))) {
      $error_message = $error_message + "  - E-mail format invalid\n";
    }  
    if (trim(thisform.comments.value) == '') {
      $error_message = $error_message + "  - Comments missing\n";
    }
    if ($error_message != "") {
      alert ('Unable to submit form for the following reasons:\n' + $error_message); 
      return false;
    }
    return true;
  }

