//****************************************************************
// Description: Check to make sure at least one field of a certain
//				type was entered
// Parameters:
//	1. frmData (Form) = form to check
//	2. strFieldType (String) = type of field to check - Checkbox, 
//							   Radio, Select-One, Select-Multiple, 
//							   Text, TextArea
//	3. blnMessage = (Boolean) should a message be displayed
// Returns: true if successful and false if not
//****************************************************************
//	IE4		IE5		Netscape 4+
//	---		---		-----------
//	Yes		Yes		Yes
//****************************************************************
function containsValue(frmData, strFieldType, blnMessage)
{	
	// Create default message to show user
	var blnCheck = true;
	var strMessage;

	strFieldType = strFieldType.toLowerCase();
	strMessage = "\nNo '" + strFieldType + "' information was provided."; 
		
	// Loop through form fields
	for(var intFieldNum=0; intFieldNum < frmData.elements.length; intFieldNum++) { 
		// Test all fields of a particular type
		if (frmData.elements[intFieldNum].type == strFieldType) {
			if (strFieldType == "radio" || strFieldType == "checkbox") {
				if (frmData.elements[intFieldNum].checked){
					blnCheck = false;
					break;
				}
			} else{
				//the document.all checks if the browser is IE or Netscape, the "select-multiple" only works with the following statement in IE
				if (strFieldType == "text" || strFieldType == "textarea" || (document.all)) {
				    if (isEmpty(frmData.elements[intFieldNum].value) == false){
						blnCheck = false;
						break;
				    }
				} else {
					//the following statement works for the "select-one" and "select-multiple" in Netscape, "select-multiple" does not work with this statement in IE
					if (isEmpty(frmData.elements[intFieldNum][frmData.elements[intFieldNum].selectedIndex].value) == false){
						blnCheck = false;
						break;
					}
				}	
			}
		}
	}

	
	// Atleast one field value was entered
	if (blnCheck == false) {
		return true;
	}
	// No field values were entered
	else {
		// Display default message if specified
		if (blnMessage) alert(strMessage);
			
		return false;
	}
	


}


//****************************************************************
// Description: Check to make sure required fields were completed
// Parameters:
//  1. frmData (Form) = form to check
//  2. astrFieldName (Array) = array of required field values
//  3. astrFieldDesc (Array) = array of display names associated 
//							   with required fields
//	4. blnMessage (boolean) = should a message be displayed
// Returns: true if successful and false if not
//****************************************************************
//	IE4		IE5		Netscape 4+
//	---		---		-----------
//	Yes		Yes		Yes
//****************************************************************
function isComplete(frmData, astrFieldName, astrFieldDesc, blnMessage)
{	
	// Create default message to show user
	var blnCheck = true;
	var strMessage = "\nThe following information is required:\n\n\t"; 

	// Loop through required fields
	for(var intFieldNum=0; intFieldNum < astrFieldName.length; intFieldNum++) {
		if (frmData.elements[astrFieldName[intFieldNum]].type == "checkbox" ||
			frmData.elements[astrFieldName[intFieldNum]].type == "radio") {
			if (!frmData.elements[astrFieldName[intFieldNum]].checked){
				strMessage += astrFieldDesc[intFieldNum] + "\n\t";
				blnCheck = false;
			}
		} else {
			if ((document.all) || frmData.elements[astrFieldName[intFieldNum]].type == "text" || frmData.elements[astrFieldName[intFieldNum]].type == "textarea" || frmData.elements[astrFieldName[intFieldNum]].type == "password") {		
				if (isEmpty(frmData.elements[astrFieldName[intFieldNum]].value)){ 
					strMessage += astrFieldDesc[intFieldNum] + "\n\t";
					blnCheck = false;
				}
			} else {
				if (isEmpty(frmData.elements[astrFieldName[intFieldNum]][frmData.elements[astrFieldName[intFieldNum]].selectedIndex].value)) {
					strMessage += astrFieldDesc[intFieldNum] + "\n\t";
					blnCheck = false;
				}
			}
		}
		
	}

	// All required fields have been entered
	if (blnCheck == true) {
		return true;
	}
	// Some required fields are missing values
	else {
		// Display default message if specified
		if (blnMessage) alert(strMessage);
			
		return false;
	}
}


//****************************************************************
// Description: Check to make sure certain field type was entered
// Parameters:
//  1. frmData (Form) = form to check
//	2. strFieldType (String) = type of field to check
//	3. blnMessage (Boolean) = should a message be displayed
// Returns: true if successful and false if not
//****************************************************************
//	IE4		IE5		Netscape 4+
//	---		---		-----------
//	Yes		Yes		Yes
//****************************************************************
function isCompleteType(frmData, strFieldType, blnMessage)
{	
	// Create default message to show user
	var blnCheck = true;
	var strMessage;

	strFieldType = strFieldType.toLowerCase();
	strMessage = "\nAll '" + strFieldType + "' information is required.";
	
	// Loop through required fields
	for(var intFieldNum=0; intFieldNum < frmData.elements.length; intFieldNum++) { 
		// Test all fields of a particular type
		if (frmData.elements[intFieldNum].type == strFieldType) {
			if (strFieldType == "checkbox" || strFieldType == "radio"){
				if (!frmData.elements[intFieldNum].checked){ 
					blnCheck = false;
					break;
				}
			} else {
				if (strFieldType == "text" || strFieldType == "textarea" || (document.all)) {					
					if (isEmpty(frmData.elements[intFieldNum].value)){
						blnCheck = false;
						break;
					} 
				} else {
					if (isEmpty(frmData.elements[intFieldNum][frmData.elements[intFieldNum].selectedIndex].value)){  
						blnCheck = false;
						break;
					}
				}
			}
		}
	}

	// All fields of a particular type have been entered
	if (blnCheck == true) {
		return true;
	}
	// Some fields of a particular type are missing values
	else {
		// Display default message if specified
		if (blnMessage) alert(strMessage);
			
		return false;
	}
}
