<!--hide it


function Format (number) {
  var base = 0;
  var rem = 0;
  var tmp = "";

  base = Math.floor(number / 1000000);
  rem = number % 1000000;
  dig = Math.floor(rem/1000);
  base2 = Math.floor(number / 1000);
  rem2 = number % 1000;
  dig2 = Math.floor(rem/100);
  
  if (base >= 1) {
    if (dig < 10) tmp = base + ",00" + dig + lower(rem2);
    else if (dig < 100) tmp = base + ",0" +dig+lower(rem2);
    else tmp = base + "," + dig +lower(rem2);
    }
  else
    if (base2 >=1 && base == 0) {
   if (rem2 <10) tmp = base2 + ",00" + rem2; 
   else if (rem2 < 100) tmp = base2 + ",0" +rem2;
   else tmp = base2 + "," + rem2;
   }
  else tmp = rem2;

  return tmp;
}


function lower (number) {
  var tmp = "";
  
    if (number < 10) tmp = ",00" + number;
    else if (number < 100) tmp = ",0" +number;
    else tmp = "," + number;

  return tmp;
}


function Calculate() {
  var ann_need = 0;
  var ann_incr = 0;
  var ann_ret = 0; 
  var period = 0;

  var lump_sum = 0;
  var pres_value = 0;
  var cap_need = 0;
  var assets = 0;
  var ins_need = 0;
  var r = 0;
  var k = 0;
  var tmp = 0;
  
  ann_need = parseFloat(document.lifecalc.ann_need.value);
  ann_incr = parseFloat(document.lifecalc.ann_incr.value) / 100;
  ann_ret = parseFloat(document.lifecalc.ann_ret.value) / 100;
  period = parseInt(document.lifecalc.period.value);

  lump_sum += parseFloat(document.lifecalc.emergency.value);
  lump_sum += parseFloat(document.lifecalc.mortgage.value);
  lump_sum += parseFloat(document.lifecalc.debts.value);
  lump_sum += parseFloat(document.lifecalc.final_expenses.value);
  lump_sum += parseFloat(document.lifecalc.education.value);
  lump_sum += parseFloat(document.lifecalc.charity.value);
  lump_sum += parseFloat(document.lifecalc.other_expenses.value);

  r = (1 + ann_incr) / (1 + ann_ret+.000000001);
  k = (1 + ann_ret);

  pres_value += ann_need;

    pres_value = pres_value * ( (1 - Math.pow(r, period)) / (1 - r) );

  cap_need = lump_sum + pres_value;
  assets += parseFloat(document.lifecalc.asset1.value);
  assets += parseFloat(document.lifecalc.asset2.value);
  ins_need = cap_need - assets;
  if (ins_need < 0) {
     ins_need = 0;
  }

  //round to nearest dollar
  lump_sum = Math.ceil(lump_sum);
  pres_value = Math.ceil(pres_value);
  cap_need = Math.ceil(cap_need);
  assets = Math.ceil(assets);
  ins_need = Math.ceil(ins_need);

  //display results

  document.getElementById("MP1").innerHTML = "$"+ Format(lump_sum);
  document.getElementById("MP2").innerHTML = "$"+ Format(pres_value);
  document.getElementById("MP3").innerHTML = "$"+ Format(cap_need);
  document.getElementById("MP4").innerHTML = "$"+ Format(assets);
  document.getElementById("MP5").innerHTML = "<b>$"+ Format(ins_need) + "</b>";

}

function cleanUp2(vText,vVal){
		vText.value=replace(vText.value,' ','');
		vText.value=replace(vText.value,'$','');
		vText.value=replace(vText.value,',','');
		
		if(vText.value=="")vText.value=vVal;

		if(isNaN(vText.value))vText.value=vVal;

}

function cleanUp(vText,vVal){
		vText.value=replace(vText.value,' ','');
		vText.value=replace(vText.value,'$','');
		vText.value=replace(vText.value,',','');
		
		if(vText.value=="" && Math.round(vVal) != vVal)vText.value=vVal;
                else if (Math.round(vVal) != vVal && Math.round(vText.value) != vText.value) 
                vText.value=vText.value;
                else vText.value = parseInt(vText.value);
                
                if(vText.value=="")vText.value=vVal;
		if(isNaN(vText.value))vText.value=vVal;

}

function replace(string,text,by) {
    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return string;

    var i = string.indexOf(text);
    if ((!i) && (text != string.substring(0,txtLength))) return string;
    if (i == -1) return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
}

function incomecalc(){
  var inc = 0;
  var amta = 0;
  var amtb = 0;
  inc += parseFloat(document.lifecalc.innet.value);
  inc += parseFloat(document.lifecalc.innet_b.value);

  amta += Math.round(inc * (document.lifecalc.inp.value/100) - document.lifecalc.innet_b.value);
  amtb += Math.round(inc * (document.lifecalc.inp_b.value/100) - document.lifecalc.innet.value);

  if (amta < 0) document.lifecalc.ann_need.value = 0;
  else document.lifecalc.ann_need.value = amta;

  if (amtb < 0) document.lifecalc.ann_need_b.value = 0;
  else document.lifecalc.ann_need_b.value = amtb;
}

function percalc(){
  var inc = 0;
  var amt = 0;
  var per = 0;
  inc += parseFloat(document.lifecalc.innet.value);
  inc += parseFloat(document.lifecalc.innet_b.value);

  amt += parseFloat(document.lifecalc.ann_need.value);
  amt += parseFloat(document.lifecalc.innet_b.value);
  per = Math.round(amt/inc * 100);

document.lifecalc.inp.value = per;
}


function percalcb(){
  var inc = 0;
  var amt = 0;
  var per = 0;
  inc += parseFloat(document.lifecalc.innet.value);
  inc += parseFloat(document.lifecalc.innet_b.value);

  amt += parseFloat(document.lifecalc.ann_need_b.value);
  amt += parseFloat(document.lifecalc.innet.value);
  per = Math.round(amt/inc * 100);

document.lifecalc.inp_b.value = per;
}

function edfund(){
document.lifecalc.education.value = Math.round(document.lifecalc.child.value * 40000);
document.lifecalc.education_b.value = Math.round(document.lifecalc.child.value * 40000);
}

function emfund(){
document.lifecalc.emergency.value = Math.round(document.lifecalc.innet.value * 3/12);
document.lifecalc.emergency_b.value = Math.round(document.lifecalc.innet_b.value * 3/12);
}
//-->