// JavaScript Document
function ValidatePage1(){
	if(!EmptyCheck('insured_1_gender', 'gender')) return false;

	if(!RangeCheck('insured_1_dobMM', 'birth month', 1, 12)) return false;
	
	var maxDay = 31;
	switch(document.getElementById('insured_1_dobMM').value){
		case 2:
			maxDay = 29;
			break;
		case 4:
		case 6:
		case 9:
		case 11:
			maxDay = 30;
			break;			
	}
	if(!RangeCheck('insured_1_dobDD', 'birth day of the month', 1, maxDay)) return false;

	var d = new Date();
	var currYear = d.getFullYear();
	if(!RangeCheck('insured_1_dobYYYY', 'birth year', 1900, currYear)) return false;
	
	if(!RangeCheck('insured_1_heightFT', 'feet portion of the height', 3, 7)) return false;

	if(!RangeCheck('insured_1_heightIN', 'inches portion of the height', 0, 12)) return false;
	
	if(!RangeCheck('insured_1_weight', 'weight', 1, 9999)) return false;
	
	if(!NumericCheck('address_1_zip', 'zip code')) return false;
	
	return true;
}

function ValidatePage3(){
	if(document.getElementById('spouse_needs_insurance_yes').checked){
		if(!EmptyCheck('insured_2_gender', 'gender (spouse)')) return false;

		if(!RangeCheck('insured_2_dobMM', 'birth month (spouse)', 1, 12)) return false;
		
		var maxDay = 31;
		switch(document.getElementById('insured_2_dobMM').value){
			case 2:
				maxDay = 29;
				break;
			case 4:
			case 6:
			case 9:
			case 11:
				maxDay = 30;
				break;			
		}
		if(!RangeCheck('insured_2_dobDD', 'birth day of the month (spouse)', 1, maxDay)) return false;

		var d = new Date();
		var currYear = d.getFullYear();
		if(!RangeCheck('insured_2_dobYYYY', 'birth year (spouse)', 1900, currYear)) return false;
		
		if(!RangeCheck('insured_2_heightFT', 'feet portion of the height (spouse)', 3, 7)) return false;

		if(!RangeCheck('insured_2_heightIN', 'inches portion of the height (spouse)', 0, 12)) return false;
		
		if(!RangeCheck('insured_2_weight', 'weight (spouse)', 1, 9999)) return false;
		
		if(!EmptyCheck('insured_2_smoker', 'gender (spouse)')) return false;
	}

	if(document.getElementById('number_of_dependents').value > 0){
		for(var i=3; i<document.getElementById('number_of_dependents').value+3; i++){
			if(!EmptyCheck('insured_' + i + '_gender', 'gender (child' + (i-2) + ')')) return false;

			if(!RangeCheck('insured_' + i + '_dobMM', 'birth month (child' + (i-2) + ')', 1, 12)) return false;
			
			var maxDay = 31;
			switch(document.getElementById('insured_' + (i-2) + '_dobMM').value){
				case 2:
					maxDay = 29;
					break;
				case 4:
				case 6:
				case 9:
				case 11:
					maxDay = 30;
					break;			
			}
			if(!RangeCheck('insured_' + i + '_dobDD', 'birth day of the month (child' + (i-2) + ')', 1, maxDay)) return false;

			var d = new Date();
			var currYear = d.getFullYear();
			if(!RangeCheck('insured_' + i + '_dobYYYY', 'birth year (child' + (i-2) + ')', 1900, currYear)) return false;
			
			if(!RangeCheck('insured_' + i + '_heightFT', 'feet portion of the height (child' + (i-2) + ')', 3, 7)) return false;

			if(!RangeCheck('insured_' + i + '_heightIN', 'inches portion of the height (child' + (i-2) + ')', 0, 12)) return false;
			
			if(!RangeCheck('insured_' + i + '_weight', 'weight (child' + (i-2) + ')', 1, 9999)) return false;
		}
	}

	return true;
}

function ValidatePage4() {
	if(!EmptyCheck('first_name', 'first name')) return false;

	if (!EmptyCheck('last_name', 'last name')) return false;

	if (!EmptyCheck('address_1_city', 'city')) return false;

	if (!EmptyCheck('address_1_state', 'state')) return false;

	if (!NumericCheck('address_1_zip', 'zip code ')) return false;

	if (!NumericCheck('phone_1', 'area code')) return false;

	if (!NumericCheck('phone_2', 'phone prefix')) return false;

	if (!NumericCheck('phone_3', 'phone number')) return false;

	if (!EmptyCheck('email', 'email address')) return false;

	if (!DropDownCheck('county', 'county')) return false;

	return true;
}

function EmptyCheck(ElementId, Message) {
	if (document.getElementById(ElementId)) {
		if (document.getElementById(ElementId).value == "") {
			alert("Please enter the " + Message + " for the person to be insured.");
			return false;
		}
	}
	else {
		alert(ElementId + " is missing.");
		return false;
	}
	
	return true;
}

function NumericCheck(ElementId, Message){
	if(EmptyCheck(ElementId, Message)){
		if(isNaN(document.getElementById(ElementId).value)){
			alert("The " + Message + " for the person to be insured must be a number.");
			return false;
		}
		
		return true;
	}
	
	return false;
}

function DropDownCheck(ElementId, Message) {
	if (document.getElementById(ElementId)) {
		if (document.getElementById(ElementId).options[document.getElementById(ElementId).selectedIndex].value == "") {
			alert("You must choose a " + Message + ".");
			return false;
		}
	}
	else {
		alert("The " + Message + " doesn't exist.");
		return false;
	}

	return true;
}

function RangeCheck(ElementId, Message, MinValue, MaxValue){
	if(NumericCheck(ElementId, Message)){
		if(document.getElementById(ElementId).value < MinValue || document.getElementById(ElementId).value > MaxValue){
			alert("The " + Message + " for the person to be insured must be between " + MinValue + " and " + MaxValue + ".");
			return false;
		}
		
		return true;
	}
	
	return false;
}

function setDependents(number){
	//hide all dependents
	document.getElementById('child_option1').style.display = 'none';
	document.getElementById('child_option2').style.display = 'none';
	document.getElementById('child_option3').style.display = 'none';
	document.getElementById('child_option4').style.display = 'none';
	document.getElementById('child_option5').style.display = 'none';
	document.getElementById('child_option6').style.display = 'none';
	
	if (number > 0) document.getElementById('child_option1').style.display = 'block';
	if (number > 1) document.getElementById('child_option2').style.display = 'block';
	if (number > 2) document.getElementById('child_option3').style.display = 'block';
	if (number > 3) document.getElementById('child_option4').style.display = 'block';
	if (number > 4) document.getElementById('child_option5').style.display = 'block';
	if (number > 5) document.getElementById('child_option6').style.display = 'block';
}
