
function VerifyFields(thisform) 
{
       for (var j=0; j<(thisform.elements.length); j++)
       {
			/* begin Check for Required */
               indx = thisform.elements[j].name.indexOf('_required');
               if (indx != -1)
               {
                       fieldname=thisform.elements[j].name.substring(0,indx);

					var fieldtype = thisform.elements[fieldname].type;

					if (fieldtype == 'text'||fieldtype == 'textarea')
					{

						if (thisform.elements[fieldname].value.length == 0)
                        {
	                        alert(thisform.elements[j].value);
	                        j = (thisform.elements.length);
	                        return false;
                        }
					} 
					else if (fieldtype == 'select-one')
					{
						if(thisform.elements[fieldname].options[thisform.elements[fieldname].selectedIndex].value=="")
						{
	                        alert(thisform.elements[j].value);
	                        j = (thisform.elements.length);
	                        return false;
						}
					} 
					else 
					{
						var rdochk = "no"
						for (var x=0; x<thisform.elements[fieldname].length; x++)
						{
							if (thisform.elements[fieldname][x].checked)
							{
								rdochk = "yes"
							}
						}
						if(rdochk == "no")
						{
	                        alert(thisform.elements[j].value);
	                        j = (thisform.elements.length);
	                        return false;
						}
					}
               }
			/* end Check for Required */

		  /* begin Check for Currency */
		  indx4 = thisform.elements[j].name.indexOf('_isCurrency');
		  if (indx4 != -1)
		  {
			  fieldname=thisform.elements[j].name.substring(0,indx4);
			  var imputStr = thisform.elements[fieldname].value;
			  for (var k = 0; k < imputStr.length; k++) 
			  {
		        var onechar = imputStr.charAt(k);
				if ((onechar >= "0" && onechar <= "9") || onechar=="," || onechar==".") 
				{
				} 
				else 
				{
					alert(thisform.elements[j].value);
				   	return false;
				}
			  }
		  }
		  /* end Check for Currency */

			/* begin Check for Date */
			indx2 = thisform.elements[j].name.indexOf('_isDate');
               if (indx2 != -1)
               {
	               fieldname2=thisform.elements[j].name.substring(0,indx2);
	               var dateStr= thisform.elements[fieldname2].value
					
					if (dateStr!='')
					{
						var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;

						var matchArray = dateStr.match(datePat); // is the format ok?/
						if (matchArray == null) 
						{
							alert(thisform.elements[j].value)
							return false;
						}
						month = matchArray[1]; // parse date into variables
						day = matchArray[3];
						year = matchArray[4];

						if ((month==4 || month==6 || month==9 || month==11) && day==31) 
						{
							//alert("The month "+month+" doesn't have 31 days!")
							alert(thisform.elements[j].value);
							return false
						}
						if (month == 2) 
						{ // check for february 29th
							var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
							if (day>29 || (day==29 && !isleap)) 
							{
							alert(thisform.elements[j].value);
							return false;
						    }
                        }

						if (month>12 || day>31) 
						{
							alert(thisform.elements[j].value);
							return false;
						}
					}
			}
			/* end Check for Date */

			/* begin Check for Integer */
			indx3 = thisform.elements[j].name.indexOf('_isInteger');
              if (indx3 != -1)
			  {
				onedecimal=false
				  var fieldname3=thisform.elements[j].name.substring(0,indx3);
				  imputStr = thisform.elements[fieldname3].value
				  for (var i = 0; i < imputStr.length; i++) 
				  {
				        var onechar = imputStr.charAt(i)
						if (onechar < "0" || onechar > "9") 
						{
                             alert(thisform.elements[j].value);
                             j = (thisform.elements.length);
                            return false;
						}
					}
               }
			/* end Check for Integer */

			/* begin Check for Length */
			indx5 = thisform.elements[j].name.indexOf('_maxLength');
            if (indx5 != -1)
			{
				  var fieldname5=thisform.elements[j].name.substring(0,indx5);
				  var maxlen=parseInt(thisform.elements[j].name.substring(indx5+10,thisform.elements[j].name.length));
				  var inputStr = thisform.elements[fieldname5].value
				  if (inputStr.length>maxlen) 
				  {
                      alert(thisform.elements[j].value);
                      j = (thisform.elements.length);
                      return false;
				  }
			}
			/* end Check for Length */

			/* begin Check for TextOnly */
			indx3 = thisform.elements[j].name.indexOf('_isText');
			if (indx3 != -1)
			{
	   			  var allow = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
				  var fieldname3=thisform.elements[j].name.substring(0,indx3);
				  imputStr = thisform.elements[fieldname3].value
				  for (var i = 0; i < imputStr.length; i++) 
				  {
			        var onechar = imputStr.charAt(i)
					if (allow.indexOf(onechar)==-1) 
					{
                       alert(thisform.elements[j].value);
                       j = (thisform.elements.length);
                       return false;
					}
				}
            }
			/* end Check for TextOnly */

			/* begin Check for Date Comparison */
			indx = thisform.elements[j].name.indexOf('_isLater_');
			if (indx != -1)
			{
	   			  var wholefield = thisform.elements[j].name;
				  var fieldname1 = wholefield.substring(0,indx);
				  var fieldname2 = wholefield.substring((indx+9),(wholefield.length));
				  var StartDT = "";
				  if (fieldname2 == 'TodaysDate') // to check if date is later than today, use hidden field named: fieldname_isLater_TodaysDate
				  {	
				    StartDT = new Date(); 
				    StartDT = Date.parse(StartDT);
				  } else 
				  { 
				  StartDT = Date.parse(thisform.elements[fieldname2].value);
				  }
				  var EndDT = Date.parse(thisform.elements[fieldname1].value); 
				  
				  if (StartDT > EndDT)
				  {
                       alert(thisform.elements[j].value);
                       j = (thisform.elements.length);		
                       return false;	  
				  }
				  

            }
			/* end Check for Date Comparison */
	}
	return true;
}

