
function update() {
    var now_date = new Date();
    window.diff = (now_date.getTime() - base_date.getTime()) / 1000;
    // here for legacy browsers failing
    str = "N/A";
    str = sprintf(2,calc(dollar,dollar_g));
    $("#money_saved").html( "$" + str );
    str = sprintf(2,calc(kwh,kwh_g));
    $("#energy_saved").html( str + " kWhr" );
    str = sprintf(4,calc(gases,gases_g));
    $("#tonnes_saved").html( str + " tonnes" );
    str = sprintf(1,calc(homes,homes_g));
    $("#homes_saved").html( str + " homes" );
}

function calc(u,r){
    return u + (r * window.diff);
}

function addCommas(nStr) {
    nStr += '';
    x = nStr.split('.');
    x1 = x[0];
    x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
        x1 = x1.replace(rgx, '$1' + ',' + '$2');
    }
    return x1 + x2;
}

function sprintf(decimals,number) {
    multiplier = "1";
    for(var i = 0; i < decimals; i++){
        multiplier += "0";
    }
    multiplier = parseInt(multiplier);
    return addCommas(""+Math.round((number*multiplier))/multiplier);
}