function calculate_loads(proceed,room,row,cell)
{
	var acload	= document.getElementById("ws0-" + room + "-" + row);
	var watt	= document.getElementById("ws1-" + room + "-" + row);
	var hours	= document.getElementById("ws2-" + room + "-" + row);
	var ova	= document.getElementById("ws3-" + room + "-" + row);
	var ovb	= document.getElementById("ws4-" + room + "-" + row);
	var ovc	= document.getElementById("ws5-" + room + "-" + row);

	var mth_days = 30.42;
	var kWh = 1000;
	var months = 12;

//	if (days.value > 7)
//	{
//		alert('There are only 7 days in a week :)');
//		days.value = 7;
//	}
	if (hours.value > 24)
	{
		alert('There are only 24 hours in a day!');
		hours.value = 24;
	}
	if (proceed)
	{
		var total_wd = 0;
//		total = watt.value * hours.value * days.value;
		total_wd = watt.value * hours.value;
		var calcValue_a = new Number(total_wd);		
		ova.value=calcValue_a.toFixed(0);

		var total_wm = 0;
		total_wm = (watt.value * hours.value * mth_days) / kWh;
		var calcValue_b = new Number(total_wm);		
		ovb.value=calcValue_b.toFixed(0);

		var total_wy = 0;
		total_wy = ((watt.value * hours.value * mth_days) / kWh) * months;
		var calcValue_c = new Number(total_wy);		
		ovc.value=calcValue_c.toFixed(0);

		calculate_room_totals(room);
	} 
	else
	{
		ova.value = '0';
		ovb.value = '0';
		ovc.value = '0';
	}
}
// end function : calculate_loads
	
function calculate_room_totals(room)
{
//	code values per room
//	0 = kitchen
//	1 = living room
//	2 = bedroom(s)
//	3 = bathroom
//	4 = study/den
//	5 = infrastructure/services
//	6 = hobby/garage/workshop
//	7 = misc
//

	var sta = document.getElementById('st0-' + room);
	var stb = document.getElementById('st1-' + room);
	var stc = document.getElementById('st2-' + room);
 
//	calculate sub-total watts per day
//	sta = '0';
	var st_wd  ='0';
	var tmp_wd;
	for (i=0; i < 10; ++i)
	{
		tmp_wd = document.getElementById('ws3-' + room + '-' + i).value;
		st_wd = +st_wd + + tmp_wd;
	}
	sta.value = parseInt(st_wd);


//	calculate sub-total of monthly kWh
	stb.value = '0';
	var st_mw  ='0';
	var tmp_mw;
	for (i=0; i < 10; ++i)
	{
		tmp_mw = document.getElementById('ws4-' + room + '-' + i).value;
		st_mw = +st_mw + + tmp_mw;
	}
	stb.value = parseInt(st_mw);

//	calculate sub-total of annual kWh
	stc.value = '0';
	var st_aw  ='0';
	var tmp_aw;
	for (i=0; i < 10; ++i)
	{
		tmp_aw = document.getElementById('ws5-' + room + '-' + i).value;
		st_aw = +st_aw + + tmp_aw;
	}
	stc.value = parseInt(st_aw);

	calculate_totals();

}
// end function : calculate_room_totals

function calculate_totals()
{
	var ta = document.getElementById('total_a');
	var tb = document.getElementById('total_b');
	var tc = document.getElementById('total_c');

//	calculate total watts per day
	ta.value = '0';
	var t_wd  ='0';
	var tmp_wd;
	for (i=0; i < 8; ++i)
	{
		tmp_wd = document.getElementById('st0-' + i).value;
		t_wd = +t_wd + + tmp_wd;
	}
	ta.value = parseInt(t_wd);

//	calculate total of monthly kWh
	tb.value = '0';
	var t_mw  ='0';
	var tmp_mw;
	for (i=0; i < 8; ++i)
	{
		tmp_mw = document.getElementById('st1-' + i).value;
		t_mw = +t_mw + + tmp_mw;
	}
	tb.value = parseInt(t_mw);

//	calculate total of annual kWh
	tc.value = '0';
	var t_aw  ='0';
	var tmp_aw;
	for (i=0; i < 8; ++i)
	{
		tmp_aw = document.getElementById('st2-' + i).value;
		t_aw = +t_aw + + tmp_aw;
	}
	tc.value = parseInt(t_aw);

	summary_calcs();
}
// end function : calculate_totals


function summary_calcs()
{
//	input values...
	var pk = document.getElementById('price_kwh').value;
	var svt = document.getElementById('sys_volt').value;
	var inv = document.getElementById('inv_ineff').value;
	var twd = document.getElementById('total_a').value;
	var tkwm = document.getElementById('total_b').value;
	var tkwy = document.getElementById('total_c').value;

//	output values...
	var ahr = document.getElementById('amp_hour');
	var ac = document.getElementById('ann_cost');
	var ad = document.getElementById('ah_day');

//	calculate cost of annual kWh
	var tmp_kwhy = tkwy * pk;
	ac.value = "$" + tmp_kwhy.toFixed(2);

//	calculate required AH/day
	var tmp_ahr = twd / svt;
	ahr.value = tmp_ahr.toFixed(0);

//	calculate required AH/day taking inverter inefficiency
	var tmp_ad = tmp_ahr + (tmp_ahr * (1 - inv));;
	ad.value = tmp_ad.toFixed(0);
}
// end function : summary_calcs
