Student budget calculator: what to spend and how to fund it
var crsLngth; var fees; var termSpnd; var monthSpnd; var dailySpnd; var annualSpnd; var annualSpndRnd; var stuLoan; var savings; var trmWrk; var sumWork; var totalSpnd; var totalSpndRnd; var totalTermSpnd; var totalTermSpndRnd; var totalMonthSpnd; var totalMonthSpndRnd; var totalTermSpnd; var totalTermSpndRnd; var totalIncome; var annualExShrt; var annualExShrtRnd; var totalExShrt; var totalExShrtRnd; var termExShrt; var termExShrtRnd; var monthExShrt; var monthExShrtRnd; function round(number, plcs) { plcs = (!plcs ? 2 : plcs); return Math.round(number * Math.pow(10, plcs)) / Math.pow(10, plcs); } function invalChkr(Numtochk){ var ok = false; if ( !isNaN(Numtochk) && Numtochk != "" && Numtochk != undefined){ ok = true; } return ok; } function gtvls(){ fees = new Number(document.frmSF.fees.value); crsLngth = new Number(document.frmSF.crsLngth.value); stuLoan = new Number(document.frmSF.stuLoan.value); savings = new Number(document.frmSF.savings.value); trmWrk = new Number(document.frmSF.trmWrk.value); sumWork = new Number(document.frmSF.sumWork.value); termSpnd = new Number(0); monthSpnd = new Number(0); dailySpnd = new Number(0); var numEls = document["frmSF"].elements.length; for (i=0;i -1 ){ var curElVal = document["frmSF"].elements[i].value; curElValNm = new Number(curElVal); if (invalChkr(curElValNm)){ termSpnd = termSpnd + curElValNm; } } else if (curElNm.indexOf("lcMonth") > -1 ){ var curElVal = document["frmSF"].elements[i].value; curElValNm = new Number(curElVal); if (invalChkr(curElValNm)){ monthSpnd = monthSpnd + curElValNm; } } else if (curElNm.indexOf("lcDaily") > -1 ){ var curElVal = document["frmSF"].elements[i].value; curElValNm = new Number(curElVal); if (invalChkr(curElValNm)){ dailySpnd = dailySpnd + curElValNm; } } } } function dshNded(){ gtvls(); annualSpnd = new Number(0); if (invalChkr(fees)){ annualSpnd = fees; } if (invalChkr(termSpnd)){ annualSpnd = annualSpnd + termSpnd*3; } if (invalChkr(monthSpnd)){ annualSpnd = annualSpnd + monthSpnd*12; } if (invalChkr(dailySpnd)){ annualSpnd = annualSpnd + dailySpnd*160; } annualSpndRnd = round(annualSpnd,2); if (invalChkr(annualSpndRnd)){ document.frmSF.annualSpndRnd.value = annualSpndRnd; } else { document.frmSF.annualSpndRnd.value = 0; } totalSpnd = annualSpnd * crsLngth; totalSpndRnd = round(totalSpnd,2); if (invalChkr(totalSpndRnd)){ document.frmSF.totalSpndRnd.value = totalSpndRnd; } else { document.frmSF.totalSpndRnd.value = 0; } totalTermSpnd = annualSpnd /3; totalTermSpndRnd = round(totalTermSpnd,2); if (invalChkr(totalTermSpndRnd)){ document.frmSF.totalTermSpndRnd.value = totalTermSpndRnd; } else { document.frmSF.totalTermSpndRnd.value = 0; } totalMonthSpnd = annualSpnd /12; totalMonthSpndRnd = round(totalMonthSpnd,2); if (invalChkr(totalMonthSpndRnd)){ document.frmSF.totalMonthSpndRnd.value = totalMonthSpndRnd; } else { document.frmSF.totalMonthSpndRnd.value = 0; } } function shrtfEx(){ gtvls(); totalIncome = new Number(0); if (invalChkr(stuLoan)){ totalIncome = stuLoan; } if (invalChkr(savings)){ totalIncome = totalIncome + savings; } if (invalChkr(trmWrk)){ totalIncome = totalIncome + trmWrk * 32; } if (invalChkr(sumWork)){ totalIncome = totalIncome + sumWork; } annualExShrt = totalIncome - annualSpnd; annualExShrtRnd = round(annualExShrt,2); if (invalChkr(annualExShrtRnd)){ document.frmSF.annualExShrtRnd.value = annualExShrtRnd; } else { document.frmSF.annualExShrtRnd.value = 0; } totalExShrt = annualExShrt * crsLngth; totalExShrtRnd = round(totalExShrt,2); if (invalChkr(totalExShrtRnd)){ document.frmSF.totalExShrtRnd.value = totalExShrtRnd; } else { document.frmSF.totalExShrtRnd.value = 0; } termExShrt = annualExShrt/3; termExShrtRnd = round(termExShrt,2); if (invalChkr(termExShrtRnd)){ document.frmSF.termExShrtRnd.value = termExShrtRnd; } else { document.frmSF.termExShrtRnd.value = 0; } monthExShrt = annualExShrt/12; monthExShrtRnd = round(monthExShrt,2); if (invalChkr(monthExShrtRnd)){ document.frmSF.monthExShrtRnd.value = monthExShrtRnd; } else { document.frmSF.monthExShrtRnd.value = 0; } } function update(){ dshNded(); shrtfEx(); }