//copyright 2006 LexGWAC
//conversions ref a=http://www.eia.doe.gov/oiaf/1605/factors.html
var kwh2Lbs = 1.059; //new england - http://www.eia.doe.gov/cneaf/electricity/page/co2_report/co2report.htm
var therms2Lbs = 11.708;
var galsOil2Lbs = 22.384;
var galsGas2Lbs = 19.564;
var galsDiesel2Lbs = 22.384;

//user lbs
var kwhLbs=0;
var thermsLbs=0;
var oilLbs=0;

//for energy audit
var MBTU2therm = 10.002;
var MBTU2kwh = 293.071;
var MBTU2GalOil = 7.050;
var oilEfficiency = .8;
var gasEfficiency = .85;

//2001 New England household averages MBTU
var AveSpaceHeatMbtu = 71.3;
var AveACMbtu = 2.7;
var AveHotWaterMbtu = 19.7;
//var AveRefrigMbtu = 4.1; //need this?
//var AveNonRefrigElectricMbtu = 19.1; //complements AveRefrig
var AveOtherElectricMbtu = 23.2; //no heat or AC, contains frig

//differentiate AC type for audit purposes
var wholeHouseACkwh = 1595;
var wholeHouseACMbtu = wholeHouseACkwh / MBTU2kwh;
var windowACkwh = 552;
var windowACMbtu = windowACkwh / MBTU2kwh;

//audit state variables
var AuditSpaceHeatLbs = 0;
var AuditHotWaterLbs = 0;
var AuditACLbs = 0;
var AuditOtherElectricLbs = 0;

//ave state variables
var AveSpaceHeatLbs = 0;
var AveACLbs = 0;
var AveHotWaterLbs = 0;
var AveRefrigLbs = 0;
var AveNonRefrigElectricLbs = 0;
var AveOtherElectricLbs = 0;

//confirm these
var degHeatReducFactor = .04; //good
var degHeatSetbackFactor = .013; //guess for 8 hour setback

//mitigation state - renew on reload
var reducedHeatDegrees;
var reducedHeatSetbackDegrees;

//////////////////////////////////////////////////////////////////////////
//auto stuff
var numAutos=0;
var gpm1=0;
var gpm2=0;
var gpm3=0;
var gpm4=0;
var gpm5=0;
var gpm6=0;
var miles1=0;
var miles2=0;
var miles3=0;
var miles4=0;
var miles5=0;
var miles6=0;

function airlineLbs(form)
{
	updateTotalLbs(form);
}

function autoMPG(id,form)
{
//alert("gpm1"+id);
	var m;
	switch(id)
	{
	case 1:
		m = form.auto1MPG.value;
		if(isaNumber(m)==true)
			gpm1 = 1.0/parseFloat(m);
		else
		{
			alert_mpg();
			return;
		}
		//alert("gpm1"+gpm1);
		break;
			
	case 2:
		m = form.auto2MPG.value;
		if(isaNumber(m)==true)
			gpm2 = 1.0/parseFloat(m);
		else
		{
			//alert_mpg();;
			return;
		}
		break;
		
	case 3:
		m = form.auto3MPG.value;
		if(isaNumber(m)==true)
			gpm3 = 1.0/parseFloat(m);
		else
		{
			alert_mpg();
			return;
		}
		break;
			
	case 4:
		m = form.auto4MPG.value;
		if(isaNumber(m)==true)
			gpm4 = 1.0/parseFloat(m);
		else
		{
			alert_mpg();
			return;
		}
		break;
		
	case 5:
		m = form.auto5MPG.value;
		if(isaNumber(m)==true)
			gpm5 = 1.0/parseFloat(m);
		else
		{
			alert_mpg();
			return;
		}
		break;
			
	case 6:
		m = form.auto6MPG.value;
		if(isaNumber(m)==true)
			gpm6 = 1.0/parseFloat(m);
		else
		{
			alert_mpg();
			return;
		}
		break;
		
	}
	updateAutoLbs(form);
	updateTotalLbs(form);
}

function alert_mpg()
{
	alert("miles per gallon value entered is not a valid number");
}

