function checkRequired(which) {
  var str = '';
  var msg = '';
  var pass = true;
  for (i=0; i<which.length; i++) {
    var p = which.elements[i];
    if (p.name.substring(0,3)=="req") {
      if ((p.type.substring(0,4)=="text" && p.value=='')
       || (p.type.substring(0,4)=="pass" && p.value=='')
       || (p.type.substring(0,6)=="select" && p.selectedIndex==0)) {
        str = p.name.slice(3);
        msg += '* ';
        for (n=0; n<str.length; n++) {
          if (str.charAt(n).match("[A-Z]"))   msg += ' ';
          msg += str.charAt(n);
        }
        msg += '\n';
        pass = false;
      }
    }
  }
  if (!pass) {
    alert("The following fields must be defined:\n"+msg);
    return false;
  }
  return true;
}
