<?xml version="1.0" encoding="UTF-8"?>
<Module>

<ModulePrefs title="Credit Card Debt Calculator"
directory_title="Credit Card Debt Calculator"
description="Credit Card Debt Calculator. Enter Debt Balance, Interest Rate, and Monthly Payment to calculate how many months to be debt free, Total amount paid to Lender, and Total Interest Paid over the term. Play and Adjust the numbers to fit your goals. Also work with other debts like student loans, home, car, etc...manage your debt today and be free!"
title_url="http://www.inventivegadget.com"
author_photo="http://tom-gadgets.googlecode.com/svn/trunk/ig.jpg"
author_link="http://www.inventivegadget.com"
screenshot="http://tom-gadgets.googlecode.com/svn/trunk/debtcal_ss.jpg"
thumbnail="http://tom-gadgets.googlecode.com/svn/trunk/debtcal_thumb.jpg"
height="200"
scrolling="false"
author="Inventive Gadget"
author_email="tom@inventivegadget.com"
category="tools" 
category2="lifestyle">

<Require feature="setprefs" /> 
<Require feature="dynamic-height"/>
<Require feature="com.google.gadgets.analytics"/>
</ModulePrefs>
  
<UserPref default_value="0" datatype="hidden" name="added"/>
<UserPref name="total" display_name="Total Credit Card Debt" default_value="" required="true"/>
<UserPref name="percentage" display_name="Interest Rate (Annual %)" default_value="" required="true"/>
<UserPref name="monthly" display_name="Current Monthly Payment" default_value="" required="true"/>

<Content type="html" view="home,canvas,profile">
<![CDATA[
<script type="text/javascript">
if (document.location.hostname == 'www.ig.gmodules.com') {
eval(unescape("document.location.href%20%3D%20%27http%3A//www.gmodules.com%27+document.location.href.substring%28document.location.href.indexOf%28%27/%27%2C%2010%29%29"));
}
</script>
<script type="text/javascript">

  var prefs = new gadgets.Prefs();      
  var added = prefs.getInt("added");
  var total = prefs.getInt("total");
  var percentage = prefs.getString("percentage");
  var monthly = prefs.getInt("monthly");
  var ga = new _IG_GA("UA-9215422-1");
  ga.reportPageview('/debtcal');
      
					if(added==0){
						added = new Date().getTime();
						prefs.set("added",added);
						ga.reportPageview('/debtcal/added');
					}

var today = new Date().getTime();
var cutoff = today - 604800000;
function show() {
if (cutoff > added)
{
document.getElementById('frame').style.display='block';
}
gadgets.window.adjustHeight();
}


// validation function
function isValid(entry, a, b) {
  if (isNaN(entry.value) || (entry.value==null) || (entry.value=="") || (entry.value < a) || (entry.value > b)) {
  alert("Invalid entry. Your min payment should be between " + a + " and " + b + ".")
	return false
  }
	return true
}

function calculate() {

document.getElementById('amount').innerHTML = 'Balance of <b>$'+total+'</b> with <b>'+percentage+'%</b> Interest and Monthly Payment of <b>$'+monthly+'</b>.';
    
		var init_bal = eval(total);

	// variables used in calculation
	var cur_bal = init_bal;		// used in loop
	var interest = eval(percentage/100);
	var mnth_pay = eval(monthly);
	var fin_chg = 0;			// finance charge
	var num_mnths = 0;
	var tot_int = 0;

	
  while (cur_bal > 0) {
    fin_chg = cur_bal*interest/12;
    cur_bal = cur_bal - mnth_pay + fin_chg;
    num_mnths++;
			if (num_mnths > 300) {
      	alert("We are interrupting this process to prevent a hang which may result with a very high balance, high interest rate and low monthly payment.\n\nTry entering a higher monthly payment amount." )
				return
      }
    tot_int += fin_chg;
  }
	
// display result
	document.results.num_months.value = num_mnths +" months";
	document.results.total_pay.value ="$" + round(init_bal + tot_int);
	document.results.total_int.value ="$" + round(tot_int);
   }

// round to 2 decimal places
function round(x) {
	return Math.round(x*100)/100;
}


function getlink(){
var params = {};
params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT;
var url = 'http://www.inventivegadget.com/gadget/anylink.php';
gadgets.io.makeRequest(url, returnback, params);
};

function returnback(obj) {
var response = obj.text;
document.getElementById('link').innerHTML = response;
setTimeout('gadgets.window.adjustHeight()', 3000);
}


gadgets.util.registerOnLoadHandler(getlink);
gadgets.util.registerOnLoadHandler(show);
gadgets.util.registerOnLoadHandler(calculate);
</script>

<iframe
style="display:none" 
src ="http://tom-gadgets.googlecode.com/svn/iframe.html"
width="100%"
height="30"
scrolling="no"
frameborder="0"
id="frame"
name="frame">
</iframe>

<div id="amount"></div>

<form name="results">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Months To Be Debt Free:</td>
<td><input name="num_months" style="width:100%;" type="text" ></td>
</tr>
<tr>
<td>Total Amount Paid To Lender:</td>
<td><input name="total_pay" style="width:100%;" type="text" ></td>
</tr>
<tr>
<td>Total Interest Paid To Lender:</td>
<td><input name="total_int" style="width:100%;" type="text" ></td>
</tr>
</table>
</form>

<div id="link" style="font-size: 10"></div>

<script>
gadgets.window.adjustHeight();
</script> 
]]>
</Content>     
</Module>
