
// jag_calculator - calculates savings (both monetary and environmental)

var base_swcost = 250000;
var base_hwcost = 60000;
var base_hwcost_jag = 6500;
var base_watts = 10673;
var base_watts_jag = 641;
var base_years = 3;
var jag_base = 50000;
var jag_lbs = 7524;
var jag_kgs = 3413;

function calculate_savings(server_count) {

	var calc_num_svrs = server_count;

	var calc_num_svrs_jag = 1;

	var calc_license = 		(calc_num_svrs * base_swcost);
	var calc_license_jag = 		(calc_num_svrs * jag_base);
	var calc_support = 		(0.2 * calc_license);
	var calc_support_jag = 		(0.2 * calc_license_jag);
	var calc_hwcost = 		(calc_num_svrs * base_hwcost);
	var calc_hwcost_jag = 		(calc_num_svrs * base_hwcost_jag);
	var calc_watts = 		(calc_num_svrs * base_watts);
	var calc_kwh = 			((calc_num_svrs * base_watts * 8760)/1000);
	var calc_kwh_jag = 		((calc_num_svrs * base_watts_jag * 8760)/1000);
	var calc_electricity = 		(calc_kwh * 10.77) / 100;
	var calc_electricity_jag = 	(calc_kwh_jag * 10.77) / 100;
	var calc_total_cost_jag = 	(calc_support_jag * base_years) + (calc_num_svrs_jag * jag_base) + calc_hwcost_jag + (calc_electricity_jag * base_years);
	var calc_total_cost = 		(calc_support * base_years) + (calc_num_svrs * base_swcost) + calc_hwcost + (calc_electricity * base_years);
	var calc_savings = 		(calc_total_cost - calc_total_cost_jag);

	var calc_lbs = 			(calc_kwh * 1.34);
	var calc_kgs = 			(calc_lbs * 0.453);
	var calc_lbs_reduced = 		(calc_lbs - jag_lbs);
	var calc_kgs_reduced = 		(calc_kgs - jag_kgs);
	var calc_cars = 		(calc_lbs_reduced/4438) / 2;
	var calc_trees = 		(calc_cars * 10);

	getDOMObject('calc_license').innerHTML = roundNumber(calc_license, 2);
	getDOMObject('calc_license_jag').innerHTML = roundNumber(calc_license_jag, 2);
	getDOMObject('calc_support_jag').innerHTML = roundNumber(calc_support_jag, 2);
	getDOMObject('calc_support').innerHTML = roundNumber(calc_support, 2);
	getDOMObject('calc_hwcost').innerHTML = roundNumber(calc_hwcost, 2);
	getDOMObject('calc_watts').innerHTML = roundNumber(calc_watts, 2);;
	getDOMObject('calc_kwh').innerHTML = roundNumber(calc_kwh, 2);;
	getDOMObject('calc_num_svrs').innerHTML = roundNumber(calc_num_svrs, 2);;
	getDOMObject('calc_electricity').innerHTML = roundNumber(calc_electricity, 2);;
	getDOMObject('calc_total_cost').innerHTML = roundNumber(calc_total_cost, 2);;
	getDOMObject('calc_total_cost_jag').innerHTML = roundNumber(calc_total_cost_jag, 2);;
	getDOMObject('calc_savings').innerHTML = roundNumber(calc_savings, 2);;

	getDOMObject('calc_lbs').innerHTML = roundNumber(calc_lbs, 2);;
	getDOMObject('calc_kgs').innerHTML = roundNumber(calc_kgs, 2);;
	getDOMObject('calc_lbs_reduced').innerHTML = roundNumber(calc_lbs_reduced, 2);;
	getDOMObject('calc_kgs_reduced').innerHTML = roundNumber(calc_kgs_reduced, 2);;
	getDOMObject('calc_cars').innerHTML = roundNumber(calc_cars, 0);;
	getDOMObject('calc_trees').innerHTML = roundNumber(calc_trees, 0);;


}

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 roundNumber(rnum, rlength) { // Arguments: number to round, number of decimal places
  var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
  return addCommas(newnumber);
}