function checkRequiredFields(form,name) {
  var pass=true;
  var requiredTag=name+".!";
  var tagLength=requiredTag.length;
  var missingFields=new Array();
  var mfc=0;
  for (i=0;i<form.length;i++) {
    var inputObj=form.elements[i];
    if (inputObj.name.substring(0,tagLength)==requiredTag || inputObj.name == name+"._from") {
      if (((inputObj.type=="text"||inputObj.type=="textarea")&&
          inputObj.value=='')||(inputObj.type.toString().charAt(0)=="s"&&
          inputObj.selectedIndex==0)) {
        missingFields[mfc++]=inputObj.name.substring(tagLength,(inputObj.name.length));
      }
    }
  }
  var mfl=missingFields.length;
  if (mfl>0) {
    var message = "The " + missingFields[0];
    if (mfl==1) {
      message += " field is required. Please fill it in.";
    }else{
      for (var i=1; i<mfl-1; i++) {
        message += ", " + missingFields[i];
      }
      message += " and " + missingFields[mfl-1] + " fields are required. Please fill them in." ;
    }
    alert(message);
    submitallowed=false;
  }
  else {
    submitallowed=true;
  }
}