﻿var CO2perperson = 1021;
var CO2USAverage = 20750;
var eFactor = 2.035813;

var vehicleCO2 = 20.42105263;  //* miles per year/miles per gallon
var vehicleMaintCO2 = 1.429473684;

var gasmonthlyaverage = 35;
var gasCO2average = 3600;
var electricitymonthlyaverage = 35;
var electricityCO2average = 5750;

var gascubicfeetCO2 = 144.732;  //1447.32 =1000 cubic feet
var gasthermsCO2 = 140.4;
var gasdollarspertherm = 1.37;
var gasdollarpercubic = 0.7296;  //100 cubic feet
var electricityKilowattCO2 = 24.429756;
var electricitydollarperkilo = 0.084;

var recyclemetalsavings = -145.58;
var recycleplasticsavings = -46.93;
var recycleglasssavings = -29.95;
var recyclenewspapersavings = -172.38;
var recyclemagazinessavings = -51.91;

var vehiclecostpermile = 0.16;
var priceofgasoline = 2.50;
var vehiclemaintgassavings = 0.07;

var percentgainGas = 0.77; //Does this need to change for 100
var percentgainElectric = 0.33;
var percentgainOil = .86;
var percentgainPropane = .77;
var heatsavingperdegree = .36;
var heatsavingsCO2 = 0.03;
var airsavingsdegree = 0.2376;
var airsavingsCO2 = 0.0126;

var computersleepkilowatt = 98;
var washcold = 55.64;
var airdry = 375;
var perbulbdollarsavings = 7;
var perbulbCO2savings = 80;
var fridgekilowatt = 479;
var furnacesavings = 266;
var furnaceCO2gas = 3011;

var windowssavings = 358;
var gasemissionfactor = 120.61;
var gascubicBTU = 10300000; //1030000 == 1000 cubic
var kilowattBTU = 10280;
var windowCO2 = 25210000;

var recyclesavings = 447;

$(function() {
    $("#maintabs").tabs({ cache: true, load: function(event, ui) { processUi(ui.panel); }, select: function(event, ui) { tabSelected(event, ui, true); } });
    $("#prevSection").click(function() { navSections(-1); });
    $("#nextSection").click(function() { navSections(1); });
    $("#startOver").click(function() { location.reload(true); });

    //adjust navigation
    adjustNavigation($("#maintabs").tabs('option', 'selected'));
});

function processUi(parent) {
    //event hookup
    $("#PeopleInHoushold").change(function() { updatePeopleCount(); });
    $(".emissioncalc:text").change(function() { EmissionCalc(); });
    $(".emissioncalc:radio").click(function() { EmissionCalc(); });
    $(":text").keypress(function(event) {
        if (! isNumberKey(event)) event.preventDefault();
    });
     
    //Child Tab Creation
    $(parent).find(".childtabs").tabs({ cache: true, load: function(event, ui) { processUi(ui.panel); }, select: function(event, ui) { tabSelected(event, ui, false); } });

    //Vehicle UI Behaviors
    $(".vehicle_2,.vehicle_3, .vehicle_4,.vehicle_5 ").hide();

    vehicleToggle($("input[name='NumberofVehicles']:checked").val());
    
    $("input[name='NumberofVehicles']").click(function(e) { vehicleToggle($(this).val())});

    //green power
    $("input[name='greenpower']").click(function(e) {
        if ($(this).val() == "true") {
            $("#greenpowerpercentrow").show();
        } else {
            $("#greenpowerpercentrow").hide();
        }
    });

    //Wash Cold
    $("input[name='washcoldwater_TakeAction']").click(function(e) {
        if ($(this).val() == "true") {
            $("#WashColdLoads").show();
        } else {
            $("#WashColdLoads").hide();
        }
    });

    //Data Stuff
    updatePeopleCount();
    EmissionCalc();
}

function tabSelected(event, ui, isParent) {

    var currentMainTabIndex = 0;
    var currentChildTabIndex = 0;

    if (isParent) {
        currentMainTabIndex = ui.index;

        if (($($("#maintabs > .ui-tabs-panel").get(currentMainTabIndex)).find(".childtabs")).length > 0) {
            currentChildTabIndex = $($("#maintabs > .ui-tabs-panel").get(currentMainTabIndex)).find(".childtabs").tabs('option', 'selected');
        }
    } else {
        currentMainTabIndex = $("#maintabs").tabs('option', 'selected');
        currentChildTabIndex = ui.index;
    }
    
    //adjust navigation
    adjustNavigation(currentMainTabIndex, currentChildTabIndex);
}

