Retirement Calculator (Edited)

by Otobong Okoko

HTML

<div class="right">
	
  Today's Date: <small id="today"></small><br>
	Future Date: <small id="fdate"></small><br>
	Effective Rate: <small id="erate"></small><br>
	Payment Period: <small id="period"></small><br>
	Frequency: <small id="freqy"></small><br> 
	Expected Amount: <small id="ddiff"></small><br>
	Pay Time: <small id="ptime"></small><br>
	Value of PP: <small id="results"></small><br>

</div>
<div class="left">
  Enter Retirement Date:<br>
  <input type='text' id="futureDate" /><br>
  <span id="dMessage"></span><br>
 Payment Frequency:<br>
  <select id="frequency" name="freQ">
		<option value="">Select an Option</option>
		<option value="1">Monthly</option>
		<option value="12">Annually</option>
	</select><br><br>
	
	Preferred Payment:<br>
  <select id="paytime">
		<option value="">Select an Option</option>
		<option value="1">End of Month</option>
		<option value="2">Beginning of Month</option>
	</select><br><br>

	Expected Amount:<br>
  <input type="text" id="exAmt" />
</div>

CSS

@import url(//fonts.googleapis.com/css?family=Roboto:400,700,300);
body {
  font-family: "Roboto";
  font-size: 14px;
}

small {
  color: red;
}

.left {
  float: right;
  width: 80%
}

.right {
  float: left;
  width: 80%;
  margin: auto 0;
}

.right,
.left {
  border: 1px solid #777777;
  padding: 20px
}

input,
select {
  font-family: 'Roboto';
  padding: 2px 5px 2px 5px;
}

#dMessage,
#aMessage,
#fMessage {
  font-size: 10px;
  color: red;
}

JavaScript

/////////////////// Functions //////////////////
function monthDiff(d1, d2) {
  var months;
  months = (d2.getFullYear() - d1.getFullYear()) * 12;
  months -= d1.getMonth() + 1;
  months += d2.getMonth();
  return months <= 0 ? 0 : months;
}

function formatDate(d) {
  var months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');

  var today = d;
  today = new Date(today);
  var dd = today.getDate();
  //var mm = months[today.getMonth()+1];
  var mm = months[today.getMonth()];
  var yyyy = today.getFullYear();

  //if(dd<10){ dd = '0'+dd } 
  //if(mm<10){ mm = '0'+mm }

  return dd + '-' + mm + '-' + yyyy;
}

function todayFDate() {
  var months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');

  var today = new Date();
  var dd = today.getDate();
  //var mm = months[today.getMonth()+1];
  var mm = months[today.getMonth()];
  var yyyy = today.getFullYear();

  //if(dd<10){ dd = '0'+dd } 
  //if(mm<10){ mm = '0'+mm }

  return dd + '-' + mm + '-' + yyyy;
}

$("#futureDate").datepicker({
  yearRange: "-20:+100",
  changeMonth: true,
  changeYear: true,
  dateFormat: "d-MM-yy"
});

function checkDOB(fd) {
  var months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');

  var givenDate = fd;
  givenDate = new Date(givenDate);

  var d = givenDate.getDate();
  var m = months[givenDate.getMonth()];
  var y = givenDate.getFullYear();

  var currentDate = new Date();
  var yplus = currentDate.setDate(currentDate.getDate() + 364);

  if (givenDate < yplus) {
    results = 'Your Retirement Age should be at least 1 year from today.'
  } else {
    results = d + '-' + m + '-' + y
  }

  return results;
}

function pPer(A,r,n,t,pt) 
{
		
    var x = (r/n);
    var y = (n*t);
    var z = Math.pow(1 + x, y);
    var B = ((z -...