function calculatevalues() {
   var ll1=0;
   var ll2=0;
   var ll3=0;
   var ll4=0;
   var ll5=0;
   var ll6=0;
   var ll7=0;
   var lnTotalOwed = 0;
   var lnAverageRate = 0;

   with (document.debts) {

      if (validNumber(debtamount1.value) && validNumber(debtrate1.value) && validNumber(debtpayment1.value)) {
         ll1 = 1;
         lnTotalOwed =lnTotalOwed+parseFloat(debtamount1.value);
      }
      if (validNumber(debtamount2.value) && validNumber(debtrate2.value) && validNumber(debtpayment2.value)) {
         ll2 = 1;
        lnTotalOwed = lnTotalOwed+parseFloat(debtamount2.value);
      }
      if (validNumber(debtamount3.value) && validNumber(debtrate3.value) && validNumber(debtpayment3.value)) {
         ll3 = 1;
         lnTotalOwed = lnTotalOwed+parseFloat(debtamount3.value);
      }
      if (validNumber(debtamount4.value) && validNumber(debtrate4.value) && validNumber(debtpayment4.value)) {
         ll4 = 1;
         lnTotalOwed = lnTotalOwed+parseFloat(debtamount4.value);
      }
      if (validNumber(debtamount5.value) && validNumber(debtrate5.value) && validNumber(debtpayment5.value)) {
         ll5 = 1;
         lnTotalOwed = lnTotalOwed+parseFloat(debtamount5.value);
      }
      if (validNumber(debtamount6.value) && validNumber(debtrate6.value) && validNumber(debtpayment6.value)) {
         ll6 = 1;
         lnTotalOwed = lnTotalOwed+parseFloat(debtamount6.value);
      }
      if (validNumber(debtamount7.value) && validNumber(debtrate7.value) && validNumber(debtpayment7.value)) {
         ll7 = 1;
         lnTotalOwed = lnTotalOwed+parseFloat(debtamount7.value);
      }

      if (lnTotalOwed==0) {
         document.debts.totaldebt.value = "0.00"
         document.debts.totaldebt1.value = "0.00"
         document.debts.averagerate.value = "0.00"
         document.debts.totalpayment.value = "0.00"
         document.debts.monthlyint.value = "0.00"
         document.debts.payoffyears.value = ""
         document.debts.payoffmonth.value = ""
         document.debts.totalpaid.value = "0.00"
         document.debts.totalint.value = "0.00"
         document.debts.intpercent.value = "0.0%"
         return false;
      }

      var ln;
      var lnMonthlyInterest = 0;

      if (ll1>0 && parseFloat(debtamount1.value)>0 && parseFloat(debtrate1.value)>0) {
         ln = parseFloat(debtrate1.value)*(parseFloat(debtamount1.value)/lnTotalOwed);
         lnAverageRate = lnAverageRate+ln;
         lnMonthlyInterest = lnMonthlyInterest+(parseFloat(debtamount1.value)*(parseFloat(debtrate1.value)/1200));
      }
      if (ll2>0 && parseFloat(debtamount2.value)>0 && parseFloat(debtrate2.value)>0) {
         ln = parseFloat(debtrate2.value)*(parseFloat(debtamount2.value)/lnTotalOwed);
         lnAverageRate = lnAverageRate+ln;
         lnMonthlyInterest = lnMonthlyInterest+(parseFloat(debtamount2.value)*(parseFloat(debtrate2.value)/1200));
      }
      if (ll3>0 && parseFloat(debtamount3.value)>0 && parseFloat(debtrate3.value)>0) {
         ln = parseFloat(debtrate3.value)*(parseFloat(debtamount3.value)/lnTotalOwed);
         lnAverageRate = lnAverageRate+ln;
         lnMonthlyInterest = lnMonthlyInterest+(parseFloat(debtamount3.value)*(parseFloat(debtrate3.value)/1200));
      }
      if (ll4>0 && parseFloat(debtamount4.value)>0 && parseFloat(debtrate4.value)>0) {
         ln = parseFloat(debtrate4.value)*(parseFloat(debtamount4.value)/lnTotalOwed);
         lnAverageRate = lnAverageRate+ln;
         lnMonthlyInterest = lnMonthlyInterest+(parseFloat(debtamount4.value)*(parseFloat(debtrate4.value)/1200));
      }
      if (ll5>0 && parseFloat(debtamount5.value)>0 && parseFloat(debtrate5.value)>0) {
         ln = parseFloat(debtrate5.value)*(parseFloat(debtamount5.value)/lnTotalOwed);
         lnAverageRate = lnAverageRate+ln;
         lnMonthlyInterest = lnMonthlyInterest+(parseFloat(debtamount5.value)*(parseFloat(debtrate5.value)/1200));
      }
      if (ll6>0 && parseFloat(debtamount6.value)>0 && parseFloat(debtrate6.value)>0) {
         ln = parseFloat(debtrate6.value)*(parseFloat(debtamount6.value)/lnTotalOwed);
         lnAverageRate = lnAverageRate+ln;
         lnMonthlyInterest = lnMonthlyInterest+(parseFloat(debtamount6.value)*(parseFloat(debtrate6.value)/1200));
      }
      if (ll7>0 && parseFloat(debtamount7.value)>0 && parseFloat(debtrate7.value)>0) {
         ln = parseFloat(debtrate7.value)*(parseFloat(debtamount7.value)/lnTotalOwed);
         lnAverageRate = lnAverageRate+ln;
         lnMonthlyInterest = lnMonthlyInterest+(parseFloat(debtamount7.value)*(parseFloat(debtrate7.value)/1200));
      }

      var lnMinpayment = 0;
      var lnPayment = 0;
      var lnAmt = 0;
      var lnRate = 0;
      var lnMonths = 0;
      var lnMaxMonths = 0;
      var lnInterest = 0;
      var lnTotalInterest = 0;
      var lnTotalPayment = 0;

      if (ll1>0) {
         if (parseFloat(debtpayment1.value)<=0) {
            ln = calcPayment(parseFloat(debtamount1.value),parseFloat(debtrate1.value)/1200,360)
            lnPayment = formatRound(ln,2);
         }
         else
            lnPayment = parseFloat(debtpayment1.value);
         if (lnPayment<calcPayment(parseFloat(debtamount1.value),parseFloat(debtrate1.value)/1200,360)) {
            ln = calcPayment(parseFloat(debtamount1.value),parseFloat(debtrate1.value)/1200,360)
            lnPayment = formatRound(ln,2);
         }
         lnMinpayment = lnMinpayment+lnPayment;
         lnAmt = parseFloat(debtamount1.value);
         lnRate = parseFloat(debtrate1.value)/1200;
         lnMonths = 0;
         while (lnAmt>0) {
            lnInterest = (lnAmt*lnRate);
            if (lnPayment>lnAmt+lnInterest)
               lnTotalPayment = lnTotalPayment+lnAmt+lnInterest;
            else
               lnTotalPayment = lnTotalPayment+lnPayment;
            lnTotalInterest = lnTotalInterest+lnInterest;
            lnAmt = lnAmt-(lnPayment-lnInterest);
            lnMonths++;
         }
         if (lnMonths>lnMaxMonths) lnMaxMonths = lnMonths;
      }
      if (ll2>0) {
         if (parseFloat(debtpayment2.value)<=0) {
            ln = calcPayment(parseFloat(debtamount2.value),parseFloat(debtrate2.value)/1200,360)
            lnPayment = formatRound(ln,2);
         }
         else
            lnPayment = parseFloat(debtpayment2.value);
         if (lnPayment<calcPayment(parseFloat(debtamount2.value),parseFloat(debtrate2.value)/1200,360)) {
            ln = calcPayment(parseFloat(debtamount2.value),parseFloat(debtrate2.value)/1200,360)
            lnPayment = formatRound(ln,2);
         }
         lnMinpayment = lnMinpayment+lnPayment;
         lnAmt = parseFloat(debtamount2.value);
         lnRate = parseFloat(debtrate2.value)/120
