// 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(document.getElementById("first_name").value == ""){
		alert("Please, enter first name for parent 1");
		document.getElementById("first_name").focus();
		return false;
		
	} else if(document.getElementById("last_name").value == ""){
		alert("Please, enter last name for parent 1");
		document.getElementById("last_name").focus();
		return false;
		
	} else if(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(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(document.getElementById("email").value == "" || document.getElementById("email").value == ""){
		alert("Please, enter valid email address for parent 1");
		document.getElementById("email").focus();
		return false;
		
	} else if(document.getElementById("00N60000001NRCs").value == ""){
		alert("Please, select gender for parent 1");
		document.getElementById("00N60000001NRCs").focus();
		return false;
	}

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

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

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

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

	} else if(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;
		
	}
	
	if(document.getElementById("00N60000001NRFN").value == "Married"){
		 //If Marital Status Married Do More error checking
		
		if(document.getElementById("00N60000001NRD2").value == ""){
			alert("Please, enter first name for parent 2");
			document.getElementById("00N60000001NRD2").focus();
			return false;
		
		} else if(document.getElementById("00N60000001PgbF").value == ""){
			alert("Please, enter last name for parent 2");
			document.getElementById("00N60000001PgbF").focus();
			return false;
			
		} else if(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(document.getElementById("00N60000001NSdp").value == ""){
			alert("Please, enter valid email address for parent 2");
			document.getElementById("00N60000001NSdp").focus();
			return false;
			
		} else if(document.getElementById("00N60000001NRDM").value == ""){
			alert("Please, select gender for parent 2");
			document.getElementById("00N60000001NRDM").focus();
			return false;
		}
		
	}//end of marital status married validation
	
	
	// Validation for referral if other
	if(document.getElementById("00N60000001NRFS").value == ""){
		alert("Please, enter other referral source");
		document.getElementById("00N60000001NRFS").focus();
		return false;
	}
    
	// Assign DOB to parent1 date field
	if(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(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(document.getElementById("00N60000001ehEb").value != "" || 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(document.getElementById("00N60000001ehED").value != "" || 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(document.getElementById("00N60000001ehDV").value != "" || 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(document.getElementById("00N60000001ehDZ").value != "" || 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(document.getElementById("00N60000001ehDd").value != "" || 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(document.getElementById("00N60000001ehDh").value != "" || document.getElementById("00N60000001ehDh").value != ""){
		document.getElementById("00N60000001ehDg").value = makeDate(formName.child6_dob_yyyy.value, formName.child6_dob_mm.value, formName.child6_dob_dd.value);
	}
	
	return true;

}



//TESTING FUNCTIONS


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


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 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;		

	}

}