function autoMiles(id,form)
{
	var m;
	switch(id)
	{
	case 1:
		m = form.auto1Miles.value;
		if(isaNumber(m)==true)
			miles1 = parseInt(m);
		else
		{
			alert_miles();
			return;
		}
	
		break;
			
	case 2:
		m = form.auto2Miles.value;
		if(isaNumber(m)==true)
			miles2 = parseFloat(m);
		else
		{
			alert_miles();
			return;
		}
		break;
		
	case 3:
		m = form.auto3Miles.value;
		if(isaNumber(m)==true)
			miles3 = parseFloat(m);
		else
		{
			alert_miles();
			return;
		}
		break;
			
	case 4:
		m = form.auto4miles.value;
		if(isaNumber(m)==true)
			miles4 = parseFloat(m);
		else
		{
			alert_miles();
			return;
		}
		break;
		
	case 5:
		m = form.auto5Miles.value;
		if(isaNumber(m)==true)
			miles5 = 1.0/parseFloat(m);
		else
		{
			alert_miles();
			return;
		}
		break;
			
	case 6:
		m = form.auto6Miles.value;
		if(isaNumber(m)==true)
			miles6 = 1.0/parseFloat(m);
		else
		{
			alert_miles();
			return;
		}
		break;
		
	}
	updateAutoLbs(form);
	updateTotalLbs(form);
}

function alert_miles()
{
	alert("annual miles per gallon value entered is not a valid number");
}

function updateAutoLbs(form)
{
	var lbs;
	var total=0;
	switch(numAutos)
	{
	case 6:
		lbs = gpm6 * miles6 * galsGas2Lbs;
		if(!isFinite(lbs)) lbs =0;
		total += lbs;
		form.auto6Lbs.value = lbs.toFixed(0);
	case 5:
		lbs = gpm5 * miles5 * galsGas2Lbs;
		if(!isFinite(lbs)) lbs =0;
		total += lbs;
		form.auto5Lbs.value = lbs.toFixed(0);
	case 4:
		lbs = gpm4 * miles4 * galsGas2Lbs;
		if(!isFinite(lbs)) lbs =0;
		total += lbs;
		form.auto4Lbs.value = lbs.toFixed(0);
	case 3:
		lbs = gpm3 * miles3 * galsGas2Lbs;
		if(!isFinite(lbs)) lbs =0;
		total += lbs;
		form.auto3Lbs.value = lbs.toFixed(0);
	case 2:
		lbs = gpm2 * miles2 * galsGas2Lbs;
		if(!isFinite(lbs)) lbs =0;
		total += lbs;
		form.auto2Lbs.value = lbs.toFixed(0);
	case 1:
		lbs = gpm1 * miles1 * galsGas2Lbs;
		if(!isFinite(lbs)) lbs =0;
		total += lbs;
		form.auto1Lbs.value = lbs.toFixed(0);	
	}
	form.totalAutoCO2.value = total.toFixed(0);
	form.totalAutoCO2Too.value = total.toFixed(0);
}

function setAutos(form)
{
	var autos;
	autos =form.numberOfAutos.value;
	
	if(isaNumber(autos)==true)
	{
	//alert(autos);
		form.auto6Lbs.disabled=true;
		form.auto5Lbs.disabled=true;
		form.auto4Lbs.disabled=true;
		form.auto3Lbs.disabled=true;
		form.auto2Lbs.disabled=true;
		form.auto1Lbs.disabled=true;
		
		form.auto6MPG.disabled=true;
		form.auto5MPG.disabled=true;
		form.auto4MPG.disabled=true;
		form.auto3MPG.disabled=true;
		form.auto2MPG.disabled=true;
		form.auto1MPG.disabled=true;
		
		form.auto6Miles.disabled=true;
		form.auto5Miles.disabled=true;
		form.auto4Miles.disabled=true;
		form.auto3Miles.disabled=true;
		form.auto2Miles.disabled=true;
		form.auto1Miles.disabled=true;
		
		
		
		
		
		numAutos = parseInt(autos);
		switch(autos)
		{
		case '6':
			form.auto6Lbs.disabled=false;
			form.auto6MPG.disabled=false;
			form.auto6Miles.disabled=false
			if(form.auto6MPG.value=="NA") form.auto6MPG.value=0;
			if(form.auto6Miles.value=="NA") form.auto6Miles.value=0;
			form.auto6Lbs.value=0;
		case '5':
			form.auto5Lbs.disabled=false;
			form.auto5MPG.disabled=false;
			form.auto5Miles.disabled=false
			if(form.auto5MPG.value=="NA") form.auto5MPG.value=0;
			if(form.auto5Miles.value=="NA") form.auto5Miles.value=0;
			form.auto5Lbs.value=0;
		case '4':
			form.auto4Lbs.disabled=false;
			form.auto4MPG.disabled=false;
			form.auto4Miles.disabled=false
			if(form.auto4MPG.value=="NA") form.auto4MPG.value=0;
			if(form.auto4Miles.value=="NA") form.auto4Miles.value=0;
			form.auto4Lbs.value=0;
		case '3':
			form.auto3Lbs.disabled=false;
			form.auto3MPG.disabled=false;
			form.auto3Miles.disabled=false
			if(form.auto3MPG.value=="NA") form.auto3MPG.value=0;
			if(form.auto3Miles.value=="NA") form.auto3Miles.value=0;
			form.auto3Lbs.value=0;
			
		case '2':
			form.auto2Lbs.disabled=false;
			form.auto2MPG.disabled=false;
			form.auto2Miles.disabled=false
			if(form.auto2MPG.value=='NA') form.auto2MPG.value=0;
			if(form.auto2Miles.value=='NA') form.auto2Miles.value=0;
			form.auto2Lbs.value=0;
		case '1':
			form.auto1Lbs.disabled=false;
			form.auto1MPG.disabled=false;
			form.auto1Miles.disabled=false
			if(form.auto1MPG.value=="NA") form.auto1MPG.value=0;
			if(form.auto1Miles.value=="NA") form.auto1Miles.value=0;
			form.auto1Lbs.value=0;
		}
			
	}
	else{
		alert ('Number of automobiles entered not a valid number: '+autos+".  Re-enter a correct value.");
		form.numberOfAutos.value = 0;
	}
}


