
var calcObjSavings = new Calculator();

function validatevalid() {
	
	var errMsg = ""


	if(!isNumber(stringToNum(document.savingsForm.target.value))) {
		errMsg += "Please enter a valid target amount.\n";
	} else if(document.savingsForm.target.value == "") {
		document.savingsForm.target.value = 0.00;
	}

	if(!isNumber(stringToNum(document.savingsForm.present_value.value))) {
		errMsg += "Please enter a valid current balance.\n";
	} else if(document.savingsForm.present_value.value == "") {
		
		document.savingsForm.present_value.value = 0.00;
	}
		
	if(!isNumber(stringToNum(document.savingsForm.monthly_payment.value))) {
		errMsg += "Please enter a valid monthly payment.\n";
	} else if(document.savingsForm.monthly_payment.value == "") {
		
		document.savingsForm.monthly_payment.value = 0.00;
	}
	

	if(!isNumber(document.savingsForm.years.value)) {
		errMsg += "Please enter a valid number of years.\n";
	} else if(document.savingsForm.years.value == "") {
		
		document.savingsForm.years.value = 0;
	}
	
	if(!isNumber(document.savingsForm.rate.value)) {
		errMsg += "Please enter a valid interest rate.\n";
	} else if(document.savingsForm.rate.value == "") {
		
		document.savingsForm.rate.value = 0.0;
	}
			
	if(errMsg.length == 0) return true;
	else {
		alert(errMsg);
		return false;
	}
}

function calculatesaving(inputItem) {
	if(validatevalid()) {
	
		if(inputItem != null) {	
			if(inputItem.name == "years") {
				calcObjSavings.setPresentValue(stringToNum(document.savingsForm.present_value.value));
				calcObjSavings.setInterestPerPeriod((document.savingsForm.rate.value / 100) / 4);  //compounded Quarterly
				calcObjSavings.setNumOfPeriods(document.savingsForm.years.value * 4);  // 4 quarters in a year
				calcObjSavings.setFutureValue(stringToNum(document.savingsForm.target.value));
					
				var payment = calcObjSavings.getPaymentsPerPeriod() / 3;
				document.savingsForm.monthly_payment.value =   formatCurrency(payment).replace(/\$/g, '');
			} 
			else if(inputItem.name == "target") {
				calcObjSavings.setPresentValue(stringToNum(document.savingsForm.present_value.value));
				calcObjSavings.setInterestPerPeriod((document.savingsForm.rate.value / 100) / 4);  //compounded Quarterly
				calcObjSavings.setNumOfPeriods(document.savingsForm.years.value * 4);  // 4 quarters in a year
				calcObjSavings.setFutureValue(stringToNum(document.savingsForm.target.value));
					
				var payment = calcObjSavings.getPaymentsPerPeriod() / 3;
				document.savingsForm.monthly_payment.value =   formatCurrency(payment).replace(/\$/g, '');
			}	
			else if(inputItem.name == "monthly_payment") {
				calcObjSavings.setPresentValue(stringToNum(document.savingsForm.present_value.value));
				calcObjSavings.setInterestPerPeriod((document.savingsForm.rate.value / 100) / 4);  //compounded Quarterly
				calcObjSavings.setFutureValue(stringToNum(document.savingsForm.target.value));
				calcObjSavings.setPaymentsPerPeriod(stringToNum(document.savingsForm.monthly_payment.value) * 3);	
				
				var numOfYears = calcObjSavings.getNumOfPeriods() / 4;
				document.savingsForm.years.value = numOfYears;
			}
		}
		else { //empty value passed in.
				calcObjSavings.setPresentValue(stringToNum(document.savingsForm.present_value.value));
				calcObjSavings.setInterestPerPeriod((document.savingsForm.rate.value / 100) / 4);  //compounded Quarterly
				calcObjSavings.setNumOfPeriods(document.savingsForm.years.value * 4);  // 12 months in a year
				calcObjSavings.setFutureValue(stringToNum(document.savingsForm.target.value));
					
				var payment = calcObjSavings.getPaymentsPerPeriod() / 3;
				document.savingsForm.monthly_payment.value =   formatCurrency(payment).replace(/\$/g, '');		
		}
	}
}
