function closeIt() {
	close();
}
function update_number(input)
{
  var temp;

  if (input.value != null && input.value.length != 0)
	if (isNaN(strip_commas(input.value)))
		input.value = "";
	else
  	 	input.value = "" + strip_commas(input.value);
  else
    input.value = "";
}

function fv(s, pmt, t, r) 
{ 
  if (r > 0)
   	return s * Math.pow(1 + r, t) + pmt * (Math.pow(1 + r, t) - 1) / r; 
  else 
    return s + t * pmt; 
}

function nper(p, pmt, B, F)
{
  if (B > 0)
    return Math.log((F + pmt / B) / (p + pmt / B)) / Math.log(1 + B);
  else
    return pmt > 0 ? (F - p) / pmt : 0;
}

function calcterm(form)
{
  if (form.InitAmt.value == "") {
    p = 0;
	} else {
		var p = parseFloat(form.InitAmt.value);
	}
	
  if (form.AddOn.value == "") {
    pmt = 0;
	} else {	
		var pmt = parseFloat(form.AddOn.value);
	}
	  
  if (form.Rate.value == "") {
  	B = 0;
	} else {
		var B = parseFloat(form.Rate.value) / 100;
	}
	  
  if (form.EndAmt.value == "") {
    F = 0;
	} else {
		var F = parseFloat(form.EndAmt.value);
	}
  var C = form.Compounded.options[form.Compounded.selectedIndex].value;
  var A = form.AddOnFreq.options[form.AddOnFreq.selectedIndex].value;
  var y = form.TermLength.options[form.TermLength.selectedIndex].value;
  if (C > 0 && B > 0 && p > 0 && F > 0) {
    if (F > p) {
      form.Term.value = Math.round((nper(p, pmt * A / C, B / C, F) * y / C)*10)/10;
	} else {
	  alert("When solving for term length, please enter a future value that is larger than the initial amount.") 
	}    
  } else {
    alert("Not enough information.")
  }
}

function put_commas(input) {
    var result, len;
    input += "";
    len = input.indexOf(".");
    if(len == -1) {
        len = input.length;
        result = "";
    }
    else {
        result = input.substring(len, input.length);
    }
    while(len > 3) {
        result = input.substring(len-3, len) + result;
        result = "," + result;
        len -= 3;
    }
    result = input.substring(0, len) + result;
    return result;
}

function strip_commas(input) {
        var newnum;
        var ch;
        newnum ="";
        for(var i=0; i<input.length; i++) {
                ch = input.charAt(i);
                if(ch != ",") {
                        newnum += ch;	
                }
        }
        return parseFloat(newnum);
}
  
function calcEndAmt(form) 
{ 
  if (form.InitAmt.value == "") {
  	s = 0;
	} else {
		var s = strip_commas(form.InitAmt.value);
	}
		
  if (form.Term.value == "") {
    t = 0;
	} else {
	  var t = parseFloat(form.Term.value); 
	}
	 
  if (form.TermLength.value == "") {
    tl = 0;
	} else {
	  var tl = form.TermLength.options[form.TermLength.selectedIndex].value;
	}
	
  if (form.Rate.value == "") {
    r = 0;
	} else {
	  var r = parseFloat(form.Rate.value) / 100;
	}
	
  if (form.AddOn.value == "") {
    pmt = 0;
	} else {
	  var pmt = strip_commas(form.AddOn.value); 
	}
	
  var c = form.Compounded.options[form.Compounded.selectedIndex].value;
  var a = form.AddOnFreq.options[form.AddOnFreq.selectedIndex].value; 

  if (c > 0 && tl > 0) 
  {
    var end = fv(s, pmt * a / c, t * c / tl, r / c);
	end = Math.round(end * 100)/100;
	form.EndAmt.value = put_commas(end);
  return 0;
  }
}