function navSections(increment) {
    var currIndex = $("#maintabs").tabs('option', 'selected');

    if (currIndex < 0)
        return;

    var childtab = $($("#maintabs > .ui-tabs-panel").get(currIndex)).find(".childtabs");
    if (childtab.length > 0) {
        var childCurrIndex = childtab.tabs('option', 'selected');

        childtab.tabs("select", childCurrIndex + increment);

        if (childCurrIndex != childtab.tabs('option', 'selected'))
            return;
    }

    $("#maintabs").tabs("select", currIndex + increment);
    
}

function adjustNavigation(currentMainTabIndex, currentChildTabIndex) {

    //Show/Hide tabs
    $("#prevSection").css("visibility", "visible");
    $("#nextSection").css("visibility", "visible");
    $("#startOver").css("visibility", "visible");

    $("#nextSection > .text").html("Next Section");

    if (currentMainTabIndex <= 0) {
        $("#prevSection").css("visibility", "hidden");
        $("#startOver").css("visibility", "hidden");
    }

    //Check the Main tabs
    if (currentMainTabIndex == ($("#maintabs > .ui-tabs-panel").length - 2)) {
    
        //Check the Child tabs
        var childtabs = $($("#maintabs > .ui-tabs-panel").get(currentMainTabIndex)).find(".childtabs > .ui-tabs-panel");
        if (currentChildTabIndex == (childtabs.length - 1)) {
            $("#nextSection > .text").html("Finish");
        }
    }

    if (currentMainTabIndex >= ($("#maintabs > .ui-tabs-panel").length - 1)) {
        $("#nextSection").css("visibility", "hidden");
    }
    
}

