// Support Script (409)
function PopulateWith(TheList, Items)
{
  var iCount = TheList.getCount();
  for (var i=0; i<iCount; i++)
    if (TheList.elementID)
      TheList.elementID.options[0] = null;
    else
      alert("bad or wrong DE for state population");

  i = 0;
  iCount = Items.length;
 	for (i=0; i<iCount; i++)
    TheList.addOption(Items[i], i, "");

  TheList.setSelectedByPosition(0);
}
// Support Script (746)
function AddToValidateArray(strElementName)
{
    var strName = strElementName

    if (!document.ValidateArray) 
    {
        document.ValidateArray = new Array
    }

    document.ValidateArray[document.ValidateArray.length] = strName
}

// Support Script (582)
function ValidateNonBlank()
{
  var msg = "";
  var val = this.getText();  

  if (StripChars(" \n\t\r",val).length == 0)
  {
    if (Trim(this.ErrorMsg) != "")
      msg = "Required field. " + this.ErrorMsg
    else
      msg = "Required field. Please enter an appropriate value."
  }

  return msg;
}

// Support Script (747)
function StripChars(theFilter,theString)
{
	var strOut,i,curChar

	strOut = ""
	for (i=0;i < theString.length; i++)
	{		
		curChar = theString.charAt(i)
		if (theFilter.indexOf(curChar) < 0)	// if it's not in the filter, send it thru
			strOut += curChar		
	}	
	return strOut
}

function AllInRange(x,y,theString)
{
	var i, curChar
	
	for (i=0; i < theString.length; i++)
	{
		curChar = theString.charAt(i)
		if (curChar < x || curChar > y) //the char is not in range
			return false
	}
	return true
}


function reformat (s)
{
    var arg;
    var sPos = 0;
    var resultString = "";

    for (var i = 1; i < reformat.arguments.length; i++) {
       arg = reformat.arguments[i];
       if (i % 2 == 1) 
           resultString += arg;
       else 
       {
           resultString += s.substring(sPos, sPos + arg);
           sPos += arg;
       }
    }
    return resultString;
}

function Trim(theString)
{
 var i,firstNonWhite

 if (StripChars(" \n\r\t",theString).length == 0 ) return ""

	i = -1
	while (1)
	{
		i++
		if (theString.charAt(i) != " ")
			break	
	}
	firstNonWhite = i
	//Count the spaces at the end
	i = theString.length
	while (1)
	{
		i--
		if (theString.charAt(i) != " ")
			break	
	}	

	return theString.substring(firstNonWhite,i + 1)

}
// Support Script (588)

function ValidateZipCode()
{
	var msg = ""
	var theString = this.getText()
 var msgInvalid = "Please enter a valid Zip Code.\nSuch as 92008 or 92008-1337"

	var theLen = StripChars(" \n\t\r",theString).length
	if (theLen == 0)	
		if (!this.Required) return ""		
		else return "Required field.  " + msgInvalid

	theString = StripChars("- \n\r",theString)		

	if (!AllInRange("0","9",theString))
	{
		msg = msgInvalid
	}
	else if (theString.length != 5 && theString.length != 9)
	{
		msg = msgInvalid
	}

	if (msg == "")
	{
		if (theString.length == 9)		
			this.setText(reformat(theString,"",5,"-",4))
		else
   this.setText(theString)
   
	}
	return msg	
}
// Support Script (587)
function ValidateDropDown()
{
  msg = "";
  var iPos = this.getSelectedPosition();
  if (iPos<=0)
  {
    msg = "Please make a selection."
  }

  return msg;
}
// Support Script (803)
function ValidateIllegalCharTagSize()
{
   var msg          = "";
   var val          = this.getText();
 	 var MinLength    = this.MinLength
 	 var MaxLength    = this.MaxLength
   var SpecialChars = this.IllegalChrs;
   var SPVal = "";
   var SP;

   if (val.length < MinLength)
   {
       if (MinLength == 1)
       {
           msg = this.ErrorMsg; // just non-blank validate
       }
       else
       {
           msg = this.ErrorMsg + " must not be less than\n   " + MinLength + " characters long.\n   (Currently " + val.length + " characters)";
       }
   }

   if (val.length > MaxLength)
   {
       msg = this.ErrorMsg + " must not be more than\n   " + MaxLength + " characters long.\n   (Currently " + val.length + " characters)"		
   }

   for (var i=0; i < SpecialChars.length; i++)
   {
       SP = SpecialChars.substring(i, i+1);
       if (val.indexOf(SP) != -1)
       {
           if (SP == " ") { SP = "spaces" }
           SPVal = SP;
           break;
       }
   }
   if (SPVal != "") {
      msg = this.ErrorMsg + " has illegal characters.\n   Cannot contain " + SP;
   }
   if(val.indexOf("@") < 0) msg = this.ErrorMsg + "Please enter a valid e-mail address\n(a valid e-mail address contains the @ character)";
   return msg;
}
// Support Script (740)
function Validate(stopOnFailure)
{
	var ErrorMsg = "";
	var i
	var msg
	var tofocus = true;
	var ErrorMsg = "";
	
	// Go through the Validate Array that may or may not exist
	// and call the Validate function for all elements that have one.
	if (document.ValidateArray)
	{
		for (i = 0; i < document.ValidateArray.length; i ++)
		{
			msg = eval( document.ValidateArray[i] + ".Validate()")
			if (msg != "")
			{
				ErrorMsg += "\n\n" + document.ValidateArray[i] + ":  " + msg;
				if (tofocus) 
				{
					eval(document.ValidateArray[i] + ".focus()")
					tofocus = false;
				}
				
				if (stopOnFailure == "1") return ErrorMsg;
			}
  	}
  }
	return ErrorMsg;
}

