<!--
function ValidateFields(fields, formName)
{

	//This function validates an array of fields, of various types
	
	var errMsg = ""
	var i = 0
	var r = 0
	var c = 0
	var radChecked = -1
	var field

	for (i = 0; i < fields.length; i++)
	{
		switch(fields[i][2])
		{
			case 1: //Text field
				
				//Ensures that text was entered for this field
				
				field = document.forms[formName].elements[fields[i][0]]
				
				if(field.value.length == 0)
					errMsg = errMsg + "   " + fields[i][1] + "\n";
					
			break
				
			case 2: // Radio Buttons
			
				//Ensures that a radio button, out of a radio button array, was checked
				
				field = document.forms[formName].elements[fields[i][0]]
				
				for(r = 0; r < field.length; r++)
				{
					if(field[r].checked == true)
						radChecked = r;
				}
				
				if(radChecked == -1)
					errMsg = errMsg + "   " + fields[i][1] + "\n"
					
				radChecked = -1
				
			break
			
			case 3: //Email Address
				
				//Ensures that the provided email address validates against the standard email regex
				
				var reEmail = /^([a-zA-Z0-9_\-])([a-zA-Z0-9_\-\.]*)@(\[((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}|((([a-zA-Z0-9\-]+)\.)+))([a-zA-Z]{2,}|(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\])$/
				
				field = document.forms[formName].elements[fields[i][0]]
				
				//Check the email address for length and validity
				if((field.value.length == 0) || (!reEmail.test(field.value)))
					errMsg = errMsg + "   " + fields[i][1] + "\n";
					
			break
			
			case 4: //Checkboxes
				
				//This assumes the checkbox list uses the name + zero based index
				
				var fieldName = fields[i][0]
				var pos = fieldName.search(/(\d*$)/)
				var baseFieldName = ""
				var count = 0
				var checkCount = 0
				
				if(!(i > 0))
					//The field name does not contain an index at the end
					alert("Invalid field name. Expected trailing digit");
				else
				{
					//Extract the base fieldname and the number of fields(0 based)
					baseFieldName = fieldName.substring(0, pos);
					count = fieldName.substring(pos, fieldName.length);

					//Loop thru the checkboxes
					for(c = 0; c <= count; c++)
					{
						field = document.forms[formName].elements[baseFieldName + c]
						if(field.checked == true)
							checkCount++;
					}
					
					if(checkCount == 0)
						errMsg = errMsg + "   " + fields[i][1] + "\n";
				}
				
			break
			
			case 5: //Number
			
				//Checks the number against a very basic regular expression, and for length
				
				var reNumeric = /\d+$/
				field = document.forms[formName].elements[fields[i][0]]
				
				if((field.value.length == 0) || (!reNumeric.test(field.value)))
					errMsg = errMsg + "   " + fields[i][1] + "\n";
			
			break 
			
			case 6: //Drop list
			
				//Ensures that an item was selected from the droplist
				
				field = document.forms[formName].elements[fields[i][0]]
				
				if(field.selectedIndex == 0)
					errMsg = errMsg + "   " + fields[i][1] + "\n";
					
			break
			
			case 7: //Visa
			
				var reVisa = /^4\d{3}-?\d{4}-?\d{4}-?\d{4}$/
				
				field = document.forms[formName].elements[fields[i][0]]
				
				if((field.value.length == 0) || (!reVisa.test(field.value)))
					errMsg = errMsg + "   " + fields[i][1] + "\n";
			
			break
					
			case 8: //Mastercard
			
				var reMastercard = /^5[1-5]\d{2}-?\d{4}-?\d{4}-?\d{4}$/
				
				field = document.forms[formName].elements[fields[i][0]]
				
				if((field.value.length == 0) || (!reMastercard.test(field.value)))
					errMsg = errMsg + "   " + fields[i][1] + "\n";
			
			break	
			
			case 9: //Discover
			
				var reDiscover = /^6011-?\d{4}-?\d{4}-?\d{4}$/
				
				field = document.forms[formName].elements[fields[i][0]]
				
				if((field.value.length == 0) || (!reDiscover.test(field.value)))
					errMsg = errMsg + "   " + fields[i][1] + "\n";
			
			break
				
			case 10: //American Express
			
				var reAmex = /^3[4,7]\d{13}$/
				
				field = document.forms[formName].elements[fields[i][0]]
				
				if((field.value.length == 0) || (!reAmex.test(field.value)))
					errMsg = errMsg + "   " + fields[i][1] + "\n";
			
			break
				
			case 11: //CID
			
				var reCID = /\d{3,4}/
				
				field = document.forms[formName].elements[fields[i][0]]
				
				if((field.value.length == 0) || (!reCID.test(field.value)))
					errMsg = errMsg + "   " + fields[i][1] + "\n";
			
			break
		}
	}
	
	if(errMsg.length > 0)
	{
		alert("The following fields were either left blank, or contain invalid data:\n\n" + errMsg);
		return false
	}
	else
		return true
}
-->