function EmissionCalc() {
    var peopleInHousehold = $("#PeopleInHoushold").val();
    var primaryheat = $("input[name='FuelSource']:checked").val();

    if (peopleInHousehold == null) peopleInHousehold = 1;
    if (primaryheat == null) primaryheat = "gas";

    $("#USAverage").html(addCommas(CO2USAverage * peopleInHousehold));

    var totalEmissions = peopleInHousehold * CO2perperson;
    var bascisTotal = peopleInHousehold * CO2perperson;
    var vehiclesTotal = 0;
    var homeEnergyTotal = 0;
    
    //vehicle calculations
    var vehiclecount = $("input[name='NumberofVehicles']:checked").val();

    var i = 0;
    for (i = 1; i <= vehiclecount; i = i + 1) {
        var mileage = $("#vehicle" + i + "_mileage").val();
        if (!isNaN(mileage) && mileage != "") {
            if ($("input[name='vehicle" + i + "_mileageType']:checked").val() == "weekly") mileage *= 52;
            var MPG = $("#vehicle" + i + "_MPG").val();
            if (!isNaN(MPG) && MPG != "") {
                var vehicleTotal = Math.round(vehicleCO2 * (mileage / MPG));
                $("#vehicle" + i + "_CO2").html(addCommas(vehicleTotal));
                vehiclesTotal += vehicleTotal;
                totalEmissions += vehicleTotal;
            }
        }
    }

    //Home Energy Calcs
    var gaspermonth = $("#gas_permonth").val();
    var gaspermonthvaluetype = $("input[name='gasamounttype']:checked").val();
    if (!isNaN(gaspermonth) && gaspermonth != "") {
        var gasCO2 = 0;
        switch (gaspermonthvaluetype) {
            case "dollars":
                gasCO2 = (gascubicfeetCO2 / gasdollarpercubic) * gaspermonth;
                break;
            case "cubic":
                gasCO2 = gascubicfeetCO2 * gaspermonth;
                break;
            case "therms":
                gasCO2 = gasthermsCO2 * gaspermonth;
                break;
        }
        gasCO2 = Math.round(gasCO2);
        $("#gasCO2").html(addCommas(gasCO2));
        homeEnergyTotal += gasCO2;
        totalEmissions += gasCO2;
    }

    var electricitypermonth = $("#electricity_permonth").val();
    var electricitypermonthvaluetype = $("input[name='electricitytype']:checked").val();
    if (!isNaN(electricitypermonth) && electricitypermonth != "" && electricitypermonth > 0) {
        var electricityCO2 = 0;
        switch (electricitypermonthvaluetype) {
            case "dollars":
                electricityCO2 = (electricityKilowattCO2 / electricitydollarperkilo) * electricitypermonth;
                break;
            case "kilowatt":
                electricityCO2 = electricityKilowattCO2 * electricitypermonth;
                break;
        }

        if ($("input[name='greenpower']:checked").val() == "true") {
            var greenpercent = $("#greenpower_percent").val() / 100;
            if (!isNaN(greenpercent) && greenpercent != "")
                electricityCO2 = electricityCO2 * (1 - greenpercent);
        }

        electricityCO2 = Math.round(electricityCO2);
        $("#electricityCO2").html(addCommas(electricityCO2));
        homeEnergyTotal += electricityCO2;
        totalEmissions += electricityCO2;
    }

    //recycling
    $("#totalCO2_beforerecycling").html(addCommas(peopleInHousehold * CO2perperson));
    if ($("input[name='recycle_cansandsteel']:checked").val() == "true") {
        var recycleCO2 = Math.round(recyclemetalsavings * peopleInHousehold);
        $("#cansandsteel_CO2").html(addCommas(recycleCO2));
        totalEmissions += recycleCO2;
    }
    else { $("#cansandsteel_CO2").html("0"); }

    if ($("input[name='recycle_plastic']:checked").val() == "true") {
        var recycleCO2 = Math.round(recycleplasticsavings * peopleInHousehold);
        $("#plastic_CO2").html(addCommas(recycleCO2));
        totalEmissions += recycleCO2;
    }
    else { $("#plastic_CO2").html("0"); }

    if ($("input[name='recycle_glass']:checked").val() == "true") {
        var recycleCO2 = Math.round(recycleglasssavings * peopleInHousehold);
        $("#glass_CO2").html(addCommas(recycleCO2));
        totalEmissions += recycleCO2;
    }
    else { $("#glass_CO2").html("0"); }

    if ($("input[name='recycle_newspaper']:checked").val() == "true") {
        var recycleCO2 = Math.round(recyclenewspapersavings * peopleInHousehold);
        $("#newspaper_CO2").html(addCommas(recycleCO2));
        totalEmissions += recycleCO2;
    }
    else { $("#newspaper_CO2").html("0"); }

    if ($("input[name='recycle_magazines']:checked").val() == "true") {
        var recycleCO2 = Math.round(recyclemagazinessavings * peopleInHousehold);
        $("#magazines_CO2").html(addCommas(recycleCO2));
        totalEmissions += recycleCO2;
    }
    else { $("#magazines_CO2").html("0"); }

    $("#totalCO2_afterrecycling").html(addCommas(totalEmissions));

    //Current Emmissions Total
    $("#householdtotal").html(addCommas(totalEmissions));

    //Current Emmissions Per Person
    $("#householdperperson").html(addCommas(Math.round(totalEmissions / peopleInHousehold)));

    //Chart the Current Emissions
    graphCurrentUsage(vehiclesTotal, homeEnergyTotal, bascisTotal, totalEmissions);

    //Now track emissions adjusted for each action taken.
    var totalCO2Savings = 0;
    var totalDollarSavings = 0;
    
    //Savings - Vehicle
    var vehiclemaintCO2savings = 0;
    var vehiclemaintSavings = 0;

    for (i = 1; i <= vehiclecount; i = i + 1) {
        var additionalMPG = $("#vehicle" + i + "_bettermpg").val();
        var currentMPG = $("#vehicle" + i + "_MPG").val();
        if (!isNaN(currentMPG) && currentMPG != "" && currentMPG > 0) {
            var MPG = parseInt(currentMPG);
            var mileage = $("#vehicle" + i + "_mileage").val();

            if (!isNaN(mileage) && mileage != "" && mileage > 0 && $("input[name='vehicle" + i + "_mileageType']:checked").val() == "weekly")
                mileage *= 52;

            //Replace you car with one that gets better MPG
            if (!isNaN(additionalMPG) && additionalMPG != "" && additionalMPG > 0) {
                if ($("input[name='vehicle" + i + "_bettermpg_TakeAction']:checked").val() == "true") {
                    MPG += parseInt(additionalMPG);    
                
                    if (!isNaN(mileage) && mileage != "" && mileage > 0) {
                        var vehicletotal = (vehicleCO2 * (mileage / currentMPG)) - (vehicleCO2 * (mileage / MPG));
                        var vehicledollartotal = (mileage * priceofgasoline / currentMPG) - (mileage * priceofgasoline / MPG);
                        $("#vehicle" + i + "_bettermpg_Savings").html(Math.round(vehicledollartotal));
                        $("#vehicle" + i + "_bettermpg_CO2").html(addCommas(Math.round(vehicletotal)));
                        $("#vehicle" + i + "_bettermpg_CO2Percent").html(Math.round((vehicletotal / totalEmissions) * 100));
                        totalCO2Savings += vehicletotal;
                        totalDollarSavings += vehicledollartotal;
                    }
                } else {
                    $("#vehicle" + i + "_bettermpg_Savings").html(0);
                    $("#vehicle" + i + "_bettermpg_CO2").html(0);
                    $("#vehicle" + i + "_bettermpg_CO2Percent").html(0);
                }
            }

            //Reducing miles you drive
            var reducemileage = $("#vehicle" + i + "_reducemiles").val() * 52;
            if (!isNaN(reducemileage) && reducemileage != "") {
                if ($("input[name='vehicle" + i + "_reducemiles_TakeAction']:checked").val() == "true") {
                    var vehicletotal = Math.round((vehicleCO2 * reducemileage) / MPG);
                    $("#vehicle" + i + "_reducemiles_Savings").html(addCommas(Math.round(reducemileage * vehiclecostpermile)));
                    $("#vehicle" + i + "_reducemiles_CO2").html(addCommas(vehicletotal));
                    $("#vehicle" + i + "_reducemiles_CO2Percent").html(Math.round((vehicletotal / totalEmissions) * 100));
                    totalCO2Savings += vehicletotal;
                    totalDollarSavings += reducemileage * vehiclecostpermile;
                }
                else {
                    $("#vehicle" + i + "_reducemiles_Savings").html(0);
                    $("#vehicle" + i + "_reducemiles_CO2").html(0);
                    $("#vehicle" + i + "_reducemiles_CO2Percent").html(0);
                }
            }

            //Regular Maint
            if (!isNaN(mileage) && mileage != "" && mileage > 0) {
                vehiclemaintCO2savings += vehicleMaintCO2 * (mileage / MPG);
                vehiclemaintSavings += (vehiclemaintgassavings * priceofgasoline) * (mileage / MPG);
            }
        }
    }
       
    //Regular Maint
    if ($("input[name='vehicle_performmaint_TakeAction']:checked").val() == "true") {
        $("#vehicle_performmaint_Savings").html(addCommas(Math.round(vehiclemaintSavings)));
        $("#vehicle_performmaint_CO2").html(addCommas(Math.round(vehiclemaintCO2savings)));
        $("#vehicle_performmaint_CO2Percent").html(Math.round((vehiclemaintCO2savings / totalEmissions) * 100));
        totalCO2Savings += vehiclemaintCO2savings;
        totalDollarSavings += vehiclemaintSavings;
    } else {
        $("#vehicle_performmaint_Savings").html(0);
        $("#vehicle_performmaint_CO2").html(0);
        $("#vehicle_performmaint_CO2Percent").html(0);
    }

    //Savings - At Home
    //Reduce heat
    var reduceheat = $("#reduceheatthermostat").val();
    if ($("input[name='reduceheatthermostat_TakeAction']:checked").val() == "true" && !isNaN(reduceheat) && reduceheat != "" && reduceheat > 0) {
        var heatsavings = 0;
        var heatCO2 = 0;
        switch (primaryheat) {
            case "gas":
                switch (gaspermonthvaluetype) {
                    case "dollars":
                        heatsavings = gaspermonth;
                        break;
                    case "cubic":
                        heatsavings = gaspermonth * gasdollarpercubic;
                        break;
                    case "therms":
                        heatsavings = gaspermonth * gasdollarpertherm;
                        break;
                }
                heatsavings *= percentgainGas;
                heatCO2 = gasCO2 * percentgainGas;
                break;
            case "electric":
                switch ($("input[name='electricitytype']:checked").val()) {
                    case "dollars":
                        heatsavings = electricitypermonth;
                        break;
                    case "kilowatt":
                        heatsavings = electricitypermonth * electricitydollarperkilo;
                        break;
                }
                heatsavings *= percentgainElectric;
                heatCO2 = gasCO2 * percentgainGas;
                break;
        }

        $("#reduceheatthermostat_Savings").html(addCommas(Math.round(reduceheat * heatsavings * heatsavingperdegree)));
        var heatCO2saved = Math.round(heatCO2 * reduceheat * heatsavingsCO2);
        $("#reduceheatthermostat_CO2").html(addCommas(heatCO2saved));
        $("#reduceheatthermostat_CO2Percent").html(Math.round((heatCO2saved / totalEmissions) * 100));
        totalCO2Savings += heatCO2saved;
        totalDollarSavings += reduceheat * heatsavings * heatsavingperdegree;
    } else {
        $("#reduceheatthermostat_Savings").html(0);
        $("#reduceheatthermostat_CO2").html(0);
        $("#reduceheatthermostat_CO2Percent").html(0);
    }

    //Riase Air Conditioning
    if ($("input[name='raiseairthermostat_TakeAction']:checked").val() == "true" && !isNaN(electricitypermonth) && electricitypermonth != "" && electricitypermonth > 0) {
        var raiseair = $("#raiseairthermostat").val();
        var reduceairsavings = 0;
        if (!isNaN(raiseair) && raiseair != "" && raiseair > 0) {
            switch (electricitypermonthvaluetype) {
                case "dollars":
                    reduceairsavings = airsavingsdegree * electricitypermonth * raiseair;
                    break;
                case "kilowatt":
                    reduceairsavings = airsavingsdegree * electricitypermonth * raiseair * electricitydollarperkilo;
                    break;
            }
            $("#raiseairthermostat_Savings").html(addCommas(Math.round(reduceairsavings)));
            var airCO2Saved = airsavingsCO2 * electricityCO2 * raiseair;
            $("#raiseairthermostat_CO2").html(addCommas(Math.round(airCO2Saved)));
            $("#raiseairthermostat_CO2Percent").html(Math.round((airCO2Saved / totalEmissions) * 100));
            totalCO2Savings += airCO2Saved;
            totalDollarSavings += reduceairsavings;
        }
    } else {
        $("#raiseairthermostat_Savings").html(0);
        $("#raiseairthermostat_CO2").html(0);
        $("#raiseairthermostat_CO2Percent").html(0);
    }

    //Reduce - Computer monitor sleep
    if ($("input[name='computersleep_TakeAction']:checked").val() == "true") {
        $("#computersleep_Savings").html(addCommas(Math.round(computersleepkilowatt * electricitydollarperkilo)));
        var computersleepCO2Saved = computersleepkilowatt * eFactor;
        $("#computersleep_CO2").html(addCommas(Math.round(computersleepCO2Saved)));
        $("#computersleep_CO2Percent").html(Math.round((computersleepCO2Saved / totalEmissions) * 100));
        totalCO2Savings += computersleepCO2Saved;
        totalDollarSavings += computersleepkilowatt * electricitydollarperkilo;
    } else {
        $("#computersleep_Savings").html(0);
        $("#computersleep_CO2").html(0);
        $("#computersleep_CO2Percent").html(0);
    }

    //Reduce - Wash in cold water
    var washcoldloadsperweek = $("#washcoldwater_LoadsPerWeek").val();
    if ($("input[name='washcoldwater_TakeAction']:checked").val() == "true" && !isNaN(washcoldloadsperweek) && washcoldloadsperweek != "" && washcoldloadsperweek > 0) {
        var washersavings = eFactor * washcoldloadsperweek * washcold;
        $("#washcoldwater_Savings").html(addCommas(Math.round(washcold * washcoldloadsperweek * electricitydollarperkilo)));
        $("#washcoldwater_CO2").html(addCommas(Math.round(washersavings)));
        $("#washcoldwater_CO2Percent").html(Math.round((washersavings / totalEmissions) * 100));
        totalCO2Savings += washersavings;
        totalDollarSavings += washcold * washcoldloadsperweek * electricitydollarperkilo;
    } else {
        $("#washcoldwater_Savings").html(0);
        $("#washcoldwater_CO2").html(0);
        $("#washcoldwater_CO2Percent").html(0);
    }

    //Reduce - Air Dry
    if ($("input[name='airdryclothes_TakeAction']:checked").val() == "true") {
        $("#airdryclothes_Savings").html(addCommas(Math.round(airdry * electricitydollarperkilo)));
        $("#airdryclothes_CO2").html(addCommas(Math.round(airdry * eFactor)));
        $("#airdryclothes_CO2Percent").html(Math.round(((airdry * eFactor) / totalEmissions) * 100));
        totalCO2Savings += airdry * eFactor;
        totalDollarSavings += airdry * electricitydollarperkilo;
    } else {
        $("#airdryclothes_Savings").html(0);
        $("#airdryclothes_CO2").html(0);
        $("#airdryclothes_CO2Percent").html(0);
    }

    //Reduce - Green Power
    var greenpowerpercent = $("#usegreenpower_Percent").val();
    if ($("input[name='usegreenpower_TakeAction']:checked").val() == "true" && !isNaN(greenpowerpercent) && greenpowerpercent != "" && greenpowerpercent > 0) {
        $("#usegreenpower_CO2").html(addCommas(Math.round(electricityCO2 * (greenpowerpercent / 100))));
        $("#usegreenpower_CO2Percent").html(Math.round(((electricityCO2 * (greenpowerpercent / 100)) / totalEmissions) * 100));
        totalCO2Savings += electricityCO2 * (greenpowerpercent / 100);
    } else {
        $("#usegreenpower_CO2").html(0);
        $("#usegreenpower_CO2Percent").html(0);
    }

    //Reduce - Replace light bulbs
    var replacebulbqty = $("#replacelights_Qty").val();
    if ($("input[name='replacelights_TakeAction']:checked").val() == "true" && !isNaN(replacebulbqty) && replacebulbqty != "" && replacebulbqty > 0) {
        $("#replacelights_Savings").html(addCommas(perbulbdollarsavings * replacebulbqty));
        $("#replacelights_CO2").html(addCommas(Math.round(perbulbCO2savings * replacebulbqty * eFactor)));
        $("#replacelights_CO2Percent").html(Math.round(((perbulbCO2savings * replacebulbqty * eFactor) / totalEmissions) * 100));
        totalCO2Savings += perbulbCO2savings * replacebulbqty * eFactor;
        totalDollarSavings += perbulbdollarsavings * replacebulbqty;
    } else {
        $("#replacelights_Savings").html(0);
        $("#replacelights_CO2").html(0);
        $("#replacelights_CO2Percent").html(0);
    }

    //Reduce - Replace Fridge
    if ($("input[name='replacefridge_TakeAction']:checked").val() == "true") {
        $("#replacefridge_Savings").html(addCommas(Math.round(fridgekilowatt * electricitydollarperkilo)));
        $("#replacefridge_CO2").html(addCommas(Math.round(fridgekilowatt * eFactor)));
        $("#replacefridge_CO2Percent").html(Math.round(((fridgekilowatt * eFactor) / totalEmissions) * 100));
        totalCO2Savings += fridgekilowatt * eFactor;
        totalDollarSavings += fridgekilowatt * electricitydollarperkilo;
    } else {
        $("#replacefridge_Savings").html(0);
        $("#replacefridge_CO2").html(0);
        $("#replacefridge_CO2Percent").html(0);
    }

    //Reduce - Replace Furnace
    if ($("input[name='replacefurnace_TakeAction']:checked").val() == "true") {
        $("#replacefurnace_Savings").html(furnacesavings);
        $("#replacefurnace_CO2").html(furnaceCO2gas);
        $("#replacefurnace_CO2Percent").html(Math.round((furnaceCO2gas / totalEmissions) * 100));
        totalCO2Savings += furnaceCO2gas;
        totalDollarSavings += furnacesavings;
    } else {
        $("#replacefurnace_Savings").html(0);
        $("#replacefurnace_CO2").html(0);
        $("#replacefurnace_CO2Percent").html(0);
    }

    //Reduce - Replace Windows
    if ($("input[name='replacewindows_TakeAction']:checked").val() == "true") {
        $("#replacewindows_Savings").html(windowssavings);
        var windowCO2Saving = 0;

        switch (primaryheat) {
            case "gas":
                windowCO2Saving = (windowCO2 * gasemissionfactor) / gascubicBTU;
                break;
            case "electric":
                windowCO2Saving = (windowCO2 * eFactor) / kilowattBTU;
                break;
        }

        $("#replacewindows_CO2").html(addCommas(Math.round(windowCO2Saving)));
        $("#replacewindows_CO2Percent").html(Math.round((windowCO2Saving / totalEmissions) * 100));
        totalCO2Savings += windowCO2Saving;
        totalDollarSavings += windowssavings;
    } else {
        $("#replacewindows_Savings").html(0);
        $("#replacewindows_CO2").html(0);
        $("#replacewindows_CO2Percent").html(0);
    }

    //Reduce - Waste
    if ($("input[name='startrecycling_TakeAction']:checked").val() == "true") {
        $("#startrecycling_CO2").html(recyclesavings * peopleInHousehold);
        $("#startrecycling_CO2Percent").html(Math.round(((recyclesavings * peopleInHousehold) / totalEmissions) * 100));
        totalCO2Savings += recyclesavings * peopleInHousehold;
    } else {
        $("#startrecycling_CO2").html(0);
        $("#startrecycling_CO2Percent").html(0);
    }

    EstimatedSavings();

    $("#savings_totalemissions").html(addCommas(Math.round(totalEmissions)));
    $("#savings_total_CO2").html(addCommas(Math.round(totalCO2Savings)));
    $("#savings_total_percent").html(Math.round((totalCO2Savings / totalEmissions) * 100));
    $("#savings_total_dollars").html(addCommas(Math.round(totalDollarSavings)));
    
    var adjustedCO2 = totalEmissions - totalCO2Savings;
    $("#savings_total_adjustedCO2").html(addCommas(Math.round(adjustedCO2)));
    $("#savings_total_adjustedCO2perperson").html(addCommas(Math.round(adjustedCO2 / peopleInHousehold)));
}

