// JavaScript Document
function capitalizeFirst(thisObj) {
	currentText = thisObj.value;
	thisObj.value = currentText.substring(0,1).toUpperCase() + currentText.substring(1,currentText.length);
}


function validateForm(){
	var formName = document.getElementById("asaPreApp");
	var medicalIssue;

	// Validation for Parent1
	var j=1;
	var form = "document.asaPreApp.";
	var i= form+"firstName"+j+".value";

	if(checkTrim(document.getElementById("first_name").value) == ""){
		alert("Please, enter first name for parent 1");
		document.getElementById("first_name").focus();
		return false;
		
	} else if(checkTrim(document.getElementById("last_name").value) == ""){
		alert("Please, enter last name for parent 1");
		document.getElementById("last_name").focus();
		return false;
		
	} else if(checkTrim(document.getElementById("00N60000001NRCx").value) == ""){
		alert("Please, enter occupation for parent 1");
		document.getElementById("00N60000001NRCx").focus();
		return false;
		
	} else if(!verifyDate(formName.parent1_dob_yyyy.value, formName.parent1_dob_mm.value, formName.parent1_dob_dd.value)){
			alert("Please, enter a valid date of birth for parent 1 (MM/DD/YYYY)");
			formName.parent1_dob_mm.focus();
			return false;
	}


	if(checkTrim(document.getElementById("phone").value) == ""){
		alert("Please, enter home phone number for parent 1");
		document.getElementById("phone").focus();
		return false;	
		
	} else if(check_usphone(document.getElementById("phone").value) == false){
		alert("Please, enter valid home phone number for parent 1");
		document.getElementById("phone").value = "";
		document.getElementById("phone").focus();
		return false;
		
	} else{
		document.getElementById("phone").value = formatPhoneNumber(document.getElementById("phone").value);
	}


	if(checkTrim(document.getElementById("00N60000001NSYG").value) != "" && check_usphone(document.getElementById("00N60000001NSYG").value) == false){
		alert("Please, enter valid cell phone number for parent 1");
		document.getElementById("00N60000001NSYG").value = "";
		document.getElementById("00N60000001NSYG").focus();
		return false;
		
	} else if(checkTrim(document.getElementById("00N60000001NR97").value) != "" && check_usphone(document.getElementById("00N60000001NR97").value) == false){
		alert("Please, enter valid work phone number for parent 1");
		document.getElementById("00N60000001NR97").value = "";
		document.getElementById("00N60000001NR97").focus();
		return false;
		
	} else if(checkTrim(document.getElementById("email").value) == ""){
		alert("Please, enter valid email address for parent 1");
		document.getElementById("email").focus();
		return false;
		
	} else if(emailCheck(document.getElementById("email").value) == false){
		alert("Please, enter valid email address for parent 1");
		document.getElementById("email").value = "";
		document.getElementById("email").focus();
		return false;
		
	} else if(checkTrim(document.getElementById("00N60000001NRCs").value) == ""){
		alert("Please, select gender for parent 1");
		document.getElementById("00N60000001NRCs").focus();
		return false;
	}


	// Validation for Parent2
	if(checkTrim(document.getElementById("00N60000001NRD2").value) != ""){
		if(checkTrim(document.getElementById("00N60000001PgbF").value) == ""){
			alert("Please, enter last name for parent 2");
			document.getElementById("00N60000001PgbF").focus();
			return false;
			
		} else if(checkTrim(document.getElementById("00N60000001ci0o").value) == ""){
			alert("Please, enter occupation for parent 2");
			document.getElementById("00N60000001ci0o").focus();
			return false;
			
		} else if(!verifyDate(formName.parent2_dob_yyyy.value, formName.parent2_dob_mm.value, formName.parent2_dob_dd.value)){
			alert("Please, enter a valid date of birth for parent 2 (MM/DD/YYYY)");
			formName.parent2_dob_mm.focus();
			return false;
			
		}  else if(checkTrim(document.getElementById("00N60000001ehDt").value) != "" && check_usphone(document.getElementById("00N60000001ehDt").value) == false){
			alert("Please, enter valid cell phone number for parent 2");
			document.getElementById("00N60000001ehDt").value = "";
			document.getElementById("00N60000001ehDt").focus();
			return false;
			
		} else if(checkTrim(document.getElementById("00N60000001NSdu").value) != "" && check_usphone(document.getElementById("00N60000001NSdu").value) == false){
			alert("Please, enter valid work phone number for parent 2");
			document.getElementById("00N60000001NSdu").value = "";
			document.getElementById("00N60000001NSdu").focus();
			return false;
			
		} else if(checkTrim(document.getElementById("00N60000001NSdp").value) == ""){
			alert("Please, enter valid email address for parent 2");
			document.getElementById("00N60000001NSdp").focus();
			return false;
			
		} else if(emailCheck(document.getElementById("00N60000001NSdp").value) == false){
			alert("Please, enter valid email address for parent 2");
			document.getElementById("00N60000001NSdp").value = "";
			document.getElementById("00N60000001NSdp").focus();
			return false;
			
		} else if(checkTrim(document.getElementById("00N60000001NRDM").value) == ""){
			alert("Please, select gender for parent 2");
			document.getElementById("00N60000001NRDM").focus();
			return false;
		}
	}


	// Validation for General Address, city and state and zipcode
	if(checkTrim(document.getElementById("street").value) == ""){
		alert("Please, enter address");
		document.getElementById("street").focus();
		return false;
	}

	if(checkTrim(document.getElementById("city").value) == ""){
		alert("Please, enter city");
		document.getElementById("city").focus();
		return false;
	}

	if(checkTrim(document.getElementById("state").value) == ""){
		alert("Please, select state");
		document.getElementById("state").focus();
		return false;
	}

	if(checkTrim(document.getElementById("zip").value) != "" && isValidZipCode(document.getElementById("zip").value) == false){
		alert("Please enter your 5 digit or 5 digit+4 zip code. e.g XXXXX-XXXX");
		document.getElementById("zip").value = "";
		document.getElementById("zip").focus();
		return false;
	}

	// Validation for parent marriage date
	if(checkTrim(document.getElementById("00N60000001NRFN").value) == ""){
		alert("Please enter your Marital Status.");
		document.getElementById("00N60000001NRFN").focus();
		return false;

	} else if(checkTrim(document.getElementById("00N60000001NRFN").value) == "Married" &&!verifyDate(formName.parent1_dob_yyyy.value, formName.dom_mm.value, formName.dom_dd.value)){
		alert("Please, enter a valid Date of Marriage (MM/DD/YYYY)");
		formName.dom_mm.focus();
		return false;
	} 

	// Validation for Child 1
	if(checkTrim(document.getElementById("00N60000001ehEb").value) != ""){
		if(checkTrim(document.getElementById("00N60000001eiNz").value) == ""){
			alert("Please, enter last name for child 1");
			document.getElementById("00N60000001eiNz").focus();
			return false;
		} else if(!verifyDate(formName.child1_dob_yyyy.value, formName.child1_dob_mm.value, formName.child1_dob_dd.value)){
			alert("Please, enter a valid date of birth for child 1 (MM/DD/YYYY)");
			formName.child1_dob_mm.focus();
			return false;
		} else if(checkTrim(document.getElementById("00N60000001eijf").value) == ""){
			alert("Please, select child origin for child 1");
			document.getElementById("00N60000001eijf").focus();
			return false;
		}
	}

	// Validation for Child 2
	if(checkTrim(document.getElementById("00N60000001ehED").value) != ""){
		if(checkTrim(document.getElementById("00N60000001eiO0").value) == ""){
			alert("Please, enter last name for child 2");
			document.getElementById("00N60000001eiO0").focus();
			return false;
		} else if(!verifyDate(formName.child2_dob_yyyy.value, formName.child2_dob_mm.value, formName.child2_dob_dd.value)){
			alert("Please, enter a valid date of birth for child 2 (MM/DD/YYYY)");
			formName.child2_dob_mm.focus();
			return false;
		} else if(checkTrim(document.getElementById("00N60000001eijk").value) == ""){
			alert("Please, select child origin for child 2");
			document.getElementById("00N60000001eijk").focus();
			return false;
		}
	}
	// Validation for Child 3
	if(checkTrim(document.getElementById("00N60000001ehDV").value) != ""){
		if(checkTrim(document.getElementById("00N60000001ehDW").value) == ""){

				alert("Please, enter last name for child 3");

				document.getElementById("00N60000001ehDW").focus();

				return false;

		} else if(!verifyDate(formName.child3_dob_yyyy.value, formName.child3_dob_mm.value, formName.child3_dob_dd.value)){
			alert("Please, enter a valid date of birth for child 3 (MM/DD/YYYY)");
			formName.child3_dob_mm.focus();
			return false;
		} else if(checkTrim(document.getElementById("00N60000001ehDX").value) == ""){
			alert("Please, select child origin for child 3");
			document.getElementById("00N60000001ehDX").focus();
			return false;
		}
	}

	// Validation for Child 4
	if(checkTrim(document.getElementById("00N60000001ehDZ").value) != ""){
		if(checkTrim(document.getElementById("00N60000001ehDa").value) == ""){
				alert("Please, enter last name for child 4");
				document.getElementById("00N60000001ehDa").focus();
				return false;
		} else if(!verifyDate(formName.child4_dob_yyyy.value, formName.child4_dob_mm.value, formName.child4_dob_dd.value)){
			alert("Please, enter a valid date of birth for child 4 (MM/DD/YYYY)");
			formName.child4_dob_mm.focus();
			return false;
	
		} else if(checkTrim(document.getElementById("00N60000001ehDb").value) == ""){
			alert("Please, select child origin for child 4");
			document.getElementById("00N60000001ehDb").focus();
			return false;
		}
	}

	// Validation for Child 5
	if(checkTrim(document.getElementById("00N60000001ehDd").value) != ""){
		if(checkTrim(document.getElementById("00N60000001ehDe").value) == ""){
				alert("Please, enter last name for child 5");
				document.getElementById("00N60000001ehDe").focus();
				return false;
		} else if(!verifyDate(formName.child5_dob_yyyy.value, formName.child5_dob_mm.value, formName.child5_dob_dd.value)){
			alert("Please, enter a valid date of birth for child 5 (MM/DD/YYYY)");
			formName.child5_dob_mm.focus();
			return false;
		} else if(checkTrim(document.getElementById("00N60000001ehDf").value) == ""){
			alert("Please, select child origin for child 5");
			document.getElementById("00N60000001ehDf").focus();
			return false;
		}
	}

	// Validation for Child 6
	if(checkTrim(document.getElementById("00N60000001ehDh").value) != ""){
		if(checkTrim(document.getElementById("00N60000001ehDi").value) == ""){
				alert("Please, enter last name for child 6");
				document.getElementById("00N60000001ehDi").focus();
				return false;
		} else if(!verifyDate(formName.child6_dob_yyyy.value, formName.child6_dob_mm.value, formName.child6_dob_dd.value)){
			alert("Please, enter a valid date of birth for child 6 (MM/DD/YYYY)");
			formName.child6_dob_mm.focus();
			return false;
		} else if(checkTrim(document.getElementById("00N60000001ehDj").value) == ""){
			alert("Please, select child origin for child 6");
			document.getElementById("00N60000001ehDj").focus();
			return false;
		}
	}

	// Validation for telephone under Home Study Agency
	if(checkTrim(document.getElementById("00N60000001cS5F").value) != ""){

		if(check_usphone(document.getElementById("00N60000001cS5F").value) == false){

			alert("Please, enter valid telephone number for home study agency");
			document.getElementById("00N60000001cS5F").value = "";
			document.getElementById("00N60000001cS5F").focus();
			return false;
		}
	}

	// Validation for ext under Home Study Agency
	if(checkTrim(document.getElementById("00N60000001cS5B").value) != ""){

		if(checkTrim(document.getElementById("00N60000001cS5F").value) == ""){
			alert("Please, enter telephone number for home study agency");
			document.getElementById("00N60000001cS5F").focus();
			return false;
		}else{
			if(hasOnlyNumeric(document.getElementById("00N60000001cS5B").value) == false){
				alert("Please, enter valid ext number for home study agency");
				document.getElementById("00N60000001cS5B").value = "";
				document.getElementById("00N60000001cS5B").focus();
				return false;
			}
		}
	}

	// Validation for Other Specifics physical…,Other specific
	// mental/cognitive…,Comments,Experience,Anything else about your family
	if(checkTrim(document.getElementById("00N60000001NRGQ").value) != "" && document.getElementById("00N60000001NRGQ").value.length >= 255){
		alert("Please, enter less then 255 character for Other specific physical issues in comments section");
		document.getElementById("00N60000001NRGQ").focus();
		return false;
	}
	if(checkTrim(document.getElementById("00N60000001NRGa").value) != "" && document.getElementById("00N60000001NRGa").value.length >= 255){
		alert("Please, enter less then 255 character for Other specific mental/cognitive issues in comments section");
		document.getElementById("00N60000001NRGa").focus();
		return false;
	}
	if(checkTrim(document.getElementById("00N60000001NRCJ").value) != "" && document.getElementById("00N60000001NRCJ").value.length >= 255){
		alert("Please, enter less then 255 character for Additional Comments in comments section");
		document.getElementById("00N60000001NRCJ").focus();
		return false;
	}
	if(checkTrim(document.getElementById("00N60000001cS6h").value) != "" && document.getElementById("00N60000001cS6h").value.length >= 255){
		alert("Please, enter less then 255 character in Experience");
		document.getElementById("00N60000001cS6h").focus();
		return false;
	}
	// Validation for referral
	if(checkTrim(document.getElementById("00N60000001NRFS").value) == ""){
		alert("Please, select referral source");
		document.getElementById("00N60000001NRFS").focus();
		return false;
	}

	// Validation for referral if other
	if(checkTrim(document.getElementById("00N60000001NRFS").value) == "None of the Above"){

		if(checkTrim(document.getElementById("00N60000001NRFr").value) == ""){
			alert("Please, enter other referral source");
			document.getElementById("00N60000001NRFr").focus();
			return false;
		}
	}

	// Assign DOB to parent1 date field
	if(checkTrim(document.getElementById("first_name").value) != ""){
		document.getElementById("00N60000001dB9K").value = makeDate(formName.parent1_dob_yyyy.value, formName.parent1_dob_mm.value, formName.parent1_dob_dd.value);
	}

	// Assign DOB to parent2 date field
	if(checkTrim(document.getElementById("00N60000001NRD2").value) != ""){
		document.getElementById("00N60000001dB9H").value = makeDate(formName.parent2_dob_yyyy.value, formName.parent2_dob_mm.value, formName.parent2_dob_dd.value);
	}

	// Date of Marriage
	if(document.getElementById("00N60000001NRFN").value == "Married"){
		document.getElementById("Date_of_Marriage__c").value = makeDate(formName.dom_yyyy.value, formName.dom_mm.value, formName.dom_dd.value);
	} else {
		document.getElementById("Date_of_Marriage__c").value = "";
	}

	// Child 1 Birthdate
	if(checkTrim(document.getElementById("00N60000001ehEb").value) != ""){
		document.getElementById("00N60000001cS2k").value = makeDate(formName.child1_dob_yyyy.value, formName.child1_dob_mm.value, formName.child1_dob_dd.value);
	}
	
	// Child 2 Birthdate
	if(checkTrim(document.getElementById("00N60000001ehED").value) != ""){
		document.getElementById("00N60000001cS4v").value = makeDate(formName.child2_dob_yyyy.value, formName.child2_dob_mm.value, formName.child2_dob_dd.value);
	}
	
	// Child 3 Birthdate
	if(checkTrim(document.getElementById("00N60000001ehDV").value) != ""){
		document.getElementById("00N60000001ehDU").value = makeDate(formName.child3_dob_yyyy.value, formName.child3_dob_mm.value, formName.child3_dob_dd.value);
	}

	// Child 4 Birthdate
	if(checkTrim(document.getElementById("00N60000001ehDZ").value) != ""){
		document.getElementById("00N60000001ehDY").value = makeDate(formName.child4_dob_yyyy.value, formName.child4_dob_mm.value, formName.child4_dob_dd.value);
	}

	// Child 5 Birthdate
	if(checkTrim(document.getElementById("00N60000001ehDd").value) != ""){
		document.getElementById("00N60000001ehDc").value = makeDate(formName.child5_dob_yyyy.value, formName.child5_dob_mm.value, formName.child5_dob_dd.value);
	}
	// Child 6 Birthdate
	if(checkTrim(document.getElementById("00N60000001ehDh").value) != ""){
		document.getElementById("00N60000001ehDg").value = makeDate(formName.child6_dob_yyyy.value, formName.child6_dob_mm.value, formName.child6_dob_dd.value);
	}

	document.getElementById("company").value = document.getElementById("first_name").value+" "+document.getElementById("last_name").value;
}
function verifyDate(strYYYY, strMM, strDD){
	var pass = true;
	
	if (!(strYYYY != "" &&IsNumeric(strYYYY) &&strYYYY > 1900 &&strYYYY < 2050)){
		pass = false;
	}
	if (!(strMM != "" &&IsNumeric(strMM) &&strMM > 0 &&strMM < 13)){
		pass = false;
	}
	if (!(strDD != "" &&IsNumeric(strDD) &&strDD > 0 &&strDD < 32)){
		pass = false;
	}
	
	return pass;
		
}
function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
}

function makeDate(strYYYY, strMM, strDD){
	return strMM +"/" +strDD +"/" +strYYYY;
}



function formatPhoneNumber(str){	
	if(str.indexOf("(") != "-1")
		return str;
	else if(str.indexOf("-") == 3)
	{
		var ext;
		var phone3gidit;
		var phone5gidit;
		ext = str.substring(0,3);
		phone3gidit = str.substring(4,7);
		phone5gidit = str.substring(8,12);
		str = "("+ext +") "+phone3gidit+"-"+phone5gidit;
		return str;		

	} else {
		var ext;
		var phone3gidit;
		var phone5gidit;
		ext = str.substring(0,3);
		phone3gidit = str.substring(3,6);
		phone5gidit = str.substring(6,10);
		str = "("+ext +") "+phone3gidit+"-"+phone5gidit;
		return str;		

	}
}
