
function EstimateCollegeCost(iCOA, iYUC, iAIC, iYOC) {
	// This function takes the Cost Of Attendance, Years Until College, Increase in Costs (as a percentage)
	// and Years Of College and returns a total expected cost of college

	// Get values
	var COA = Number(iCOA)
	var YUC = Number(iYUC)
	var AIC = Number(iAIC)
	var YOC = Number(iYOC)
	
	if (YOC == 0) {
		return("0")
	}
	
	var FYC
	var ECC

	FYC = COA * Math.pow((1 + (AIC / 100)), YUC)
	
	ECC = FYC
	for (var i = 0; i < (YOC - 1); i++) {
		FYC = FYC + (FYC * AIC / 100)
		ECC = ECC + FYC
	}

	// return the result
	return format(ECC, 2)
}

function EstimateSavings(iSAT, iMAS, iAES, iYUC) {
	// This function takes the Savings Available Today, Monthly Saving Amount, Expected Annual Earnings (as a percentage)
	// and Years Until College and returns a total expected savings

	// Get values
	var SAT = Number(iSAT)
	var MAS = Number(iMAS)
	var AES = Number(iAES)
	var YUC = Number(iYUC)

	var ES = 0
	
	if (AES == 0) {
		var POS = 12
		ES = (MAS * YUC * POS) + SAT
	} else {
		var POS = 12
		var PIR = (AES / 100) / POS
		
		ES = ((MAS * (Math.pow((1 + PIR), (YUC * POS)) - 1)) / PIR) + (SAT * Math.pow((1 + PIR), (YUC * POS)))
	}
	
	// return the result
	return format(ES, 2)
}

function EstimateMonthlySavings(iSG, iSAT, iROR, iYUC) {
	// This function takes the Savings Target, Expected Annual Earnings (as a percentage)
	// and Years Until College and returns a required monthly savings amount to reach the goal

	// Get values
	var SG = Number(iSG)
	var SAT = Number(iSAT)
	var ROR = Number(iROR)
	var YUC = Number(iYUC)
	
	var POS = 12
	
	if (ROR == 0) {
		var MS = (SG - SAT) / (YUC * POS)
		var RIS = 0
	} else if (YUC == 0) {
		var MS = (SG - SAT)
		var RIS = ROR
	} else {
		var PIR = (ROR / 100) / POS
		var ES = SAT * Math.pow((1 + PIR), (YUC * POS))
		var MS = ((SG - ES) * PIR) / (Math.pow((1 + PIR), (YUC * POS)) - 1)
		var RIS = ROR
	}
	
	var sMS = MS.toString()
	var sRIS = RIS.toString()
	var sMS_RIS = sMS + "_" + sRIS
	return sMS_RIS
}

function AccruedInterest(iOLB, iIR, iDM, iPP, iPA) {

	// Get values
	var OLB = Number(iOLB)
	var IR = Number(iIR)
	var DM = Number(iDM)
	var PP = Number(iPP)
	var PA = Number(iPA)
	
	
	if (DM < PP) {
	var PF = 0
	var PT = (PA * PF)
	}
	else { 
	var PF = parseInt(DM / PP)
	var PT = (PA * PF)
	}
	
    
		
	var iAI = OLB * (IR / 100 / 12) * DM
	var iNOB = OLB + iAI - PT
	

	var sAI = iAI.toString()
	var sNOB = iNOB.toString()
	
	var sAI_NOB = sAI + "_" + sNOB
	
	return sAI_NOB
}