var GasCO2 = 19.546544325;
var DieselCO2 = 22.1122825;

var FleetSize = 100;
var AverageMPG = 5;
var AnnualMiles = 10000;
var PricePerGallon = 2.00;

var FuelConsumption = 0;
var CO2Emissions = 0;

var FuelUseReduceA = 0;
var FuelUseReduceB = 0;
var FuelUseReduceC = 0;

var FuelSavingsA = 0;
var FuelSavingsB = 0;
var FuelSavingsC = 0;

var CO2ReduceA = 0;
var CO2ReduceB = 0;
var CO2ReduceC = 0;

var FleetFuelSavingsA = 0;
var FleetFuelSavingsB = 0;
var FleetFuelSavingsC = 0;

var FleetCO2ReduceA = 0;
var FleetCO2ReduceB = 0;
var FleetCO2ReduceC = 0;


function calculateGasolineSavings()
{
	FuelConsumption = AnnualMiles / AverageMPG;
	FuelCosts 		= FuelConsumption * PricePerGallon;
	CO2Emissions 	= FuelConsumption * GasCO2;

	FuelUseReduceA = FuelConsumption - (AnnualMiles /(AverageMPG * (0.05 + 1)));
	FuelUseReduceB = FuelConsumption - (AnnualMiles /(AverageMPG * (0.10 + 1)));
	FuelUseReduceC = FuelConsumption - (AnnualMiles /(AverageMPG * (0.15 + 1)));

	//Individual		
	FuelSavingsA = FuelUseReduceA * PricePerGallon;
	FuelSavingsB = FuelUseReduceB * PricePerGallon;
	FuelSavingsC = FuelUseReduceC * PricePerGallon;

	CO2ReduceA = FuelUseReduceA * GasCO2;
	CO2ReduceB = FuelUseReduceB * GasCO2;
	CO2ReduceC = FuelUseReduceC * GasCO2;		

	IFSKA = Math.round((FuelSavingsA));
	IFSKB = Math.round((FuelSavingsB));
	IFSKC = Math.round((FuelSavingsC));

	document.getElementById('iat10value').innerHTML = "$" + addCommas(IFSKA) + "";
	document.getElementById('iat50value').innerHTML = "$" + addCommas(IFSKB) + "";
	document.getElementById('iat100value').innerHTML = "$" + addCommas(IFSKC) + "";	

	ICOPA = Math.round((CO2ReduceA));
	ICOPB = Math.round((CO2ReduceB));
	ICOPC = Math.round((CO2ReduceC));

	document.getElementById('icat10value').innerHTML = addCommas(ICOPA) + "";
	document.getElementById('icat50value').innerHTML = addCommas(ICOPB) + "";
	document.getElementById('icat100value').innerHTML = addCommas(ICOPC) + "";	

	//Fleet
	FleetFuelSavingsA = FuelSavingsA * FleetSize;
	FleetFuelSavingsB = FuelSavingsB * FleetSize;
	FleetFuelSavingsC = FuelSavingsC * FleetSize;

	FleetCO2ReduceA = CO2ReduceA * FleetSize;
	FleetCO2ReduceB = CO2ReduceB * FleetSize;
	FleetCO2ReduceC = CO2ReduceC * FleetSize;

	FSKA = Math.round((FleetFuelSavingsA));
	FSKB = Math.round((FleetFuelSavingsB));
	FSKC = Math.round((FleetFuelSavingsC));

	COPA = Math.round((FleetCO2ReduceA));
	COPB = Math.round((FleetCO2ReduceB));
	COPC = Math.round((FleetCO2ReduceC));

	document.getElementById('ffat10value').innerHTML = "$" + addCommas(FSKA) + "";
	document.getElementById('ffat50value').innerHTML = "$" + addCommas(FSKB) + "";
	document.getElementById('ffat100value').innerHTML = "$" + addCommas(FSKC) + "";	

	document.getElementById('fcat10value').innerHTML = addCommas(COPA) + "";
	document.getElementById('fcat50value').innerHTML = addCommas(COPB) + "";
	document.getElementById('fcat100value').innerHTML = addCommas(COPC) + "";	

} // calculateGasolineSavings

