function get_radio_value() {
	for (var i=0; i < document.calculator.fieldlength.length; i++) {
   		if (document.calculator.fieldlength[i].checked) {
      		var rad_val = document.calculator.fieldlength[i].value;
	  		return rad_val;
		}
	}
}
//
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 stripNonNumeric(str){
	str += '';
	var rgx = /^\d|\.|-$/;
	var out = '';
	for( var i = 0; i < str.length; i++ ) {
		if( rgx.test( str.charAt(i) ) ){
			if( !( ( str.charAt(i) == '.' && out.indexOf( '.' ) != -1 ) || ( str.charAt(i) == '-' && out.length != 0 ) ) ){
				out += str.charAt(i);
			}
		}
	}
return out;
}
//
function calc () {
	var lamps,price,cost,length,energysavings,electricity,days,hours,energysavings5years,recovercosts,savings5years,roi5years,co2reductionkg,co2reductiontonnes;
	//get values
	lamps=parseFloat(stripNonNumeric(document.calculator.fieldlamps.value));
	price=parseFloat(stripNonNumeric(document.calculator.fieldprice.value));
	electricity=parseFloat(stripNonNumeric(document.calculator.fieldelectricity.value));			
	days=parseFloat(stripNonNumeric(document.calculator.fielddays.value));			
	hours=parseFloat(stripNonNumeric(document.calculator.fieldhours.value));
	// calculate values
	cost=lamps*price;
	length=get_radio_value();
	if (length==2) {
		energysavings = 0.0178;	
	} else if (length==3){
		energysavings = 0.0228;	
	} else if (length==4) {
		energysavings = 0.0218;	
	} else if (length==5) {
		energysavings = 0.0308;	
	} else if (length==6) {
		energysavings = 0.0293;	
	}
	energysavings5years=hours*days*5*energysavings*lamps;
	recovercosts=cost/(lamps*hours*electricity*energysavings);
	savings5years=lamps*electricity*days*hours*5*energysavings;
	roi5years=savings5years/cost*100;
	co2reductionkg=energysavings5years*0.43;
	co2reductiontonnes=co2reductionkg/1000;
	//set values
	document.calculator.fieldlamps.value=addCommas(lamps.toFixed(0));
	document.calculator.fieldprice.value=addCommas(price.toFixed(2));
	document.calculator.fieldcost.value='\u00A3'+addCommas(cost.toFixed(2));
	//
	//document.calculator.fieldenergysavings.value=energysavings;
	//document.calculator.field5yearenergysavings.value=energysavings5years;
	//
	document.calculator.fielddaysrecovercosts.value=addCommas(recovercosts.toFixed(0));
	document.calculator.fieldsavings5years.value='\u00A3'+addCommas(savings5years.toFixed(2));
	document.calculator.fieldroi5years.value=addCommas(roi5years.toFixed(0))+'%';
	document.calculator.fieldco2reductionkg.value=addCommas(co2reductionkg.toFixed(0))+" kg";
	document.calculator.fieldco2reductiontonnes.value=addCommas(co2reductiontonnes.toFixed(0))+" t";
}
