function flipDefinedBenefits(){
	var myForm = document.ballpark;
	//alert(myform.haveDefinedBenefit.value);
	if (myForm.haveDefinedBenefit[1].checked == true) {
		myForm.definedBenefitAge.disabled = true;
		myForm.definedBenefitWage.disabled = true;
	} else if (myForm.haveDefinedBenefit[0].checked == true) {
		myForm.definedBenefitAge.disabled = false;
		myForm.definedBenefitWage.disabled = false;
	}
}


function numbersOnlyFilter(e)
{

	var key;
	var keychar;
	var reg;
	
	if(window.event) {
		// for IE, e.keyCode or window.event.keyCode can be used
		key = e.keyCode; 
	}
	else if(e.which) {
		// netscape
		key = e.which; 
	}
	else {
		// no event, so pass through
		return true;
	}

	keychar = String.fromCharCode(key);
	
	reg = /([\d\.\b])/;
	return reg.test(keychar);
}

function validateBallpark (myForm) {
	var errorsList = "";
	errorsList += checkBlank(myForm.currentAge.value, "Question 1");
	errorsList += checkNumber(myForm.currentAge.value, "Question 1");
	errorsList += checkBlank(myForm.currentSalary.value, "Question 2");
	errorsList += checkNumber(myForm.currentSalary.value, "Question 2");
	errorsList += checkBlank(myForm.retireAge.value, "Question 3");
	errorsList += checkNumber(myForm.retireAge.value, "Question 3");
	if ((myForm.retireAge.value*1) <= (myForm.currentAge.value*1)) {
		errorsList += "Question 3: Current age must be less than age at retirement.\n";
	} 
	errorsList += checkBlank(myForm.replacementRate.value, "Question 4");
	errorsList += checkNumber(myForm.replacementRate.value, "Question 4");
	if ((checkNumber(myForm.replacementRate.value, "Q") == "")) {
		if (myForm.replacementRate.value <= 0) {
			errorsList += "Question 4: value must be greater than zero.\n";
		}
	}
	errorsList += checkBlank(myForm.deathAge.value, "Question 5");
	errorsList += checkNumber(myForm.deathAge.value, "Question 5");
	if ((myForm.deathAge.value *1) > 200) {
		errorsList += "Question 5: Age of death cannot be greater than 200 years.\n";
	}
	if ((myForm.deathAge.value*1) < (myForm.retireAge.value*1)) {
		errorsList += "Question 5: Age of death must be larger than age at retirement.\n";
	}
	errorsList += checkBlank(myForm.inflationRate.value, "Question 6");
	errorsList += checkNumber(myForm.inflationRate.value, "Question 6");
	errorsList += checkBlank(myForm.wageGrowth.value, "Question 7");
	errorsList += checkNumber(myForm.wageGrowth.value, "Question 7");
	errorsList += checkBlank(myForm.preRetireRate.value, "Question 8");
	errorsList += checkNumber(myForm.preRetireRate.value, "Question 8");
	errorsList += checkBlank(myForm.postRetireRate.value, "Question 9");
	errorsList += checkNumber(myForm.postRetireRate.value, "Question 9");
	errorsList += checkRadioBlank(myForm.haveDefinedBenefit, "Question 10");
	
	if (myForm.haveDefinedBenefit[0].checked == true) {
		errorsList += checkBlank(myForm.definedBenefitAge.value, "Question 11");
		errorsList += checkNumber(myForm.definedBenefitAge.value, "Question 11");
		errorsList += checkBlank(myForm.definedBenefitWage.value, "Question 12");
		errorsList += checkNumber(myForm.definedBenefitWage.value, "Question 12");
	}
	errorsList += checkBlank(myForm.retirePartTimeWage.value, "Question 13");
	errorsList += checkNumber(myForm.retirePartTimeWage.value, "Question 13");
	errorsList += checkBlank(myForm.retireOtherIncome.value, "Question 14");
	errorsList += checkNumber(myForm.retireOtherIncome.value, "Question 14");
	errorsList += checkBlank(myForm.currentSavings.value, "Question 15");
	errorsList += checkNumber(myForm.currentSavings.value, "Question 15");
	errorsList += checkBlank(myForm.SSecurityBenefit.value, "Question 16");
	errorsList += checkNumber(myForm.SSecurityBenefit.value, "Question 16");
	
	
	// finish these!
	
	if (errorsList != "") {
		alert(errorsList);
		return false;
	} else { 
		return true;
	}
}

function checkRadioBlank(field, friendlyName) {
	foundChecked = false;
	for (i = 0; i < field.length; i++) {
		if (field[i].checked == true) {
			foundChecked = true;
		}
	}
	if (!foundChecked) {
		return friendlyName + " must not be left blank.\n";
	} else {
		return "";
	}
}


function checkBlank(fieldVal, friendlyName) {
	reg = /^\s*$/;
	if (reg.test(fieldVal)) {
		return friendlyName + " must not be left blank.\n";
	} else {
		return "";
	}
}

function checkNumber(fieldVal, friendlyName) {
	reg = /^\d*(\.\d*)?$/;
	if (!reg.test(fieldVal)) {
		return friendlyName + " must be a number.\n"
	} else {
		return "";
	}
}