function calculateDieselSavings()
{
	FuelConsumption	= AnnualMiles / AverageMPG;
	FuelCosts 		= FuelConsumption * PricePerGallon;
	CO2Emissions 	= FuelConsumption * DieselCO2;

	FuelUseReduceA = FuelConsumption - (AnnualMiles / (AverageMPG * (0.05 + 1)));
	FuelUseReduceB = FuelConsumption - (AnnualMiles / (AverageMPG * (0.10 + 1)));
	FuelUseReduceC = FuelConsumption - (AnnualMiles / (AverageMPG * (0.15 + 1)));

	//Individual		
	FuelSavingsA = FuelUseReduceA * PricePerGallon;
	FuelSavingsB = FuelUseReduceB * PricePerGallon;
	FuelSavingsC = FuelUseReduceC * PricePerGallon;

	CO2ReduceA = FuelUseReduceA * DieselCO2;
	CO2ReduceB = FuelUseReduceB * DieselCO2;
	CO2ReduceC = FuelUseReduceC * DieselCO2;

	IFSKA = Math.round((FuelSavingsA));
	IFSKB = Math.round((FuelSavingsB));
	IFSKC = Math.round((FuelSavingsC));

	document.getElementById('iat10value').innerHTML = "$" + addCommas(IFSKA) + "";
	document.getElementById('iat50value').innerHTML = "$" + addCommas(IFSKB) + "";
	document.getElementById('iat100value').innerHTML = "$" + addCommas(IFSKC) + "";	

	ICOPA = Math.round((CO2ReduceA));
	ICOPB = Math.round((CO2ReduceB));
	ICOPC = Math.round((CO2ReduceC));

	document.getElementById('icat10value').innerHTML = addCommas(ICOPA) + "";
	document.getElementById('icat50value').innerHTML = addCommas(ICOPB) + "";
	document.getElementById('icat100value').innerHTML = addCommas(ICOPC) + "";

	//Fleet
	FleetFuelSavingsA = FuelSavingsA * FleetSize;
	FleetFuelSavingsB = FuelSavingsB * FleetSize;
	FleetFuelSavingsC = FuelSavingsC * FleetSize;

	FleetCO2ReduceA = CO2ReduceA * FleetSize;
	FleetCO2ReduceB = CO2ReduceB * FleetSize;
	FleetCO2ReduceC = CO2ReduceC * FleetSize;

	FSKA = Math.round((FleetFuelSavingsA));
	FSKB = Math.round((FleetFuelSavingsB));
	FSKC = Math.round((FleetFuelSavingsC));
	
	COPA = Math.round((FleetCO2ReduceA));
	COPB = Math.round((FleetCO2ReduceB));
	COPC = Math.round((FleetCO2ReduceC));

	document.getElementById('ffat10value').innerHTML = "$" + addCommas(FSKA) + "";
	document.getElementById('ffat50value').innerHTML = "$" + addCommas(FSKB) + "";
	document.getElementById('ffat100value').innerHTML = "$" + addCommas(FSKC) + "";	

	document.getElementById('fcat10value').innerHTML = addCommas(COPA) + "";
	document.getElementById('fcat50value').innerHTML = addCommas(COPB) + "";
	document.getElementById('fcat100value').innerHTML = addCommas(COPC) + "";

} //calculateDieselSavings

function showFleetChart()
{

	$('results-nav').style.display = "block";
	
	$('thesliders').style.display = "none";

	$('results-nav').innerHTML = "<p class=\"left\"><a href=\"javascript:void(0)\" onclick=\"showSliders()\">Go Back</a></p><div class=\"results-tabs\"><ul id=\"calc-tabs\"><li id=\"btn_fleet\"><span class=\"wlk_distext\">fleet</span></li><li id=\"btn_indiv\"><a href=\"javascript:void(0)\" onclick=\"showIndividualChart()\" title=\"Individual\"><span class=\"wlk_distext\">individual</span></a></li></ul></div>";

	$('article_text_1').style.display = "none";

	$('article_text_2').style.display = "block";	
	

	if ($('typeCar').checked)
	{
		calculateGasolineSavings();
	}
	else if ($('typeCar2').checked)
	{
		calculateDieselSavings();	
	}

} // showFleetChart


function showIndividualChart()
{
	$('results-nav').style.display = "block";
	
	$('thesliders').style.display = "none";

	$('results-nav').innerHTML = "<p class=\"left\"><a href=\"javascript:void(0)\" onclick=\"showSliders()\">Go Back</a></p><div class=\"results-tabs\"><ul id=\"calc-tabs\"><li id=\"btn_fleet\"><a href=\"javascript:void(0)\" onclick=\"showFleetChart()\" title=\"Individual\"><span class=\"wlk_distext\">fleet</span></a></li><li id=\"btn_indiv\"><span class=\"wlk_distext\">individual</span></li></ul></div>";

	$('article_text_2').style.display = "none";

	$('article_text_1').style.display = "block";	

	if ($('typeCar').checked)
	{
		calculateGasolineSavings();
	}
	else if ($('typeCar2').checked)
	{
		calculateDieselSavings();	
	}
} // showIndividualChart


function showSliders()
{
	$('results-nav').style.display = "none";

	$('thesliders').style.display = "block";
	
	$('results-nav').innerHTML = "";

	$('article_text_2').style.display = "none";	

	$('article_text_1').style.display = "none";
} // showSliders


function roundNumber(num, dec) 
{
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
} // roundNumber


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;
} // addCommas

window.addEvent('domready', function(){
        if(!$('sidebar_calculator')) return;
	// Create the new slider instance
	var mySlider = new Slider($('bar'), $('knob'), {
		steps: 99,	// There are 35 steps
		range: [100,10000],	// Minimum value is 8
		onChange: function(step){
			// Everytime the value changes, we change the font of an element
			$('val').value = step;
			FleetSize = step;
		}
	});
	$('val').addEvent('change', function() {
		mySlider.set(this.value);
	});
	
	var mySlider2 = new Slider($('bar2'), $('knob2'), {
		steps: 35,	// There are 35 steps
		range: [5,40],	// Minimum value is 8
		onChange: function(step){
			// Everytime the value changes, we change the font of an element
			$('val2').value = step;	
			AverageMPG = step;
		}
	});
	$('val2').addEvent('change', function() {
		mySlider2.set(this.value);
	});
	
	var mySlider3 = new Slider($('bar3'), $('knob3'), {
		steps: 35,	// There are 35 steps
		range: [5000,40000],	// Minimum value is 8
		onChange: function(step){
			// Everytime the value changes, we change the font of an element
			$('val3').value = step;
			AnnualMiles = step;
		}
	});
	$('val3').addEvent('change', function() {
		mySlider3.set(this.value);
	});
	
	
	var mySlider4 = new Slider($('bar4'), $('knob4'), {
		steps: 100,	// There are 35 steps
		range: [100,600],	// Minimum value is 8
		onChange: function(step){
			// Everytime the value changes, we change the font of an element
			$('val4').value = roundNumber((parseInt(step) * 0.01), 2).toFixed(2);
			PricePerGallon = roundNumber((parseInt(step) * 0.01), 2);
		}
	});
	$('val4').addEvent('change', function() {
		mySlider4.set(this.value*100);
	});
});

