function validateFormOnSubmit1(theForm) {
  var strMessage = "";
  var is_valid = true;
	var aryResult = new Array();
  var field = document.getElementsByName(theField)[0]; 
	//

}




// this validates that at least one button has been selected on the PageRating_form script
function validateFormOnSubmit(theForm) {
  var is_valid = false;
	is_valid = validateRadioButtonGroup(theForm.r);
  if (is_valid == false) {
    alert("Please select a rating...");
  }
	return is_valid;
}
function validateRadioButtonGroup(buttonName) {
  var is_valid = false;
  for (i=0;i<buttonName.length;i++) {
    if (buttonName[i].checked) {
      user_input = buttonName[i].value;
			is_valid = user_input;
    }
  } 
  return is_valid;
}

/* MAIN FUNCTION. calls sub-functions which check a single form element. 
If validation fails, field is highlighted and optionally displays a message 
usage: <form><input name="email" onChange="validateField(this.name)" />
*/
function validateField(theField, is_required) {
  var strMessage = "";
  var is_valid = true;
	var aryResult = new Array();
  var field = document.getElementsByName(theField)[0]; 
	//
	if (is_required == 1) {is_required = true;}
	if (is_required && hasContent(field) == false) {
  	is_valid = false
	  strMessage = "This field is required. Please enter a value.\n"
	}
	if (is_valid == true) {
//works		switch (field.name) {
		switch (field.name) {  // was .name
			case 'reply_name' :
				aryResult = validateUsername(field, is_required);
				break;
			case 'email' :
				aryResult = validateEmail(field, is_required);
				break;
			case 'reply_telephone' : // fallthrough
			case 'reply_fax' :
				aryResult = validatePhone(field, is_required);
				break;
			case 'r' :
				aryResult = validateRadioButtonGroup(field, is_required);
				break;
			default :
				aryResult = [true,""];
				break;
		} // end switch
		is_valid = aryResult[0];
		strMessage = aryResult[1];
    // alert("aryResult[0]=" + aryResult[0]);		
    // alert("aryResult[1]=" + aryResult[1]);		
	} // end if is_valid
  if (is_valid == false) {
    // alert("NOT valid");		
		field.style.background = '#FFFFCC'; 
		if (strMessage != "") {
			alert(strMessage);
		}
	}
  return is_valid;
}
/* Is the field left blank? */
function hasContent(field) {
  var is_valid;	
	is_valid = (field.value.length != 0);
	return is_valid;
}

/* checks username. If not blank, check length of the string and permit only usernames that are between 5 and 15 characters. Next, use regular expression /\W/ to forbid illegal characters. We want to allow only letters, numbers and underscopes. */
function validateUsername(field, is_required) {
  var strMessage = "";
  var is_valid;	
	var illegalChars = /\W/; // allow letters, numbers, and underscores
	if (hasContent(field) == false) {
			strMessage = "A username is required. Please enter a value.\n"
			is_valid = false;
	} else if (illegalChars.test(field.value)) {
			strMessage = "The username contains illegal characters.\n";
			is_valid = false;
	} else {
			is_valid = true;
	}
	var aryResult = new Array(is_valid, strMessage);
	return aryResult;
}
/* Check password: blank, allow only letters and numbers - no underscores. use a new regular expression to forbid underscores: /[\W_]/ allow only letters and numbers. Next, permit only passwords that contain letters and at least one numeral. For that we use the seacrh() method and two more regular expressions: /(a-z)+/ and /(0-9)/. */
function validatePassword(field, is_required) {
  var strMessage = "";
  var is_valid;	
	var illegalChars = /[\W_]/; // allow only letters and numbers 
	if (is_required && hasContent(field) == false) {
		  strMessage = "A password is required. Please enter a value.\n"
			is_valid = false;
	} else if (illegalChars.test(field.value)) {
			strMessage = "The password contains illegal characters.\n";
			is_valid = false;
	} else {
			is_valid = true;
	}
	var aryResult = new Array(is_valid, strMessage);
	return aryResult;
}   

/* Is the email address real? input data must contain at least an @ sign and a dot (.). Also, the @ must not be the first character of the email address, and the last dot must be at least one character after the @ sign. 

first, check anything at all in the email field. 
Next, use regular expression and the test() method to check the field. Also trim leading whitespace off the string. This won’t be perfect validation — it is possible to slip not compliant addresses by it — but it's normally good enough. */

function validateEmail(field, is_required) {
  var strMessage = "";
  var is_valid;	
	var tfield = trim(field.value);             // value of field with whitespace trimmed off
	var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
	var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
	if (is_required && hasContent(field) == false) {
		  strMessage = "An email address is required. Please enter a value.\n"
			is_valid = false;
	} else if (!emailFilter.test(tfield)) {              //test email for illegal characters
			strMessage = "Please enter a valid email address.\n";
			is_valid = false;
	} else if (field.value.match(illegalChars)) {
			strMessage = "The email address contains illegal characters.\n";
			is_valid = false;
	} else {
			is_valid = true;
	}
	var aryResult = new Array(is_valid, strMessage);
	return aryResult;
}

/* check phone number. use regular expression and replace() to clear out any spacer characters. 
Next, we use the isNaN() function to check if the phone number contains only numbers. last, check the length of the string and permit only phone numbers with 10 digits. */
function validatePhone(field, is_required) {
  var strMessage = "";
  var is_valid;	
	var stripped = field.value.replace(/[\(\)\.\-\ ]/g, '');    
	if (is_required && hasContent(field) == false) {
			strMessage = "A phone number is required. Please enter a value.\n";
			is_valid = false;
	} else if (isNaN(parseInt(stripped))) {
			strMessage = "The phone number contains illegal characters.\n";
			is_valid = false;
	} else if (stripped.length != 10) {
			strMessage = "The phone number must be 10 characters. Please include the area code.\n";
			is_valid = false;
	} else {
			is_valid = true;
	}
	var aryResult = new Array(is_valid, strMessage);
	return aryResult;
}

function trim(s) {
  return s.replace(/^\s+|\s+$/, '');
}

function check_length(field, minimum_required, maximum_allowed) {
  var strMessage = "";
  var is_valid;	
	if (field.value.length < minimum_required) {
			strMessage = "The username is too short. Must be at least " +  minimum_required + ".\n";
			is_valid = false;
	} else if (field.value.length > maximum_allowed) {
			strMessage = "The username is too long. Cannot exceed " +  maximum_allowed + ".\n";
			is_valid = false;
	} else {
			is_valid = true;
	}
	var aryResult = new Array(is_valid, strMessage);
	return aryResult;
}

function upperCase(x) {
	var y=document.getElementsByName(x)[0].value;
	alert("element name="+ x + ", value is:" + y);
	document.getElementsByName(x)[0].value=y.toUpperCase();
}