function householdAudit(form)
{
	var denom;
	
	if(spaceHeatRenewable) AuditSpaceHeatLbs = 0;
	if(hotWaterRenewable) AuditHotWaterLbs = 0;
//divide oil
	if(spaceHeatOil&&hotWaterOil)
	{
		denom = AveSpaceHeatMbtu + AveHotWaterMbtu;
		AuditSpaceHeatLbs = oilLbs * AveSpaceHeatMbtu/denom;
		AuditHotWaterLbs = oilLbs - AuditSpaceHeatLbs;
	}
	else if(spaceHeatOil) //only space heat oil
		AuditSpaceHeatLbs = oilLbs;
	
	else if(hotWaterOil) //only hot water oil
		AuditHotWaterLbs = oilLbs;
	
	
//divide gas
	if(spaceHeatGas&&hotWaterGas)
	{
		denom = AveSpaceHeatMbtu + AveHotWaterMbtu;
		AuditSpaceHeatLbs = thermsLbs * AveSpaceHeatMbtu/denom;
		AuditHotWaterLbs = thermsLbs - AuditSpaceHeatLbs;
	}
	else if(spaceHeatGas) //only space heat gas
		AuditSpaceHeatLbs = thermsLbs;
	
	else if(hotWaterGas) //only hot water gas
		AuditHotWaterLbs = thermsLbs;
	
//divide electric
	if(spaceHeatElectric)
	{
		if(hotWaterElectric) //all electric
		{
			denom = AveSpaceHeatMbtu + AveHotWaterMbtu + AveOtherElectricMbtu;
			if(noAC)
			{
				AuditSpaceHeatLbs = kwhLbs * AveSpaceHeatMbtu / denom;
				AuditHotWaterLbs = kwhLbs * AveHotWaterMbtu / denom;
				AuditOtherElectricLbs = kwhLbs * AveOtherElectricMbtu / denom;
				AuditACLbs = 0;
			}
			else
			{
				if(wholeHouseAC)
				{
					denom += wholeHouseACMbtu;
					AuditACLbs = kwhLbs * wholeHouseACMbtu / denom;
				}
				else if(windowAC)
				{
					denom += windowACMbtu;
					AuditACLbs = kwhLbs * windowACMbtu / denom;
				}
				AuditSpaceHeatLbs = kwhLbs * AveSpaceHeatMbtu / denom;
				AuditHotWaterLbs = kwhLbs * AveHotWaterMbtu / denom;
				AuditOtherElectricLbs = kwhLbs * AveOtherElectricMbtu / denom;
			}
		}
		else	//space heat electric and hot water not electric
		{
			denom = AveSpaceHeatMbtu + AveOtherElectricMbtu;
			if(noAC)
			{
				AuditSpaceHeatLbs = kwhLbs * AveSpaceHeatMbtu / denom;
				AuditOtherElectricLbs = kwhLbs * AveOtherElectricMbtu / denom;
				AuditACLbs = 0;
			}
			else
			{
				if(wholeHouseAC)
				{
					denom += wholeHouseACMbtu;
					AuditACLbs = kwhLbs * wholeHouseACMbtu / denom;
				}
				else if(windowAC)
				{
					denom += windowACMbtu;
					AuditACLbs = kwhLbs * windowACMbtu / denom;
				}
				AuditSpaceHeatLbs = kwhLbs * AveSpaceHeatMbtu / denom;
				AuditOtherElectricLbs = kwhLbs * AveOtherElectricMbtu / denom;
			}
		}
	}
	else	//space heat not electric
	{
		if(hotWaterElectric)
		{
			denom = AveHotWaterMbtu + AveOtherElectricMbtu;
			if(noAC)
			{
				AuditHotWaterLbs = kwhLbs * AveHotWaterMbtu / denom;
				AuditOtherElectricLbs = kwhLbs * AveOtherElectricMbtu / denom;
				AuditACLbs = 0;
			}
			else
			{
				if(wholeHouseAC)
				{
					denom += wholeHouseACMbtu;
					AuditACLbs = kwhLbs * wholeHouseACMbtu / denom;
				}
				else if(windowAC)
				{
					denom += windowACMbtu;
					AuditACLbs = kwhLbs * windowACMbtu / denom;
				}
				AuditHotWaterLbs = kwhLbs * AveHotWaterMbtu / denom;
				AuditOtherElectricLbs = kwhLbs * AveOtherElectricMbtu / denom;
			}
		}	
		else	//space heat not electric and hot water not electric
		{
			denom = AveOtherElectricMbtu;
			if(noAC)
			{
			//alert("none2");
				AuditOtherElectricLbs = kwhLbs;
				AuditACLbs = 0;
			}
			else
			{
				if(wholeHouseAC)
				{
				//alert("whole2");
					denom += wholeHouseACMbtu;
					AuditACLbs = kwhLbs * wholeHouseACMbtu / denom;
				}
				else if(windowAC)
				{
				//alert("window2");
					denom += windowACMbtu;
					AuditACLbs = kwhLbs * windowACMbtu / denom;
				}
				AuditOtherElectricLbs = kwhLbs * AveOtherElectricMbtu / denom;
			}	
		}
	}
	

	form.spaceHeatAudit.value = AuditSpaceHeatLbs.toFixed(0);
	form.hotWaterAudit.value = AuditHotWaterLbs.toFixed(0);
	form.ACAudit.value = AuditACLbs.toFixed(0);
	form.otherElectricAudit.value = AuditOtherElectricLbs.toFixed(0);
	//update averages too
	aveAudit(form);
}