function EstimatedSavings() {
    var vehiclecount = $("input[name='NumberofVehicles']:checked").val();
    var vehiclecount = $("input[name='NumberofVehicles']:checked").val();

    var i = 0;
    for (i = 1; i <= 5; i = i + 1) {
        if (i <= vehiclecount) {
            if ($("input[name='vehicle" + i + "_reducemiles_TakeAction']:checked").val() == "true") {
                $("#savings_vehicle" + i + "_row").show();
                $("#savings_vehicle" + i + "_miles").html($("#vehicle" + i + "_reducemiles").val());
                $("#savings_vehicle" + i + "_dollars").html($("#vehicle" + i + "_reducemiles_Savings").html());
                $("#savings_vehicle" + i + "_CO2").html($("#vehicle" + i + "_reducemiles_CO2").html());
                $("#savings_vehicle" + i + "_percent").html($("#vehicle" + i + "_reducemiles_CO2Percent").html());
            } else {
                $("#savings_vehicle" + i + "_row").hide();
            }

            if ($("input[name='vehicle" + i + "_bettermpg_TakeAction']:checked").val() == "true") {
                $("#savings_vehicle" + i + "MPG_row").show();
                $("#savings_vehicle" + i + "MPG_miles").html($("#vehicle" + i + "_bettermpg").val());
                $("#savings_vehicle" + i + "MPG_dollars").html($("#vehicle" + i + "_bettermpg_Savings").html());
                $("#savings_vehicle" + i + "MPG_CO2").html($("#vehicle" + i + "_bettermpg_CO2").html());
                $("#savings_vehicle" + i + "MPG_percent").html($("#vehicle" + i + "_bettermpg_CO2Percent").html());
            } else {
                $("#savings_vehicle" + i + "MPG_row").hide();
            }
        } else {
            $("#savings_vehicle" + i + "_row").hide();
            $("#savings_vehicle" + i + "MPG_row").hide();
        }
    }
    if ($("input[name='vehicle_performmaint_TakeAction']:checked").val() == "true") {
        $("#savings_vehiclemaint_row").show();
        $("#savings_vehiclemaint_dollars").html($("#vehicle_performmaint_Savings").html());
        $("#savings_vehiclemaint_CO2").html($("#vehicle_performmaint_CO2").html());
        $("#savings_vehiclemaint_percent").html($("#vehicle_performmaint_CO2Percent").html());
    } else {
        $("#savings_vehiclemaint_row").hide();
    }
    
    if ($("input[name='reduceheatthermostat_TakeAction']:checked").val() == "true") {
        $("#savings_reduceheat_row").show();
        $("#savings_reduceheat_degrees").html($("#reduceheatthermostat").val());
        $("#savings_reduceheat_dollars").html($("#reduceheatthermostat_Savings").html());
        $("#savings_reduceheat_CO2").html($("#reduceheatthermostat_CO2").html());
        $("#savings_reduceheat_percent").html($("#reduceheatthermostat_CO2Percent").html());
    } else {
        $("#savings_reduceheat_row").hide();
    }

    if ($("input[name='raiseairthermostat_TakeAction']:checked").val() == "true") {
        $("#savings_raiseair_row").show();
        $("#savings_raiseair_degrees").html($("#raiseairthermostat").val());
        $("#savings_raiseair_dollars").html($("#raiseairthermostat_Savings").html());
        $("#savings_raiseair_CO2").html($("#raiseairthermostat_CO2").html());
        $("#savings_raiseair_percent").html($("#raiseairthermostat_CO2Percent").html());
    } else {
        $("#savings_raiseair_row").hide();
    }

    if ($("input[name='computersleep_TakeAction']:checked").val() == "true") {
        $("#savings_computersleep_row").show();
        $("#savings_computersleep_dollars").html($("#computersleep_Savings").html());
        $("#savings_computersleep_CO2").html($("#computersleep_CO2").html());
        $("#savings_computersleep_percent").html($("#computersleep_CO2Percent").html());
    } else {
        $("#savings_computersleep_row").hide();
    }

    if ($("input[name='washcoldwater_TakeAction']:checked").val() == "true") {
        $("#savings_washcold_row").show();
        $("#savings_washcold_dollars").html($("#washcoldwater_Savings").html());
        $("#savings_washcold_CO2").html($("#washcoldwater_CO2").html());
        $("#savings_washcold_percent").html($("#washcoldwater_CO2Percent").html());
    } else {
        $("#savings_washcold_row").hide();
    }

    if ($("input[name='airdryclothes_TakeAction']:checked").val() == "true") {
        $("#savings_airdry_row").show();
        $("#savings_airdry_dollars").html($("#airdryclothes_Savings").html());
        $("#savings_airdry_CO2").html($("#airdryclothes_CO2").html());
        $("#savings_airdry_percent").html($("#airdryclothes_CO2Percent").html());
    } else {
        $("#savings_airdry_row").hide();
    }

    if ($("input[name='usegreenpower_TakeAction']:checked").val() == "true") {
        $("#savings_greenpower_row").show();
        $("#savings_greenpower_amount").html($("#usegreenpower_Percent").val());
        $("#savings_greenpower_CO2").html($("#usegreenpower_CO2").html());
        $("#savings_greenpower_percent").html($("#usegreenpower_CO2").html());
    } else {
        $("#savings_greenpower_row").hide();
    }

    if ($("input[name='replacelights_TakeAction']:checked").val() == "true") {
        $("#savings_lightbulbs_row").show();
        $("#savings_lightbulbs_qty").html($("#replacelights_Qty").val());
        $("#savings_lightbulbs_dollars").html($("#replacelights_Savings").html());
        $("#savings_lightbulbs_CO2").html($("#replacelights_CO2").html());
        $("#savings_lightbulbs_percent").html($("#replacelights_CO2Percent").html());
    } else {
        $("#savings_lightbulbs_row").hide();
    }

    if ($("input[name='replacefridge_TakeAction']:checked").val() == "true") {
        $("#savings_fridge_row").show();
        $("#savings_fridge_dollars").html($("#replacefridge_Savings").html());
        $("#savings_fridge_CO2").html($("#replacefridge_CO2").html());
        $("#savings_fridge_percent").html($("#replacefridge_CO2Percent").html());
    } else {
        $("#savings_fridge_row").hide();
    }

    if ($("input[name='replacefurnace_TakeAction']:checked").val() == "true") {
        $("#savings_furnace_row").show();
        $("#savings_furnace_dollars").html($("#replacefurnace_Savings").html());
        $("#savings_furnace_CO2").html($("#replacefurnace_CO2").html());
        $("#savings_furnace_percent").html($("#replacefurnace_CO2Percent").html());
    } else {
        $("#savings_furnace_row").hide();
    }

    if ($("input[name='replacewindows_TakeAction']:checked").val() == "true") {
        $("#savings_windows_row").show();
        $("#savings_windows_dollars").html($("#replacewindows_Savings").html());
        $("#savings_windows_CO2").html($("#replacewindows_CO2").html());
        $("#savings_windows_percent").html($("#replacewindows_CO2Percent").html());
    } else {
        $("#savings_windows_row").hide();
    }

    if ($("input[name='startrecycling_TakeAction']:checked").val() == "true") {
        $("#savings_recycle_row").show();
        $("#savings_recycle_CO2").html($("#startrecycling_CO2").html());
        $("#savings_recycle_percent").html($("#startrecycling_CO2Percent").html());
    } else {
        $("#savings_recycle_row").hide();
    }
}

