// ==UserScript==
// @name Capital One
// @namespace capitalone.com
// @description Added financial details to capitalone.com
// @include https://servicing.capitalone.com/C1/Accounts/AccountSummary.aspx?*
// @version 20140513
// @grant none
// ==/UserScript==
// grab values from page
$totalbalance = document.getElementById('ctlAccountsDashBoard_RptAccountsDashboard_ctl01_lblCurrentBalance');
$minimumdue = document.getElementById('ctlAccountsDashBoard_RptAccountsDashboard_ctl01_lblMinimumDueAmount');
// output values we're going to working with
console.log('total balance: ' + $totalbalance.innerHTML);
console.log('min due: ' + $minimumdue.innerHTML);
// convert values to math-able objects
$ptotalbalance = Number($totalbalance.innerHTML.replace("$","").replace(",",""));
$pminimumdue = Number($minimumdue.innerHTML.replace("$",""));
// ensure we're seeing correct values
console.log('parsed total balance: ' + $ptotalbalance);
console.log('parsed min due: ' + $pminimumdue);
// do calculation
$numpayments = Math.round($ptotalbalance / $pminimumdue);
// get date of last payment
var $lastpayment = new Date();
$lastpayment.setMonth($lastpayment.getMonth() + $numpayments);
// ensure we've mathed correctly
console.log( "number of payments left: " + $numpayments );
// do output
$outputlabel = document.getElementById("ctlAccountsDashBoard_RptAccountsDashboard_ctl01_lblMinimumDueTitle");
$outputvalue = document.getElementsByClassName("data_note")[0];
$outputlabel.innerHTML += "
Number of payments remaining: ";
$outputvalue.innerHTML += "
" + $numpayments;
$outputlabel.innerHTML += "
Date of final payment: ";
$outputvalue.innerHTML += "
" + $lastpayment.toLocaleFormat("%Y/%m");