/////////////////////////////////////////////////////////////////

//average household CO2 with this energy mix
function aveAudit(form)
{
	//space heat - scale to fuel type
	if(spaceHeatElectric)
		AveSpaceHeatLbs = AveSpaceHeatMbtu * MBTU2kwh * kwh2Lbs;
	else if(spaceHeatGas)
		AveSpaceHeatLbs = AveSpaceHeatMbtu * (MBTU2therm / gasEfficiency) * therms2Lbs;
	else //this will be oil or in case of renewable will use oil for NE calculation
		AveSpaceHeatLbs = AveSpaceHeatMbtu * (MBTU2GalOil / oilEfficiency) * galsOil2Lbs;
		
		
	//hot water - scale to fuel type, default to oil for none or renewable
	if(hotWaterElectric)
		AveHotWaterLbs = AveHotWaterMbtu * MBTU2kwh * kwh2Lbs;
	else if(hotWaterGas)
		AveHotWaterLbs = AveHotWaterMbtu * (MBTU2therm / gasEfficiency) * therms2Lbs;
	else //this will be oil or in case of renewable will use oil for NE calculation
		AveHotWaterLbs = AveHotWaterMbtu * (MBTU2GalOil / oilEfficiency) * galsOil2Lbs;
	
	
	//AC - use ave ac value scaled to electric lbs
	AveACLbs = AveACMbtu * MBTU2kwh * kwh2Lbs;
	
	
	//other electrical
	AveOtherElectricLbs = AveOtherElectricMbtu * MBTU2kwh * kwh2Lbs;
	
	
	form.aveSpaceHeatAudit.value = AveSpaceHeatLbs.toFixed(0);
	form.aveHotWaterAudit.value = AveHotWaterLbs.toFixed(0);
	form.aveACAudit.value = AveACLbs.toFixed(0);
	form.aveOtherElectricAudit.value = AveOtherElectricLbs.toFixed(0);	
}
/////////////////////////////////////////////////////////////////

function isaNumber(string)
	//checks to make sure field isn't blank or contains non-numeric characters
{
	if (string.length == 0)
        return false;

	for (var i=0;i < string.length;i++)
        if ((string.substring(i,i+1) < '0') || (string.substring(i,i+1) > '9'))
        	if(string.substring(i,i+1) != '.')
                	return false;

	return true;
} // end function isaNumber(string)