// Support Script (748)
function ValidateTargetEqualsSource()
{
	var msg = ""
	var sourceText = this.getText()
	var targetText = this.Target.getText()
	var msgInvalid = "Password and Confirmation must match"
	
	var theLen = StripChars(" \n\t\r", sourceText).length
	if (theLen == 0)
	{	
		if (!this.Required) return ""		
		else return "Required field.  " + msgInvalid
	}
	
	if (sourceText != targetText)
	{
		msg = msgInvalid
	}
	
	return msg	
}
// Support Script (581)

function ValidateInternationalPhone()
{
	var msg = ""
	var theString = this.getText()
	
	var theLen = StripChars(" \n\t\r",theString).length
	if (theLen == 0)	
		if (!this.Required) return ""		
		else return "Required field.  Please enter a valid phone number."

	theString = StripChars("+*() -./_\n\r",theString)		

	if (!AllInRange("0","9",theString) || theString.length < 6)
	{
		msg = "Please enter a valid phone number."
	}	

	return msg		
}
function document_onLoad() {
var i = 0;
s = new Array(236);
s[i++] = "Select Country"
s[i++] = "U.S.A."
s[i++] = "Canada"
s[i++] = "Albania"
s[i++] = "Algeria"
s[i++] = "American Samoa"
s[i++] = "Andorra"
s[i++] = "Angola"
s[i++] = "Anguilla"
s[i++] = "Antarctica"
s[i++] = "Antigua and Barbuda"
s[i++] = "Argentina"
s[i++] = "Armenia"
s[i++] = "Aruba"
s[i++] = "Australia"
s[i++] = "Austria"
s[i++] = "Azerbaijan"
s[i++] = "Bahamas"
s[i++] = "Bahrain"
s[i++] = "Bangladesh"
s[i++] = "Barbados"
s[i++] = "Belarus"
s[i++] = "Belgium"
s[i++] = "Belize"
s[i++] = "Benin"
s[i++] = "Bermuda"
s[i++] = "Bhutan"
s[i++] = "Bolivia"
s[i++] = "Bosina Hercegovina"
s[i++] = "Botswana"
s[i++] = "Bouvet Island"
s[i++] = "Brazil"
s[i++] = "British Indian Ocean Territory"
s[i++] = "Brunie Darussalam"
s[i++] = "Bulgaria"
s[i++] = "Burkina Faso"
s[i++] = "Burundi"
s[i++] = "Cambodia"
s[i++] = "Cameroon"
s[i++] = "Cape Verde"
s[i++] = "Cayman Islands"
s[i++] = "Central African Republic"
s[i++] = "Chad"
s[i++] = "Chile"
s[i++] = "China"
s[i++] = "Christmas Island"
s[i++] = "Cocos / Keeling Islands"
s[i++] = "Colombia"
s[i++] = "Comoros"
s[i++] = "Congo"
s[i++] = "Cook Islands"
s[i++] = "Costa Rica"
s[i++] = "Cote D'ivoire"
s[i++] = "Croatia"
s[i++] = "Cuba"
s[i++] = "Cyprus"
s[i++] = "Czech Republic"
s[i++] = "Denmark"
s[i++] = "Djibouti"
s[i++] = "Dominica"
s[i++] = "Dominican Republic"
s[i++] = "East Timor"
s[i++] = "Ecuador"
s[i++] = "El Salvador"
s[i++] = "Equatorial Guinea"
s[i++] = "Eritrea"
s[i++] = "Estonia"
s[i++] = "Ethiopia"
s[i++] = "Falkland Islands / Malvinas"
s[i++] = "Faroe Islands"
s[i++] = "Fiji"
s[i++] = "Finland"
s[i++] = "France"
s[i++] = "French Guiana"
s[i++] = "French Polynesia"
s[i++] = "French Southern Territories"
s[i++] = "Gabon"
s[i++] = "Gambia"
s[i++] = "Georgia"
s[i++] = "Germany"
s[i++] = "Ghana"
s[i++] = "Gibraltar"
s[i++] = "Greece"
s[i++] = "Greenland"
s[i++] = "Grenada"
s[i++] = "Grenadines"
s[i++] = "Guadeloupe"
s[i++] = "Guam"
s[i++] = "Guatemala"
s[i++] = "Guinea"
s[i++] = "Guinea-Bissau"
s[i++] = "Guyana"
s[i++] = "Haiti"
s[i++] = "Heard And Mcdonald Islands"
s[i++] = "Holy See / Vatican City State"
s[i++] = "Honduras"
s[i++] = "Hong Kong"
s[i++] = "Hungary"
s[i++] = "Iceland"
s[i++] = "India"
s[i++] = "Indonesia"
s[i++] = "Iran, Islamic Republic Of"
s[i++] = "Iraq"
s[i++] = "Ireland"
s[i++] = "Israel"
s[i++] = "Italy"
s[i++] = "Jamaica"
s[i++] = "Japan"
s[i++] = "Jordan"
s[i++] = "Kazakstan"
s[i++] = "Kenya"
s[i++] = "Kiribati"
s[i++] = "Korea, Democratic People's"
s[i++] = "Korea, Republic Of"
s[i++] = "Kuwait"
s[i++] = "Kyrgyzstan"
s[i++] = "Lao, People's Democratic Republic"
s[i++] = "Latvia"
s[i++] = "Lebanon"
s[i++] = "Lesotho"
s[i++] = "Liberia"
s[i++] = "Libyan Arab Jamahiriya"
s[i++] = "Liechtenstein"
s[i++] = "Lithuania"
s[i++] = "Luxembourg"
s[i++] = "Macau"
s[i++] = "Macedonia, The Former Yugoslav"
s[i++] = "Madagascar"
s[i++] = "Malawi"
s[i++] = "Malaysia"
s[i++] = "Maldives"
s[i++] = "Mali"
s[i++] = "Malta"
s[i++] = "Marshall Islands"
s[i++] = "Martinique"
s[i++] = "Mauritania"
s[i++] = "Mauritius"
s[i++] = "Mayotte"
s[i++] = "Mexico"
s[i++] = "Micronesia, Federated States Of"
s[i++] = "Moldova, Republic Of"
s[i++] = "Monaco"
s[i++] = "Mongolia"
s[i++] = "Montserrat"
s[i++] = "Morocco"
s[i++] = "Mozambique"
s[i++] = "Myanmar"
s[i++] = "Namibia"
s[i++] = "Nauru"
s[i++] = "Nepal"
s[i++] = "Netherlands"
s[i++] = "Netherlands Antilles"
s[i++] = "New Caledonia"
s[i++] = "New Zealand"
s[i++] = "Nicaragua"
s[i++] = "Niger"
s[i++] = "Nigeria"
s[i++] = "Niue"
s[i++] = "Norfolk Island"
s[i++] = "Northern Mariana Islands"
s[i++] = "Norway"
s[i++] = "Oman"
s[i++] = "Pakistan"
s[i++] = "Palau"
s[i++] = "Panama"
s[i++] = "Papua New Guinea"
s[i++] = "Paraguay"
s[i++] = "Peru"
s[i++] = "Philippines"
s[i++] = "Pitcairn"
s[i++] = "Poland"
s[i++] = "Portugal"
s[i++] = "Puerto Rico"
s[i++] = "Qatar"
s[i++] = "Reunion"
s[i++] = "Romania"
s[i++] = "Russian Federation"
s[i++] = "Rwanda"
s[i++] = "Saint Helena"
s[i++] = "Saint Kitts And Nevis"
s[i++] = "Saint Lucia"
s[i++] = "Saint Pierre and Miquelon"
s[i++] = "Saint Vincent"
s[i++] = "Samoa"
s[i++] = "San Marino"
s[i++] = "Sao Tome And Principe"
s[i++] = "Saudi Arabia"
s[i++] = "Senegal"
s[i++] = "Seychelles"
s[i++] = "Sierra Leone"
s[i++] = "Singapore"
s[i++] = "Slovakia"
s[i++] = "Solvenia"
s[i++] = "Solomon Islands"
s[i++] = "Somalia"
s[i++] = "South Africa"
s[i++] = "South Georgia / Sandwich Islands"
s[i++] = "Spain"
s[i++] = "Sri Lanka"
s[i++] = "Sudan"
s[i++] = "Suriname"
s[i++] = "Svalbard / Jan Mayen Islands"
s[i++] = "Swaziland"
s[i++] = "Sweden"
s[i++] = "Switzerland"
s[i++] = "Syrian Arab Republic"
s[i++] = "Taiwan, Province of China"
s[i++] = "Tajikistan"
s[i++] = "Tanzania, United Republic Of"
s[i++] = "Thailand"
s[i++] = "Togo"
s[i++] = "Tokelau"
s[i++] = "Tonga"
s[i++] = "Trinidad And Tobago"
s[i++] = "Tunisia"
s[i++] = "Turkey"
s[i++] = "Turkmenistan"
s[i++] = "Turks And Caicos Islands"
s[i++] = "Tuvalu"
s[i++] = "Uganda"
s[i++] = "Ukraine"
s[i++] = "United Arab Emirates"
s[i++] = "United Kingdom"
s[i++] = "Uruguay"
s[i++] = "Uzbekistan"
s[i++] = "Vanuatu"
s[i++] = "Venezuela"
s[i++] = "Vietnam"
s[i++] = "Virgin Islands / British"
s[i++] = "Virgin Islands / U.S."
s[i++] = "Wallis And Futuna Islands"
s[i++] = "Western Sahara"
s[i++] = "Yemen"
s[i++] = "Yugoslavia"
s[i++] = "Zambia"
s[i++] = "Zimbabwe"

PopulateWith(CountryList, s);
FirstName.Validate=ValidateNonBlank;
FirstName.ErrorMsg = "Please enter first name."
AddToValidateArray("FirstName")
LastName.Validate=ValidateNonBlank;
LastName.ErrorMsg = "Please enter last name."
AddToValidateArray("LastName")
Relation.Validate=ValidateNonBlank;
Relation.ErrorMsg = "Please enter relation to family."
AddToValidateArray("Relation")
Username.Validate=ValidateNonBlank;
Username.ErrorMsg = "Please enter a username."
AddToValidateArray("Username")
Password.Validate=ValidateNonBlank;
Password.ErrorMsg = "Please enter a 4-12 character alpha-numeric password. (No spaces)"
AddToValidateArray("Password")
ConfirmPassword.Validate = ValidateTargetEqualsSource
ConfirmPassword.Target = Password
ConfirmPassword.Required = Number("1")
AddToValidateArray("ConfirmPassword")
StreetAddress.Validate=ValidateNonBlank;
StreetAddress.ErrorMsg = "Please enter street address."
AddToValidateArray("StreetAddress")
City.Validate=ValidateNonBlank;
City.ErrorMsg = "Please enter city."
AddToValidateArray("City")
StateProvince.Validate=ValidateNonBlank;
StateProvince.ErrorMsg = "Please enter state or province."
AddToValidateArray("StateProvince")
Zip.Validate = ValidateZipCode;
Zip.Required = Number("1");
AddToValidateArray("Zip")
CountryList.Validate = ValidateDropDown;
AddToValidateArray("CountryList")
Email.Validate    = ValidateIllegalCharTagSize;
Email.ErrorMsg    = ""
Email.MinLength   = Number("1");
Email.MaxLength   = Number("63");
Email.IllegalChrs = String("! $£|`¬¦~#%^&*-+=\\}{\"';:?/><,()\f\n\r\t");
AddToValidateArray("Email")
Phone.Validate = ValidateInternationalPhone;
Phone.Required = Number("1");
AddToValidateArray("Phone")
 }
function Form1_onSubmit() {
errorMsg = Validate("0"); // don't stop on first error

if (errorMsg != "")
    alert("The form could not be submitted:" + errorMsg);

return (errorMsg == ""); // false prevents form submission
 }
function _Form1_onSubmit() { if (Form1) return Form1.onSubmit(); }
function Individuals_Submit__onClick() {
PasswordCookie.setValue("Username",Username.getText());
PasswordCookie.setValue("Password",Password.getText());
 }
function _Individuals_Submit__onClick() { if (Individuals_Submit) return Individuals_Submit.onClick(); }

