//Javascript that will show incremental counter in dollars based on a variable Savings per hour and Starting Amount
//then convert the savings to now into savings in KwH, savings in Gallons and savings in Miles
//

// StartPoint is the date when the counter begins to count up from

var startPoint = Date.parse('Jan 01, 2010 12:00 am'); 	// Must be following format:  'Mmm dd, yyyy hh:mm am'

var startAmount = 0;					// Enter the Starting Amount in 99.99 
var savingsPerHour = 900.00;				// What is the calculated savings per hour
var costPerKWh = 0.1129;				// What is the calculated cost per KwH
var kWhToGalsFactor = 0.0814932727272727;		// What is the calculated KwH to Gallons Factor
var avgMPG = 22.4;					// What is the average MPG

function getCurrentSavings()
{
	var d = document.getElementById('calcDiv');
	var c1 = document.getElementById('savingsCounter');
	var c2 = document.getElementById('kWhCounter');
	var c3 = document.getElementById('milesCounter');

	var now = new Date();
	var secondsPassed = (now - startPoint) / 1000;
	var savingsToNow = (startAmount + secondsPassed * (savingsPerHour / (60 * 60)));
	var savingsInKWh = savingsToNow/costPerKWh;
	var savingsInGals = savingsInKWh*kWhToGalsFactor;
	var savingsInMiles = savingsInGals * avgMPG;

	//Replace IE's spanned text with new figures
	c1.innerText = formatCurrency(savingsToNow);
	c2.innerText = formatNumber(savingsInKWh);
	c3.innerText = formatNumber(savingsInMiles);

	//Replace FireFox's spanned text with new figures
	c1.textContent = formatCurrency(savingsToNow);
	c2.textContent = formatNumber(savingsInKWh);
	c3.textContent = formatNumber(savingsInMiles);
	d.style.display = '';
	
	setTimeout('getCurrentSavings()',1);
}

function formatNumber(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + num);
}

function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '$ ' + num + '.' + cents);
}
setTimeout('getCurrentSavings()',100); 