/////////////////////////////////////////////////////////////////

//state variables - init from form
var spaceHeatElectric = false;
var spaceHeatGas = false;
var spaceHeatOil=false;
var spaceHeatRenewable=false;

function setSpaceHeat(fuel,form)
{
	spaceHeatElectric = false;
	spaceHeatGas = false;
	spaceHeatOil = false;
	spaceHeatRenewable = false;
	
	switch(fuel) {
	case "Electric":
		spaceHeatElectric = true;
		break;
	case "Gas":
		spaceHeatGas = true;
		break;
	case "Oil":
		spaceHeatOil = true;
		break;
	case "Renewable":
		spaceHeatRenewable = true;
		break;
	default:
		break;	
	}
	
	//alert("spaceHeatElectric"+spaceHeatElectric);
	//setFuels(form);
	//setOil(form);
	setGas(form);
	setOil(form);
}

var hotWaterElectric=false;
var hotWaterGas=false;
var hotWaterOil=false;
var hotWaterRenewable=false;

function setHotWater(fuel,form)
{
	hotWaterElectric = false;
	hotWaterGas = false;
	hotWaterOil = false;
	hotWaterRenewable = false;
	switch(fuel) {
	case "Electric":
		hotWaterElectric = true;
		break;
	case "Gas":
		hotWaterGas = true;
		break;
	case "Oil":
		hotWaterOil = true;
		break;
	case "Renewable":
		hotWaterRenewable = true;
		break;
	default:
		break;	
	}
	//setFuels(form);
	setOil(form);
	setGas(form);
}


var cookingElectric=false;
var cookingGas=false;

function setCooking(fuel,form)
{
	cookingElectric = false;
	cookingGas = false;
	switch(fuel) {
	case "Electric":
		cookingElectric = true;
		break;
	case "Gas":
		cookingGas = true;
		break;
	default:
		break;	
	}
	
	setGas(form);
}


var dryerElectric=false;
var dryerGas=false;
var dryerNone=false;

function setDryer(fuel,form)
{
	dryerElectric = false;
	dryerGas = false;
	dryerNone = false;
	
	switch(fuel) {
	case "Electric":
		dryerElectric = true;
		break;
	case "Gas":
		dryerGas = true;
		break;
	case "None":
		dryerNone = true;
		break;
	default:
		break;	
	}
	
	setGas(form);
}

var wholeHouseAC=false;
var windowAC=false;
var noAC=false;

function setAC(ac_type,form)
{
	wholeHouseAC = false;
	windowAC = noAC = false;

	switch(ac_type) {
	case "WholeHouse":
		wholeHouseAC = true;
		break;
	case "Window":
		windowAC = true;
		break;
	case "None":
		noAC = true;
		break;
	default:
		break;	
	}
}


function disableNaturalGas(form)
{
	form.annualTherms.disabled=true;
	form.lbsCo2Therms.disabled=true;
	form.percentCo2Therms.disabled=true;
	//annualThermsLast = form.annualTherms.value;
	form.annualTherms.value=0;
	form.lbsCo2Therms.value=0;
	form.percentCo2Therms.value=0;
	thermsLbs = 0;
	householdAudit(form);
}

function enableNaturalGas(form)
{
	form.annualTherms.disabled=false;
	form.lbsCo2Therms.disabled=false;	
	form.percentCo2Therms.disabled=false;
	//form.annualTherms.value=annualThermsLast;
	calThermsFP(form);
	householdAudit(form);
}

function disableOil(form)
{
	form.annualOil.disabled=true;
	form.lbsCo2Oil.disabled=true;
	form.percentCo2Oil.disabled=true;
	//annualOilLast = NA;
	form.annualOil.value=0;
	form.lbsCo2Oil.value=0;
	form.percentCo2Oil.value=0;
	oilLbs = 0;
}
		
function enableOil(form)
{
	form.annualOil.disabled=false;
	form.lbsCo2Oil.disabled=false;
	form.percentCo2Oil.disabled=false;
	//form.annualOil.value=annualOilLast;
	calOilFP(form);
	householdAudit(form);
}

function setOil(form)
{
	if((spaceHeatOil)||(hotWaterOil))
		enableOil(form);
	else
		disableOil(form);
	//return;
}
function setGas(form)		
{
	if((spaceHeatGas==true)||(hotWaterGas==true)||(dryerGas==true)||(cookingGas==true))
		enableNaturalGas(form);
	else
		disableNaturalGas(form);
	//return;
}



