function jumpBox(list) {
   location.href = list.options[list.selectedIndex].value
   }

function formatNum(Vnum) {
   if(Vnum > 99000000) {
   alert("Sorry, this will not generate numbers larger that 99 million.");
   focus();
   } else {
   
   var V10million = parseInt(Vnum / 10000000);

   var V1million = (Vnum % 10000000)  / 1000000;
      if(V1million / 1000000 == 1) {
      V1million = 1;
      } else
      if(V1million < 1) {
      V1million = "0";
     } else {
      V1million = parseInt(V1million,10);
     }

    var V100thousand = (Vnum % 1000000)  / 100000;
      if(V100thousand / 100000 == 1) {
      V100thousand = 1;
      } else
      if(V100thousand < 1) {
      V100thousand = "0";
     } else {
      V100thousand = parseInt(V100thousand,10);
     }

   var V10thousand = (Vnum % 100000)  / 10000;
      if(V10thousand / 10000 == 1) {
      V10thousand = 1;
      } else
      if(V10thousand < 1) {
      V10thousand = "0";
      } else {
      V10thousand = parseInt(V10thousand,10);
      }

   var V1thousand = (Vnum % 10000)  / 1000;
      if(V1thousand / 1000 == 1) {
      V1thousand = 1;
      } else
      if(V1thousand < 1) {
      V1thousand = "0";
     } else {
      V1thousand = parseInt(V1thousand,10);
     }

   var Vhundreds = (Vnum % 1000)  / 100;
      if(Vhundreds / 100 == 1) {
      Vhundreds = 1;
      } else
      if(Vhundreds < 1) {
      Vhundreds = "0";
     } else {
      Vhundreds = parseInt(Vhundreds,10);
     }

   var Vtens = (Vnum % 100)  / 10;
      if(Vtens / 10 == 1) {
      Vtens = 1;
      } else
      if(Vtens < 1) {
      Vtens = "0";
     } else {
      Vtens = parseInt(Vtens,10);
     }

   var Vones = (Vnum % 10)  / 1;
      if(Vones / 1 == 1) {
      Vones = 1;
      } else
      if(Vones < 1) {
      Vones = "0";
     } else {
      Vones = parseInt(Vones,10);
     }

  //START UPGRADE
var Vcents = 0;

if(Vnum % 1 * 100 < 1) {
   Vcents = 0;
   } else {
   Vcents = parseInt(((eval(Vnum % 1) * 100)),10);
   }
//END UPGRADE

 if(Vcents < 1) {
  Vcents = "00";
  }
  else
  if(Vcents % 10 == 0) {
  Vcents = Vcents + "0";
  }
  else
  if(Vcents % 10 == Vcents) {
  Vcents = "0" + Vcents;
  } else {
  Vcents = Vcents;
  }

  if(Vcents == "900") {
  Vcents = "90";
  } else
  if(Vcents == "800") {
  Vcents = "80";
  } else 
  if(Vcents == "700") {
  Vcents = "70";
  } else 
  if(Vcents == "600") {
  Vcents = "60";
  } else 
  if(Vcents == "500") {
  Vcents = "50";
  } else 
  if(Vcents == "400") {
  Vcents = "40";
  } else 
  if(Vcents == "300") {
  Vcents = "30";
  } else
  if(Vcents == "200") {
  Vcents = "20";
  } else
  if(Vcents == "100") {
  Vcents = "10";
  } else {
  Vcents = Vcents;
  }

   
   var Vformat = "";

   if(Vnum >= 10000000) {
   Vformat = (V10million + "" + V1million + "," + V100thousand + "" + V10thousand + "" + V1thousand + "," + Vhundreds + "" + Vtens + "" + Vones + "." + Vcents);
   }
   else
   if(Vnum >= 1000000) {
   Vformat = (V1million + "," + V100thousand + "" + V10thousand + "" + V1thousand + "," + Vhundreds + "" + Vtens + "" + Vones + "." + Vcents);
   }
   else
   if(Vnum >= 100000) {
   Vformat = (V100thousand + "" + V10thousand + "" + V1thousand + "," + Vhundreds + "" + Vtens + "" + Vones + "." + Vcents);
   }
   else
   if(Vnum >= 10000) {
   Vformat = (V10thousand + "" + V1thousand + "," + Vhundreds + "" + Vtens + "" + Vones + "." + Vcents);
   }
   else
   if(Vnum >= 1000) {
   Vformat = (V1thousand + "," + Vhundreds + "" + Vtens + "" + Vones + "." + Vcents);
   }
   else
   if(Vnum >= 100) {
   Vformat = (Vhundreds + "" + Vtens + "" + Vones + "." + Vcents);
   }
   else
   if(Vnum >= 10) {
   Vformat = (Vtens + "" + Vones + "." + Vcents);
   }
   else
   if(Vnum >= 1) {
   Vformat = (Vones + "." + Vcents);
   } else {
   Vformat = ("0." + Vcents);
   }

  return Vformat;

  }
}




