var utility1 = new Array();
var utility2 = new Array();
var utility3 = new Array();
var utility4 = new Array();

var pge1 = new Array();
var pge2 = new Array();
var pge3 = new Array();

var sce1 = new Array();
var sce2 = new Array();
var sce3 = new Array();

var billAmount = new Array();

var systemsize1 = new Array();
var systemsize2 = new Array();
var systemsize3 = new Array();
var systemsize4 = new Array();

var utilitySavings11 = new Array();
var utilitySavings12 = new Array();

utility1[1] = "PG&E";
utility1[2] = "SCE";
utility1[3] = "APU";
utility1[4] = "LADWP";
utility1[5] = "Other";

utility2[1] = "CP&L";
utility2[2] = "Other";

utility3[1] = "PSE&G";
utility3[2] = "JCP&L";
utility3[3] = "Other";

utility4[1] = "ConEd";
utility4[2] = "Other";

billAmount[1] = 80;
billAmount[2] = 100;
billAmount[3] = 120;
billAmount[4] = 140;
billAmount[5] = 160;
billAmount[6] = 200;
billAmount[7] = 300;
billAmount[8] = 400;

pge1[1] = 0.148;
pge1[2] = 0.175;
pge1[3] = 0.200;
pge1[4] = 0.220;
pge1[5] = 0.246;
pge1[6] = 0.278;
pge1[7] = 0.330;
pge1[8] = 0.353;

pge2[1] = 0.135;
pge2[2] = 0.153;
pge2[3] = 0.172;
pge2[4] = 0.189;
pge2[5] = 0.209;
pge2[6] = 0.243;
pge2[7] = 0.301;
pge2[8] = 0.339;

pge3[1] = 0.132;
pge3[2] = 0.144;
pge3[3] = 0.157;
pge3[4] = 0.170;
pge3[5] = 0.185;
pge3[6] = 0.213;
pge3[7] = 0.272;
pge3[8] = 0.317;

sce1[1] = 0.160;
sce1[2] = 0.192;
sce1[3] = 0.218;
sce1[4] = 0.247;
sce1[5] = 0.270;
sce1[6] = 0.305;
sce1[7] = 0.352;
sce1[8] = 0.361;

sce2[1] = 0.136;
sce2[2] = 0.159;
sce2[3] = 0.178;
sce2[4] = 0.200;
sce2[5] = 0.220;
sce2[6] = 0.259;
sce2[7] = 0.325;
sce2[8] = 0.350;

sce3[1] = 0.132;
sce3[2] = 0.146;
sce3[3] = 0.159;
sce3[4] = 0.175;
sce3[5] = 0.190;
sce3[6] = 0.220;
sce3[7] = 0.292;
sce3[8] = 0.328;

utilitySavings11 = pge1;
utilitySavings12 = sce1;

utilitySavings13 = 0.1;
utilitySavings14 = 0.1;
utilitySavings15 = 0.1;
utilitySavings21 = 0.14;
utilitySavings22 = 0.14;
utilitySavings31 = 0.16;
utilitySavings32 = 0.16;
utilitySavings33 = 0.16;
utilitySavings41 = 0.18;
utilitySavings42 = 0.18;

systemsize1[1] = 3.0;
systemsize1[2] = 5.0;
systemsize1[3] = 7.0;

systemsize2[1] = 3.0;
systemsize2[2] = 5.5;

systemsize3[1] = 3.0;
systemsize3[2] = 5.0;
systemsize3[3] = 7.0;

systemsize4[1] = 3.0;
systemsize4[2] = 5.0;
systemsize4[3] = 7.0;

function clearOptions(select)
{
	select.options.length = 0;
}

function buildOptions(select,options,isDecimal)
{
	for(var i = 0; i < options.length-1; i++)
	{
		if(isDecimal != true)
			select.options[i] = new Option(''+options[i+1],''+(i+1));
		else
			select.options[i] = new Option(''+options[i+1].toFixed(1),''+(i+1));
	}
}

