//*******************************************//
function format_number(num, places, comma) {

var isNeg=0;

    if(num < 0) {
       num=num*-1;
       isNeg=1;
    }

    var myDecFact = 1;
    var myPlaces = 0;
    var myZeros = "";
    while(myPlaces < places) {
       myDecFact = myDecFact * 10;
       myPlaces = Number(myPlaces) + Number(1);
       myZeros = myZeros + "0";
    }
    
	onum=Math.round(num*myDecFact)/myDecFact;
		
	integer=Math.floor(onum);

	if (Math.ceil(onum) == integer) {
		decimal=myZeros;
	} else{
		decimal=Math.round((onum-integer)* myDecFact)
	}
	decimal=decimal.toString();
	if (decimal.length<places) {
        fillZeroes = places - decimal.length;
	   for (z=0;z<fillZeroes;z++) {
        decimal="0"+decimal;
        }
     }

   if(places > 0) {
      decimal = "." + decimal;
   }

   if(comma == 1) {
	integer=integer.toString();
	var tmpnum="";
	var tmpinteger="";
	var y=0;

	for (x=integer.length;x>0;x--) {
		tmpnum=tmpnum+integer.charAt(x-1);
		y=y+1;
		if (y==3 & x>1) {
			tmpnum=tmpnum+",";
			y=0;
		}
	}

	for (x=tmpnum.length;x>0;x--) {
		tmpinteger=tmpinteger+tmpnum.charAt(x-1);
	}


	finNum=tmpinteger+""+decimal;
   } else {
      finNum=integer+""+decimal;
   }

    if(isNeg == 1) {
       finNum = "-" + finNum;
    }

	return finNum;
}
//*******************************************//
function extract_number(num) {

   num=num.toString();


   var len = num.length;
   var rnum = "";
   var test = "";
   var j = 0;

   var b = num.substring(0,1);
   if(b == "-") {
      rnum = "-";
   }

   for(i = 0; i <= len; i++) {

      b = num.substring(i,i+1);

      if(b == "0" || b == "1" || b == "2" || b == "3" || b == "4" || b == "5" || b == "6" || b == "7" || b == "8" || b == "9" || b == ".") {
         rnum = rnum + "" + b;

      }

   }

   if(rnum == "" || rnum == "-") {
      rnum = 0;
   }

   rnum = Number(rnum);

   return rnum;

}
//*******************************************//
function computeCCpmts() {
	var yearly_ir_percent = extract_number(document.getElementById("userAvgInterestRate").value)
	var starting_principal = extract_number(document.getElementById("userTotalUnsecuredDebt").value)
	var minimum_payment_pct = 0.04; //  pct of debt paid back monthly by borrower
	var minimum_payment_dollars = 10.; //  minimum amount of maoney paid per month in $ (or else we don't converge)
	
	//var minpmt = ((principal * (ir/100))/12) + ((principal * 0.03)/12);
	
	var ir = yearly_ir_percent/100./12.
	
	
	//var minpmt = starting_principal * (1.+yearly_ir_percent/100.) / 12.;
	 
	 
	var principal = starting_principal;
	var num_months = 0;
	var accruedInt = 0;

	while (principal > 0) {
		var interest_payment = ir * principal;
		var payment_lower_limit = Math.min(minimum_payment_dollars, principal + interest_payment);
		var payment = principal * minimum_payment_pct;
		
		if (payment < payment_lower_limit) 
			payment = payment_lower_limit;
		
		
		var principal_payment = payment - interest_payment;
		principal = principal - principal_payment;
		accruedInt = accruedInt + interest_payment;
		
		num_months = num_months + 1
		
		if (num_months > 600) break; // just in case
	}

	/*
	var moInvest = accruedInt / num_months;
	var countInv = 0;
	var investPrin = moInvest;
	var accumEarnings = 0;
	var investIntPort = 0;
	var investPrinPort = 0;
	var investInt = .07 / 12;

	while(countInv < num_months) {
		investintPort = Number(investInt * investPrin);
		investPrin = Number(investPrin) + Number(investintPort) + Number(moInvest);
		countInv = countInv + 1
		if (countInv > 600) { break; } else { continue;}
	}

	var displayLostInt = "$" + format_number(investPrin,2,1);

	var totLost = Number(accruedInt) + Number(investPrin);
	var displayTotLost = "$" + format_number(totLost,2,1);
	*/
   
	document.getElementById('C2').innerHTML = "$" + format_number(starting_principal,2,1);											// Total Debt
	document.getElementById('C3').innerHTML = parseInt(num_months,10); // Number of periods
	document.getElementById('C4').innerHTML = yearly_ir_percent +"%";																			// Interest Rate
	document.getElementById('C5').innerHTML = "$" + format_number(accruedInt,2,1);																	// Additional Interest
	document.getElementById('C6').innerHTML = moneyFormat(Math.round(starting_principal * minimum_payment_pct));							// Monthly Payment
	document.getElementById('C7').innerHTML = format_number(accruedInt + starting_principal,2,1); // Total Cost
}