///////////////////////////////////////////////////////////////

var annualKwhLast=6000;
var annualThermsLast=0;
var annualOilLast=0;
function calHouseHoldLbs(form)
{
	var kwhlbs = parseInt(form.lbsCo2Kwh.value);
	var thermslbs = parseInt(form.lbsCo2Therms.value);
	var oillbs = parseInt(form.lbsCo2Oil.value);
	totalHouseHoldLbs = kwhlbs + thermslbs + oillbs;
	return totalHouseHoldLbs;		
}

function updateHouseholdLbs(form)
{
	


}

function updateTotalLbs(form)
{
	var totalHouse = parseInt(form.totalHouseholdCO2.value);
	var totalAuto = parseInt(form.totalAutoCO2.value);
	var totalAirline = parseInt(form.totalAirlineCO2.value);
	form.totalHouseholdCO2Too.value = totalHouse;
	form.totalAutoCO2Too.value = totalAuto;
	form.totalAirlineCO2Too.value = totalAirline;
	//alert(totalAirline);
	
	var total = totalHouse + totalAuto + totalAirline;
	var pc = calPerCent(totalHouse,total);
	if(isNaN(pc)) pc=0;
	form.percentHouseholdCO2.value =pc.toFixed(1);
	pc = calPerCent(totalAuto,total);
	if(isNaN(pc)) pc=0;
	form.percentAutoCO2.value =pc.toFixed(1);
	pc = calPerCent(totalAirline,total);
	if(isNaN(pc)) pc=0;
	form.percentAirlineCO2.value =pc.toFixed(1);
	
	form.totalCO2.value = total;
	var tons = total/2000.;
	form.totalCO2Tons.value = tons.toFixed(2);
	
	
	
}

function calPerCent(part,total)
{
	pc = 100 * part / total;
	return pc;
}

function houseHoldPerCents(form)
{
	var total_lbs = calHouseHoldLbs(form);
	form.totalHouseholdCO2.value = total_lbs.toFixed(0);
	var pc = calPerCent(parseInt(form.lbsCo2Kwh.value),total_lbs);
	if(isNaN(pc)) pc=0;
	form.percentCo2Kwh.value =pc.toFixed(1);
	pc = calPerCent(parseInt(form.lbsCo2Therms.value),total_lbs);
	if(isNaN(pc)) pc=0;
	form.percentCo2Therms.value = pc.toFixed(1);
	pc = calPerCent(parseInt(form.lbsCo2Oil.value),total_lbs);
	if(isNaN(pc)) pc=0;
	form.percentCo2Oil.value = pc.toFixed(1);
	updateTotalLbs(form);
}



//how do I init a calc on default kwh at start of form???
function initLbsCO2Kwh(form)
{

	numAutos = parseInt(form.numberOfAutos.value);
	var m;
	switch(numAutos)
	{
	case 6:
		miles6 = form.auto6Miles.value;
		m = form.auto6MPG.value;
		if(isaNumber(m)==true)
			gpm6 = 1.0/parseFloat(m);
	case 5:
		miles5 = form.auto5Miles.value;
		m = form.auto5MPG.value;
		if(isaNumber(m)==true)
			gpm5 = 1.0/parseFloat(m);
	case 4:
		miles4 = form.auto4Miles.value;
		m = form.auto4MPG.value;
		if(isaNumber(m)==true)
			gpm4 = 1.0/parseFloat(m);
	case 3:
		miles3 = form.auto3Miles.value;
		m = form.auto3MPG.value;
		if(isaNumber(m)==true)
			gpm3 = 1.0/parseFloat(m);
	case 2:
		miles2 = form.auto2Miles.value;
		m = form.auto2MPG.value;
		if(isaNumber(m)==true)
			gpm2 = 1.0/parseFloat(m);
	case 1:
		miles1 = form.auto1Miles.value;
		m = form.auto1MPG.value;
		if(isaNumber(m)==true)
			gpm1 = 1.0/parseFloat(m);
		break;
	}
	
	
	kwh = parseInt(form.annualKwh.value);
	kwhLbs = kwh * kwh2Lbs;
	form.lbsCo2Kwh.value = kwhLbs.toFixed(0);
	var total_lbs = calHouseHoldLbs(form);
	//form.totalHouseholdCO2.value = total_lbs;
	form.totalHouseholdCO2.value = total_lbs.toFixed(0);
	
	
	

	if(form.spaceHeatFuel[0].checked) spaceHeatElectric = true;
	if(form.spaceHeatFuel[1].checked) spaceHeatGas = true;
	if(form.spaceHeatFuel[2].checked) spaceHeatOil = true;
	if(form.spaceHeatFuel[3].checked) spaceHeatRenewable = true;

	if(form.hotWaterFuel[0].checked) hotWaterElectric = true;
	if(form.hotWaterFuel[1].checked) hotWaterGas = true;
	if(form.hotWaterFuel[2].checked) hotWaterOil = true;
	if(form.hotWaterFuel[3].checked) hotWaterRenewable = true;
	
	if(form.dryerFuel[0].checked) dryerElectric = true;
	if(form.dryerFuel[1].checked) dryerGas = true;
	if(form.dryerFuel[2].checked) dryerNone = true;

	if(form.cookingFuel[0].checked) cookingElectric = true;
	if(form.cookingFuel[1].checked) cookingGas = true;
	
	if(form.houseHoldAC[0].checked) wholeHouseAC = true;
	if(form.houseHoldAC[1].checked) windowAC = true;
	if(form.houseHoldAC[2].checked) noAC = true;
	//if(form.houseHoldAC[0].checked) alert("whole");
	//if(form.spaceHeatFuel.checked == true) alert("gas");
	
	setOil(form);
	setGas(form);
	updateTotalLbs(form);
}