function updatePeopleCount() {
    var people = $("#PeopleInHoushold").val();

    if (isNaN(people)) people = 1;

    if (people > 1) { $(".peoplecount").html(people + " people"); }
    else { $(".peoplecount").html("1 person"); }

    $(".perpersonvalue").each(function() {
        eval("$('#" + this.id + "').html(addCommas(" + people + " * " + this.id + "));");
    });
}

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 isNumberKey(evt) {
    var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;

    return true;
}

function vehicleToggle(count){
 var i = 0;
        for (i = 1; i <= 5; i = i + 1) {
            if (i <= count) {
                $(".vehicle_" + i).show();
            } else {
                $(".vehicle_" + i).hide();
            }
        }
    }

function graphCurrentUsage(vehiclesTotal, homeEnergyTotal, basicsTotal, totalEmissions) {

    //Make sure chart is a fresh one, so remove it first.  Otherwise, chart will always look the same
    $("#currentusagechart").gchart('destroy');

    var percentageLast = 0;
    
    vehiclesTotal = Math.round((vehiclesTotal / totalEmissions) * 100);
    homeEnergyTotal = Math.round((homeEnergyTotal / totalEmissions) * 100);
    basicsTotal = Math.round((basicsTotal / totalEmissions) * 100);

    //Adjust basic totals so that we add up to 100%
    if (100 - (vehiclesTotal + homeEnergyTotal) != basicsTotal) {
        basicsTotal = (100 - (vehiclesTotal + homeEnergyTotal));
    }
    
    //Set the Chart Data
    var chartdata = [$.gchart.series("current usage", [vehiclesTotal, homeEnergyTotal, basicsTotal])];
    
    //Set the Chart Labels
    var chartlabels = ["Vehicles - " + vehiclesTotal + "%", "Home Energy - " + homeEnergyTotal + "%", "The Basics - " + basicsTotal + "%"];
    
    //Set the Chart Colors
    chartdata[0].color = ['#98ab43', '#4a7998', '#ff9900'],

    $("#currentusagechart").gchart({
        backgroundColor: '#f5f3e5',
        dataLabels: chartlabels,
        height: 400,
        margins: [110, 110, 0, 0],
        legend: '',
        legendSize: null,
        series: chartdata,
        title: "Current Emissions",
        titleSize: 16,
        type: "pie3D",
        width: "600"
    });
    
}
