var arrReqFieldNames ;
var arrReqFieldTitles ;

function isValid() {
   if(!(arrReqFieldNames)) {
      // no required fields were defined
      return true;
   }
   var currForm =document.forms[0];
   var sMsg = "";
   var firstEmptyField;
   var currField;
   var isChecked;
   for (var i=0; i<arrReqFieldNames.length; i++) {
      currField = currForm[arrReqFieldNames[i]];
	  if(currField.length) {
	     isChecked=false;
		 if((currField[0].type=="radio")||(currField[0].type=="checkbox")) {
			 for (j=currField.length-1; j > -1; j--) {
				if (currField[j].checked) {
				   isChecked=true;
				}
			 }
	     } else {
			 if (currField.selectedIndex <= 0 ) {
				isChecked=false;
               if(!(firstEmptyField)) {
		          firstEmptyField=currForm[arrReqFieldNames[i]];
      		   }
			 } else {
				isChecked=true;
			 }
	     }
         if(!(isChecked)) { 
	           sMsg += "\n   *  " + arrReqFieldTitles[i] ;
		 }
      } else {
         if((currField.value)=="") {
	        sMsg += "\n   *  " + arrReqFieldTitles[i] ;
		    if(!(firstEmptyField)) {
		       firstEmptyField=currForm[arrReqFieldNames[i]];
      		 }
	     }
      }
   } 

   if (sMsg=="") {
      return true;
   } else {
	  alert ("The following required field(s) are empty: " + sMsg);
	  if(firstEmptyField) {
         firstEmptyField.focus();
	  }
      return false;
   }
}