function checkNumber(input, min, max, msg)

{

    msg = msg + " field has invalid data: " + input.value;



    var str = input.value;

    for (var i = 0; i < str.length; i++) {

        var ch = str.substring(i, i + 1)

        if ((ch < "0" || "9" < ch) && ch != '.') {

            alert(msg);

            return false;

        }

    }

    var num = 0 + str

    if (num < min || max < num) {

        alert(msg + " not in range [" + min + ".." + max + "]");

        return false;

    }

    input.value = str;

    return true;

}

function computeField(input)
{
    if (input.value != null && input.value.length != 0)
        input.value = "" + eval(input.value);
    computeForm(input.form);
}

function computeForm(form)
{
    if ((form.term.value == null || form.term.value.length == 0) ||
//        (form.interest.value == null || form.interest.value.length == 0) ||
        (form.principal.value == null || form.principal.value.length == 0)) {
        return;
    }

    if (!checkNumber(form.term, 1, 5, "# of term") ||
//        !checkNumber(form.interest, .001, 99, "Interest") ||
        !checkNumber(form.principal, 100, 10000000, "Principal")) {
        form.payment.value = "Invalid";
        return;
    }

    var i = form.interest.value;

    if (i > 1.0) {

        i = i / 100.0;
    }

    i /= 12;

    var noYears = form.term.value * 12;

    var pow = 1;

    for (var j = 0; j < noYears; j++)

        pow = pow * (1 + i);
	
	// Calculate Residual
	if (form.term.value == "1") {
	Vresidual = (form.principal.value * 65/100);
	VresidualPercent = 65;
	} else
	if (form.term.value == "2") {
	Vresidual = (form.principal.value * 50/100);
	VresidualPercent = 50;
	} else
	if (form.term.value == "3") {
	Vresidual = (form.principal.value * 40/100);
	VresidualPercent = 40;
	} else
	if (form.term.value == "4") {
	Vresidual = (form.principal.value * 30/100);
	VresidualPercent = 30;
	} else
	if (form.term.value == "5") {
	Vresidual = (form.principal.value * 20/100);
	VresidualPercent = 20;
	} //else
	//if (Vterm < "1" || Vterm > "5" || Vterm == null)
	//}
	form.residual.value = formatNum(Vresidual);
	form.residualPercent.value = VresidualPercent;

     var Vpayment = ((form.principal.value - Vresidual) * pow * i) / (pow - 1);

    //form.payment.value = "$" + formatNum(Vpayment);
    form.payment.value = formatNum(Vpayment);

//    var Vtotalint = ((Vpayment * noYears) - form.principal.value);
		//form.totalint.value = "$" + formatNum(Vtotalint)
//		form.totalint.value = formatNum(Vtotalint);
		
//	var Vterm = form.term.value;

}

function clearForm(form)
{
    form.term.value = "";
//    form.interest.value = "";
    form.principal.value = "";
    form.residual.value = "";
}
