   /////////////////////////////////////////////////
   /////////////////////////////////////////////////
   function check_form(form) {
      // error message string
      var str = ''; 
      // boolean variables to check
      var old, val_contact, val_canpost; 

      phone_count = 0;

      // 15 check boxes from "Who are you?"
      var cbs = [
         "mss", "cst", "par", "men", "vol", "pca", "gco", "cap",
         "fap", "ssd", "cnr", "ywo", "lgo", "swo", "cle"
      ];

      // form fields to check
      var first = remove(form.first.value, ' ');
      var last = remove(form.last.value, ' ');
      var email = remove(form.email.value, ' ');
      var area = remove(form.area.value, ' ');
      var pre = remove(form.pre.value, ' ');
      var pos = remove(form.pos.value, ' ');
      var story = remove(form.story.value, ' ');

      var ocheck = false;
      for(i = 0; i < form.old.length; i++) {
         if(form.old[i].checked) {
            ocheck = true;
            old = i;
         }
      }

      // Who are you stuff. 15 check boxes and one radio group.
      // At least one must be checked.
      var way = false;
      for(i = 0; i < form.hss.length; i++) { // radio group
         if(form.hss[i].checked) {
            way = true;
            break;
         }
      }

      if(! way) { // check boxes
         for(i = 0; i < cbs.length; i++) {
            var cb = eval('form.' + cbs[i] + '.checked');
            if(cb) {
               way = true;
               break;
            }
         }
      }

      var contact = false;
      for(i = 0; i < form.contact.length; i++) {
         if(form.contact[i].checked) {
            contact = true;
            val_contact = i;
         }
      }

      var canpost = false;
      for(i = 0; i < form.canpost.length; i++) {
         if(form.canpost[i].checked) {
            canpost = true;
            val_canpost = i;
         }
      }

      if(! ocheck) { 
         str += "You must tell us how old you are.\n";
      } else { 
         if(old == '1') { str += "You must be 13 years old to sign up.\n"; }
      }
      if(!first) { str += "You must enter a first name.\n"; }
      if(!last) { str += "You must enter a last name.\n"; }
      if(!email) { str += "You did not enter a contact email address.\n"; }

      if(area) { phone_count++; }
      if(pre) { phone_count++; }
      if(pos) { phone_count++; }

      if(phone_count > 0 && (!area || !pre || !pos)) 
         { str += "Please fill in all phone number fields.\n"; }

      if(! way) { 
         str += "You must tell us something about you.\n";
      }
      if(!story) { str += "Your story text area is empty.\n"; }
      if(!contact) 
         { str += "You did not tell us whether we can contact you.\n"; }
      if(!canpost) 
         { str += "You did tell us if we can post your story.\n"; }

      if(str != '') { alert(str); return false; }

      return true;
   }