function calKwhFP(form)
{
	var annualKwh = form.annualKwh.value;
	
	var kwh;
	
	if(isaNumber(annualKwh)==true)
	{
	kwh = parseInt(annualKwh);
		//form.annualKwh.value = kwh;
		kwhLbs = kwh*kwh2Lbs;
		form.lbsCo2Kwh.value = kwhLbs.toFixed(0);
		houseHoldPerCents(form);
		//var total_lbs = calHouseHoldLbs(form);
		//form.totalHouseholdCO2.value = total_lbs;
		//form.percentCo2Kwh.value = calPerCent(lbs,total_lbs);
	}
	else{
		alert ('Total kilowatt hours entered not a valid number: '+annualKwh+".  Re-enter a correct value.");
		form.annualKwh.value = 0;
		form.lbsCo2Kwh.value = 0;
		kwhLbs = 0;
		form.percentCo2Kwh.value = 0;
		houseHoldPerCents(form);
	}
	householdAudit(form);
}

function calThermsFP(form)
{
	var annualTherms = form.annualTherms.value;
	//alert(annualTherms);
	var therms;
	
	if(isaNumber(annualTherms)==true)
	{
	therms = parseInt(annualTherms);
		//form.annualTherms.value = therms;
		thermsLbs = therms*therms2Lbs;
		form.lbsCo2Therms.value = thermsLbs.toFixed(0);
		houseHoldPerCents(form);
		//var total_lbs = calHouseHoldLbs(form);
		//form.totalHouseholdCO2.value = total_lbs;
		//form.percentCo2Kwh.value = calPerCent(lbs,total_lbs);
	}
	else{
		alert ('Total therms of gas entered not a valid number: '+annualTherms+".  Re-enter a correct value.");
		form.annualTherms.value = 0;
		form.lbsCo2Therms.value = 0;
		thermsLbs = 0;
		form.percentCo2Therms.value = 0;
		houseHoldPerCents(form);
	}
	householdAudit(form);
	
}

function calOilFP(form)
{
	var annualOil = form.annualOil.value;
	
	var oil;
	
	if(isaNumber(annualOil)==true)
	{
		oil = parseInt(annualOil);
		//form.annualOil.value = oil;
		oilLbs = oil*galsOil2Lbs;
		form.lbsCo2Oil.value = oilLbs.toFixed(0);
		houseHoldPerCents(form);
		//var total_lbs = calHouseHoldLbs(form);
		//form.totalHouseholdCO2.value = total_lbs;
		//form.percentCo2Therms.value = calPerCent(lbs,total_lbs);
	}
	else{
		alert ('Total gallons entered not a valid number: '+annualOil+".  Re-enter a correct value.");
		form.annualOil.value = 0;
		form.lbsCo2Oil.value = 0;
		oilLbs = 0;
		form.percentCo2Oil.value = 0;
		houseHoldPerCents(form);
	}
	householdAudit(form);
}


