

		

		function validateChars(str, chars) {
			var k;
			
			for(k=0; k < chars.length; k++) {
				if (chars.indexOf(str.charAt(k))==-1) {
					return (false);
				}
			}
			return (true);
		}
		
		function validateName(caption, elements) {
			var validNameChars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,.- ";
			var str;
			var k;

			for (i = 1; i < arguments.length; i++)
			{
				str = arguments[i].value + "";
				if (str != "") {
					if (!validateChars(str, validNameChars)) {
						return ("      - " + caption + "\n");
					}
				}
			}
			return ("");
		}
		
		
		function validateNumber(caption, elements)
		{
			var validNumericChars="0123456789 ";
			var str; 
			var k;
			var i;
			
			for (i = 1; i < arguments.length; i++)
			{
				str = arguments[i].value + "";
				if (str != "") {
					if (!validateChars(str, validNumericChars)) {
							return ("      - " + caption + "\n");
					}
				}
			}
			return("");
		}

		function validatePhoneNumber(caption, element)
		{
			var checkOK="0123456789"
			var chkphno = element.value + "";
			var allValid = true;
			var decPoints = 0;
			var allNum = "";
		for (i = 0;  i < chkphno.length;  i++)
		{
		  ch = chkphno.charAt(i);
		  for (j = 0;  j < checkOK.length;  j++)
		    if (ch == checkOK.charAt(j))
		      break;
		  if (j == checkOK.length)
		  {
		    allValid = false;
		    break;
		  }
		  allNum += ch;
		}
		if (!allValid)
		{
			return ("      - " + caption + " (Please input only numbers)\n");
		}				
  
		if (chkphno.length > 0) {
			if(chkphno.length < 10) {
				return ("      - " + caption + " (Not of Required length)\n");
			}
		}
	return("");
			
	}

		function validatePhoneNumberOld(caption, element)
		{
			var str = element.value + "";
			if (str.length > 0) {
				if(str.length < 10) {
					return ("      - " + caption + " (please include area code)\n");
				}
			}
			return("");
		}
	
		function validateEmail(caption, element) {
			var str = element.value + "";
			var regExp;
			var validEmailChars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@._-";
			if (str != "") {
				regExp = /\w\@\w/;
				if (str.split("@").length == 2  && validateChars(str, validEmailChars) && regExp.test(str)) {
					return "";
				}
				else {
					return "      - " + caption + "\n";
				}
			}
			else {
				return ("");
			}
		}
		
				
		function validateDate(caption, monthElement, dayElement, yearElement) {
			var MM = monthElement.value.toLowerCase();
			var DD = dayElement.value.toLowerCase();
			var YY = yearElement.value.toLowerCase();
			var Dte;
			
			if( (MM == "mm" && DD == "dd" && YY == "year") || (MM == "" && DD == "" && YY == "")) {
				//Date is not specified
				return "";
			}
			else {
				if(YY < 1900) {
					return("      - " + caption + "  (must specify 4-digit year)\n");
				}	
				Dte = new Date(YY, MM - 1, DD);
				if (Dte.getMonth() == (MM - 1) && Dte.getDate() == DD && Dte.getFullYear() == YY) {
					//Date is valid.
					return "";
				}
				else {
					return "      - " + caption + "\n";
				}
				return "";
			}
		}
		
		function elementMissing(element) {
			
			switch (element.type) {
				case "text":
					return (element.value == "");
					break;
				case "textarea":
					return (element.value == "");
					break;
				case "radio":
					return (radioChecked(element));
					break;
				case "select-one":
					return (element.options[element.selectedIndex].value == "" || element.options[element.selectedIndex].value == " ");
					break;
				default:
					switch (element[0].type) {
						case "radio":
							return(!radioChecked(element));
							break;
					}	
					break;
			}
		}
		

		/*A js equivalent trim() function available in vbscript*/
		function trim() {
		 // Remove leading spaces
		 var s = this.replace(/^\s+/g, "")
		  // Remove trailing spaces
		  s = s.replace(/\s+$/g, "")
		  return s
		}
		
		function validateAddress(caption, element) {
		mydummy =element.value;
		// Assign this function to all strings
		String.prototype.trim = trim
		mydummy = mydummy.trim();
		//alert(mydummy.length);
			if (mydummy.length = 0) {
				return ("      - " + caption + ' (not valid)\n');
			}
			else {
				return "";
			}
		}

		
		
		function checkRequired(caption, elements) {
			var i;
			var bMissing = false;
			
			for(i=1; i < arguments.length; i++)
			{
				if(elementMissing(arguments[i])) {
					bMissing = true;
					break;
				}
				
			}
			if (bMissing) {
				return ("      - " + caption + '\n');
			}
			else {
				return("");
			}
			return("");
		}
		
		function radioChecked(radio)
		{
			for (index=0; index < radio.length; index++)
			{
				if(radio[index].checked)
					return(true);
			}
			return(false);
		}
		
		// added these for new Enrollment Forms...
		function validateRadioButton(radio, name)
		{
			valid = "false"
  			for (i=0; i<radio.length; i++) 
			{
    			if (radio[i].checked) 
				{
      				valid = "true";
    			}
  			}
  			if (valid == "false") 
			{
    			return ("      - " + name + '\n');
  			}
			else
			{
				return ("");
			}
		}

