var monthName=new Array("January","February","March","April","May","June","July","August","September","October","November","December");function clean_duedateResult() {document.dueDateCalculator.resultField.value="";document.dueDateCalculator.resultSumField.value="";}  function setCurrentDate() {var curDate=new Date();var curDay=curDate.getDate();var curMonth=curDate.getMonth();var curYear=curDate.getUTCFullYear();document.writeln("<select name=dayField size=1 onchange=clean_duedateResult()>");for(var i=1;i<=31;i++) {if(i==curDay) document.writeln("<option selected>"+i);else document.writeln("<option>"+i);document.writeln("</option>");} document.writeln("</select>");document.writeln("<select name=monthField size=1 onchange=clean_duedateResult()>");for(var j=0;j<12;j++)  {if(j==curMonth) document.writeln("<option selected>"+monthName[j]);else document.writeln("<option>"+monthName[j]);document.writeln("</option>");} document.writeln("</select>");document.writeln("<input type=text name=yearField value="+curYear+" size=4 maxlength=4 onkeypress=clean_duedateResult()>");} function dueDateCalc(form) {var _shiftDay=form.shiftDay.value;var _direction=form.directionField.selectedIndex+1;var _day=form.dayField.selectedIndex+1;var _month=form.monthField.selectedIndex;var _year=form.yearField.value;var _init_sum=form.initialSum.value;var _percent=form.percentDay.value;var _compound=form.compoundInterest.checked;init_sum=parseFloat(_init_sum);percent=parseFloat(_percent);if(form.compoundInterest.checked) {compound=1;} else {compound=0;} clean_duedateResult();intShift=parseInt(_shiftDay);intYear=parseInt(_year);intMonth=parseInt(_month);intDay=parseInt(_day);intDirection=parseInt(_direction);intShift=parseInt(_shiftDay);if((_shiftDay=="")||!(intShift>=0)) {alert("Number of days must be an integer.");document.dueDateCalculator.shiftDay.focus();document.dueDateCalculator.shiftDay.select();return false;} else {if((_year=="")||!(intYear>=1900)) {alert("Year must be an integer not less than 1900.");document.dueDateCalculator.yearField.focus();document.dueDateCalculator.yearField.select();return false;} else {if(!((intShift>0)&&(intShift<1000))) {alert("Number of days must be more than 0 and less, than 1000.");document.dueDateCalculator.shiftDay.focus();document.dueDateCalculator.shiftDay.select();return false;} if(((intYear%4)==0&&(intYear%100)!=0)||(intYear%400)==0) {if((intMonth==1)&&(intDay>29)) {alert("Leap year: February cannot have more than 29 days.");return false;}} else {if((intMonth==1)&&(intDay>28)) {alert("February cannot have more than 28 days.");return false;}} if(((intMonth==3)||(intMonth==5)||(intMonth==8)||(intMonth==10))&&(intDay>30)) {alert("This month cannot have more than 30 days.");return false;} monthArray=new Array("January","February","March","April","May","June","July","August","September","October","November","December");curr_date=new Date(intYear,intMonth,intDay,1,1,1);var step_forward=86400000;var step_backward=-86400000;var result_sum=init_sum;for(var i=0;i<intShift;i++) {if(intDirection==1) {curr_date.setTime(curr_date.getTime()+step_forward);} else {curr_date.setTime(curr_date.getTime()+step_backward);} if(compound) {result_sum+=(result_sum/100)*percent;} else {result_sum+=(init_sum/100)*percent;}} monthName=monthArray[curr_date.getMonth()];document.dueDateCalculator.resultField.value=monthName+" "+curr_date.getDate()+", "+curr_date.getFullYear();document.dueDateCalculator.resultSumField.value=result_sum.toFixed(4);}}}