/*
function division(form,main)
	{
	var div = parseInt(form.TotalEmissions.value)
	return (main/div)
	}


function slice(form,string,field){
if ((string.charAt(0)==0) && (string.length>1))      {
 	var goToField=eval("form."+ field)
	goToField.value = string.slice(1)
 	return true}
}
//-----------------------------------------------------------------------------
function outputComma(number) {

 if (number >= 1 || number <= -1) // don't add commas to fractional amounts
 {

 var wholeNum;
 var fractionNum;
 var position = 0;

 // convert to string
 number = '' + number;

 if ((position = number.indexOf(".",0)) != -1) {
	 wholeNum = number.substring(0,position);
	 fractionNum = "." + number.substring(position + 1,number.length);
 }
 else {
	 wholeNum = number;
	 fractionNum = "";
 }

 if ((wholeNum.length > 3) && (wholeNum > 0)) {
	 var mod = wholeNum.length%3;
	 var output = (mod > 0 ? (wholeNum.substring(0,mod)) : '');
	 for (i=0 ; i < Math.floor(wholeNum.length/3) ; i++) {
		 if ((mod ==0) && (i ==0))
			 output+= wholeNum.substring(mod+3*i,mod+3*i+3);
		 else
			 output+= ',' + wholeNum.substring(mod+3*i,mod+3*i+3);
	 }
 	 return output + fractionNum;
 }
 else return number;

 }
 else
return number; // do nothing - number is <= 1 or >= -1

} // function outputComma(number)


function testpercentage(form,percent) {
if (percent > 100) {
 alert("You have entered an incorrect value greater than 100.  Please try again.")
 form.percentRecyclables.selected
 return false
}
else {
global(this.form)
}
}
*/

//old code
/*
function setSpaceHeatGas(form)
{
	spaceHeatGas = true;
	spaceHeatElectric = false;
	spaceHeatOil = false;
	spaceHeatRenewable = false;
	//alert("spaceHeatElectric = " +spaceHeatElectric+" spaceHeatGas = "+spaceHeatGas);
	//setFuels(form);
	//setOil(form);
	setGas(form);
	setOil(form);
}
function setSpaceHeatOil(form)
{
	spaceHeatOil = true;
	spaceHeatGas = false;
	spaceHeatElectric = false;
	spaceHeatRenewable = false;
	//alert("spaceHeatOil"+spaceHeatOil);
	//setFuels(form);
	//setOil(form);
	setGas(form);
	setOil(form);
}
function setSpaceHeatRenewable(form)
{
	spaceHeatRenewable = true;
	spaceHeatGas = false;
	spaceHeatOil = false;
	spaceHeatElectric = false;
	//setFuels(form);
	setOil(form);
	setGas(form);
}
*/

/*
function setHotWaterElectric(form)
{
	hotWaterElectric = true;
	hotWaterGas = false;
	hotWaterOil = false;
	hotWaterRenewable = false;
	//setFuels(form);
	setOil(form);
	setGas(form);
}
function setHotWaterGas(form)
{
	hotWaterGas = true;
	hotWaterElectric = false;
	hotWaterOil = false;
	hotWaterRenewable = false;
	//setFuels(form);
	//setOil(form);
	setGas(form);
	setOil(form);
}
function setHotWaterOil(form)
{
	hotWaterOil = true;
	hotWaterGas = false;
	hotWaterElectric = false;
	hotWaterRenewable = false;
	//setFuels(form);
	//setOil(form);
	setGas(form);
	setOil(form);
}
function setHotWaterRenewable(form)
{
	hotWaterRenewable = true;
	hotWaterGas = false;
	hotWaterOil = false;
	hotWaterelectric = false;
	//setFuels(form);
	//setOil(form);
	setGas(form);
	setOil(form);
}
*/
/*
function setCookingElectric(form)
{
	cookingElectric = true;
	cookingGas = false;
	//setFuels(form);
	setGas(form);
}

function setCookingGas(form)
{
	cookingElectric = false;
	cookingGas = true;
	//setFuels(form);
	setGas(form);
}
*/
/*
function setDryerElectric(form)
{
	dryerElectric = true;
	dryerGas = false;
	dryerNone = false;
	//setFuels(form);
	setGas(form);
}
function setDryerGas(form)
{
	dryerGas = true;
	dryerElectric = false;
	dryerNone = false;
	//setFuels(form);
	setGas(form);
}
function setDryerNone(form)
{
	dryerNone = true
	dryerGas = false;
	dryerElectric = false;
	//setFuels(form);
	setGas(form);
}
*/
/*
function setWholeHouseAC(form)
{
	wholeHouseAC = true;
	windowAC = noAC = false;
}
function setWindowAC(form)
{
	windowAC = true;
	wholeHouseAC = noAC = false;
}
function setNoAC(form)
{
	noAC = true;
	windowAC = wholeHouseAC = false;
}
*/