function resetDependants(index)
{
	var form = document.forms['CalculatorForm'];

	var utility = form.elements['Utility'];
	var systemsize = form.elements['SystemSize'];

	clearOptions(utility);
	clearOptions(systemsize);

	if(index == 1)
	{
		buildOptions(utility,utility1,false);
		buildOptions(systemsize,systemsize1,true);
	}
	else if(index == 2)
	{
		buildOptions(utility,utility2,false);
		buildOptions(systemsize,systemsize2,true);
	}
	else if(index == 3)
	{
		buildOptions(utility,utility3,false);
		buildOptions(systemsize,systemsize3,true);
	}
	else if(index == 4)
	{
		buildOptions(utility,utility4,false);
		buildOptions(systemsize,systemsize4,true);
	}
}

function resetState()
{
	var form = document.forms['CalculatorForm'];

	var state = form.elements['State'];

	var selectedIndex = state.options.selectedIndex;
	var selectedState = state.options[selectedIndex].value;

	resetDependants(selectedState);
}

function resetSavings()
{
	var form = document.forms['CalculatorForm'];

	var state = form.elements['State'];
	var systemsize = form.elements['SystemSize'];

	var selectedIndex = state.options.selectedIndex;
	var selectedState = state.options[selectedIndex].value;

	selectedIndex = systemsize.options.selectedIndex;
	var selectedSize = systemsize.options[selectedIndex].value;

	if(selectedState == 1) // CA
	{
		if(selectedSize == 1)
		{
			utilitySavings11 = pge1;
			utilitySavings12 = sce1;
		}
		else if(selectedSize == 2)
		{
			utilitySavings11 = pge2;
			utilitySavings12 = sce2;
		}
		else if(selectedSize == 3)
		{
			utilitySavings11 = pge3;
			utilitySavings12 = sce3;
		}
	}
}

function recalculate()
{
	var form = document.forms['CalculatorForm'];

	var state = form.elements['State'];
	var utility = form.elements['Utility'];
	var billingAmount = form.elements['BillAmount'];
	var systemSize = form.elements['SystemSize'];

	var selectedIndex = state.options.selectedIndex;
	var selectedState = state.options[selectedIndex].value;

	selectedIndex = utility.options.selectedIndex;
	var selectedUtility = utility.options[selectedIndex].value;

	selectedIndex = billingAmount.options.selectedIndex;
	var selectedAmount = billingAmount.options[selectedIndex].value;
	var dollarAmount = billAmount[selectedAmount];

	selectedIndex = systemSize.options.selectedIndex;
	var selectedSize = systemSize.options[selectedIndex].text;

	var savingsConstant = 0.00;

	var kWhPerMon = 100;
	if(selectedState == 1)
		kWhPerMon = 121;

	var kWhPV = kWhPerMon*selectedSize;

	if(selectedState == 1 && (selectedUtility == 1 || selectedUtility == 2))
	{
		if(selectedUtility == 1)
		{
			savingsConstant = utilitySavings11[selectedAmount];
		}
		else if(selectedUtility == 2)
		{
			savingsConstant = utilitySavings12[selectedAmount];
		}
	}
	else if(selectedState == 1 && (selectedUtility == 3 || selectedUtility == 4 || selectedUtility == 5))
	{
		savingsConstant = utilitySavings13;
	}
	else if(selectedState == 2)
	{
		savingsConstant = utilitySavings21;
	}
	else if(selectedState == 3)
	{
		savingsConstant = utilitySavings31;
	}
	else if(selectedState == 4)
	{
		savingsConstant = utilitySavings41;
	}

	var amountSaved = savingsConstant*kWhPV;

	amountSaved = amountSaved.toFixed(2);

	var displayArea = document.getElementById("AmountSaved");

	if(amountSaved > dollarAmount)
	{
		displayArea.innerHTML = "<strong><font color='#FF0000'>PV system too big. <br>Choose a smaller size.</font></strong>";
	}
	else
	{
		displayArea.innerHTML = '<strong>$'+amountSaved+'</strong>';
	}
}

