function isEmailAddr(email) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (email.indexOf(".") > 2) && (email.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,6}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(email) && r2.test(email));
}

function validString(formField,fieldLabel,required) {
	var validchars = 'abcdefghijklmnopqrstuvwxyz_.0123456789 \'';
	
	if (required && !validRequired(formField,fieldLabel))
		result = false;

	tempstr = formField.value.toLowerCase();

	for (i=0; i<tempstr.length; i++) {
		if (validchars.indexOf(tempstr.charAt(i)) == -1) {
			alert(fieldLabel + " must be under 24 characters long can only contain a to z (lower case characters), 0 to 9, \"_\" or \".\"");
			return false;
		}
	}

  return true;
}

function validEmail(formField,fieldLabel,required) {
	var result = true;

	formField.value = trim( formField.value );

	if (formField.value.length == 0) return true;

	if ((formField.value.length < 3) || !isEmailAddr(formField.value)) {
		alert("Please enter a complete email address in the form: yourname@yourdomain.com");
		formField.focus();
		result = false;
	}
   
  return result;

}

function validRequired(formField,fieldLabel) {
	var result = true;
	
	if (formField.value == "") {
		alert('Please enter a value for the "' + fieldLabel +'" field.');
		formField.focus();
		result = false;
	}
	
	return result;
}

function trim(s) {
	while (s.substring(0,1) == ' ') {
		s = s.substring(1,s.length);
	}
	while (s.substring(s.length-1,s.length) == ' ') {
		s = s.substring(0,s.length-1);
	}

	return s;
}
