//amount constants

var iMilesPerGallon = 15;
var iGallonPerBarrel = 42;

//conversion constants
var iHydrocarbons = 0.006167401;
var iCarbonMonoxide = 0.046035242;
var iOxideNitrogen = 0.003061674;
var iLbsCarbonDioxide = 0.916;
var iKwH = 0.746268657;

function removeComma(num) {
    var temp1 = num;
    for (i=1;i<10;i++) {  
// pick limit high enough to find all possible commas
    temp1 = temp1.replace(",","");
    }
    return temp1;
}
function addComma(number) {
number = '' + number;
if (number.length > 3) {
var mod = number.length % 3;
var output = (mod > 0 ? (number.substring(0,mod)) : '');
for (i=0 ; i < Math.floor(number.length / 3); i++) {
if ((mod == 0) && (i == 0))
output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
else
output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
}
return (output);
}
else return number;
}

function IsNumeric(sText)
{
   var ValidChars = "0123456789,";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }



function calculate()	{
var tbox = document.getElementById('miles');
var employees = document.getElementById('employees');
var oilburned = document.getElementById('oilburned');
var hydrocarbons = document.getElementById('hydrocarbons');
var carbonmonoxide = document.getElementById('carbonmonoxide');
var oxidesnitrogen = document.getElementById('oxidesnitrogen');
var carbondioxide = document.getElementById('carbondioxide');
var percenthome = document.getElementById('percenthome');
var errormsg = document.getElementById('errormsg');
var errormsg2 = document.getElementById('errormsg2');
var iMiles = removeComma(tbox.value);
var iEmployees = removeComma(employees.value);

if (iEmployees < 1) {
	iEmployees = 1;
	employees.value = 1;
}

	if(!IsNumeric(employees.value))
		{
			errormsg.innerHTML = "<h1 style='color:#FF0000;'>Enter Amount of Employees *</h1>";
			errormsg2.innerHTML = "<h1 style='margin-top:10px;'>Enter Annual Miles Driven</h1>";
			return false;
		}
		else{
		errormsg.innerHTML = "<h1>Enter Amount of Employees</h1>";
	}
	if(!IsNumeric(tbox.value))
	{
		errormsg2.innerHTML = "<h1 style='margin-top:10px;color:#FF0000;'>Enter Annual Miles Driven *</h1>";
		errormsg.innerHTML = "<h1>Enter Amount of Employees</h1>";
		return false;
	}
	else{
		errormsg2.innerHTML = "<h1 style='margin-top:10px;'>Enter Annual Miles Driven</h1>";
	}

tbox.value = addComma(removeComma(tbox.value));
employees.value = addComma(removeComma(employees.value));
	
	if (iMiles)
		{
			oilburned.innerHTML = addComma(Math.round((iMiles / iMilesPerGallon) / iGallonPerBarrel) * iEmployees) + " barrels of oil";
			hydrocarbons.innerHTML = addComma(Math.round(iMiles * iHydrocarbons) * iEmployees) + " lbs of Hydrocarbons";
			carbonmonoxide.innerHTML = addComma(Math.round(iMiles * iCarbonMonoxide) * iEmployees) + " lbs of Carbon Monoxide";
			oxidesnitrogen.innerHTML = addComma(Math.round(iMiles * iOxideNitrogen) * iEmployees) + " lbs of Oxides of Nitrogen";
			carbondioxide.innerHTML = addComma(Math.round(iMiles * iLbsCarbonDioxide) * iEmployees) + " lbs of Carbon Dioxide";
			percenthome.innerHTML = "<h3>" + addComma(iMiles) + " miles represents " + iEmployees * (Math.round((Math.round((iMiles * iLbsCarbonDioxide) * iKwH*100)/100) / 11256*100)/100)*100 + "% of your homes' annual energy use.</h3>";
		}
}

