function calc(type) {
	var form = document.calcForm;
	if (type == "environ" && form.e_blocks.value != "") {
		var B7 = form.e_blocks.value.trim();
		if (isNaN(B7)) {
			alert(B7+' is not a whole number. Please enter a whole number for your number of blocks purchased per month.');
			B7 = 0;
			}
		B7 = number_format(B7,'','.','');
		var C7 = B7*100*12;
		//var D7 = C7*1.21154;
		var D7 = C7*1.21834;
		var E7 = D7/2000;
		//var F7 = C7*1.22863;
		var F7 = C7*1.235521272;// updated 2009-04-13
		var G7 = F7/11856;
		//var I7 = C7*0.0522216;
		var I7 = C7*0.052515;
		var J7 = C7*0.00000383248951754615;
		var K7 = C7*0.166943243;
		var L7 = C7*0.000107;
		
		if (typeof form.e_blocks != 'undefined') {form.e_blocks.value = number_format(B7,'','.',',');}
		if (typeof form.e_kwhyr != 'undefined') {form.e_kwhyr.value = number_format(C7,'','.',',');}
		if (typeof form.e_co2_pounds != 'undefined') {form.e_co2_pounds.value = number_format(D7,2,'.',',');}
		if (typeof form.e_co2_tons != 'undefined') {form.e_co2_tons.value = number_format(E7,2,'.',',');}
		if (typeof form.e_miles != 'undefined') {form.e_miles.value = number_format(F7,2,'.',',');}
		if (typeof form.e_cars != 'undefined') {form.e_cars.value = number_format(G7,2,'.',',');}
		if (typeof form.e_trees_planted != 'undefined') {form.e_trees_planted.value = Math.round(I7);}
		if (typeof form.e_trees_acres != 'undefined') {form.e_trees_acres.value = number_format(J7,4,'.',',');}
		if (typeof form.e_trees_sqft != 'undefined') {form.e_trees_sqft.value = Math.round(K7);}
		if (typeof form.e_trees_num != 'undefined') {form.e_trees_num.value = number_format(L7,4,'.',',');}
		}

	}

String.prototype.trim = function() {return this.replace(/^\s+|\s+$/g, "");};
	
function number_format( number, decimals, dec_point, thousands_sep ) {
    // Format a number with grouped thousands
    // 
    // +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_number_format/
    // +       version: 804.1313
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     bugfix by: Michael White (http://crestidg.com)
    // +     bugfix by: Benjamin Lupton
    // +     bugfix by: Allan Jensen (http://www.winternet.no)
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)    
    // *     example 1: number_format(1234.5678, 2, '.', '');
    // *     returns 1: 1234.57     

    var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
    var d = dec_point == undefined ? "," : dec_point;
    var t = thousands_sep == undefined ? "." : thousands_sep, s = n < 0 ? "-" : "";
    var i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
    
    return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
}// }}}
