function trim(s) {
	return s.replace(/^\s+/, '').replace(/\s+$/, '');
}

 function aggregate_estimator_calculate() {		
	var calc = document.aggregate_calculator;
	var volume = isNaN(parseFloat(trim(calc.volume.value)))?0:parseFloat(trim(calc.volume.value));
	var productm3 = isNaN(parseFloat(calc.product.value))?0:parseFloat(calc.product.value);
	
	var weight = isNaN(parseFloat(trim(calc.weight.value)))?0:parseFloat(trim(calc.weight.value));
	
	if(document.aggregate_calculator.method.value==0) {
	
	var tons = Math.round(volume * productm3 * 1000)/1000;

 document.getElementById('tons_required').innerHTML=tons;
	}else
	if(document.aggregate_calculator.method.value==1){
	var tons = Math.round(volume * productm3 * 1000)/1000;
	var tons2 = tons*1.30795062;
	 document.getElementById('tons_required2').innerHTML=tons2;
	}
	else
	if(document.aggregate_calculator.method.value==2) {
	
	var cubicM = Math.round((weight) / (productm3) * 1000)/1000;
	var cubicMyd = cubicM*1.30795062;
	document.getElementById('cubic_meters').innerHTML=cubicM + ' m<sup>3</sup> <br />' + cubicMyd + ' yd<sup>3</sup>';

	}
	
	

	
	//var cubicM = Math.round((weight) / (productm3) * 1000)/1000;
	
	
	
	
	//document.getElementById('tons_required').innerHTML=cubicM;
} 

/*function aggregate_estimator_calculate_opposite() {		
	var calc = document.aggregate_calculator;
	var volume = isNaN(parseFloat(trim(calc.volume.value)))?0:parseFloat(trim(calc.volume.value));
	var productm3 = isNaN(parseFloat(calc.product.value))?0:parseFloat(calc.product.value);
	var tons = Math.round((volume) / (productm3) * 1000)/1000;
	document.getElementById('tons_required').innerHTML=tons;
}*/

function aggregate_estimator_clear() {
	document.aggregate_calculator.reset();
	document.getElementById('tons_required').innerHTML=0;
	document.getElementById('cubmic_meters').innerHTML=0;
}

function concrete_calculator_calculate() {
	var calc = document.concrete_calculator;

	var width_m = isNaN(parseFloat(trim(calc.width_m.value)))?0:parseFloat(trim(calc.width_m.value));
	var length_m = isNaN(parseFloat(trim(calc.length_m.value)))?0:parseFloat(trim(calc.length_m.value));
	var diameter_m = isNaN(parseFloat(trim(calc.diameter_m.value)))?0:parseFloat(trim(calc.diameter_m.value));
	var depth_m = isNaN(parseFloat(trim(calc.depth_m.value)))?0:parseFloat(trim(calc.depth_m.value));
	
	var width_ft = isNaN(parseFloat(trim(calc.width_ft.value)))?0:parseFloat(trim(calc.width_ft.value));
	var length_ft = isNaN(parseFloat(trim(calc.length_ft.value)))?0:parseFloat(trim(calc.length_ft.value));
	var diameter_ft = isNaN(parseFloat(trim(calc.diameter_ft.value)))?0:parseFloat(trim(calc.diameter_ft.value));
	var depth_ft = isNaN(parseFloat(trim(calc.depth_ft.value)))?0:parseFloat(trim(calc.depth_ft.value));
	
	var width_in = isNaN(parseFloat(trim(calc.width_in.value)))?0:parseFloat(trim(calc.width_in.value));
	var length_in = isNaN(parseFloat(trim(calc.length_in.value)))?0:parseFloat(trim(calc.length_in.value));
	var diameter_in = isNaN(parseFloat(trim(calc.diameter_in.value)))?0:parseFloat(trim(calc.diameter_in.value));
	var depth_in = isNaN(parseFloat(trim(calc.depth_in.value)))?0:parseFloat(trim(calc.depth_in.value));
	
	var Qty=isNaN(parseFloat(trim(calc.Qty.value)))?0:parseFloat(trim(calc.Qty.value));
	var Model=isNaN(parseFloat(trim(calc.Model.value)))?0:parseFloat(trim(calc.Model.value));

	var vol = 0;
	if (document.concrete_calculator.concrete_type.value==0) {
		var metric_vol = width_m*length_m*depth_m;
		var imperial_vol = ((width_ft*0.3048) + (width_in*0.0254))*((length_ft*0.3048) + (length_in*0.0254))*((depth_ft*0.3048) + (depth_in*0.0254));
		var vol = Math.round((metric_vol + imperial_vol)*1000)/1000;
	} 
	else 
		if (document.concrete_calculator.concrete_type.value==1) 
		{	
			var x = diameter_m/2;
			var metric_vol = Math.PI * depth_m * x * x;
			var y = ((diameter_ft*0.3048)+(diameter_in*0.0254))/2;
			var imperial_vol = Math.PI * ((depth_ft*0.3048)+(depth_in*0.0254)) * y * y;
			var vol = Math.round((metric_vol + imperial_vol)*1000)/1000;		
		}
		else
			{
				var x=Qty*Model;
				var vol=Math.round(x*1000)/1000;
			}
			
			var volYd = vol*1.30795062;
			 
	document.getElementById('concrete_volume').innerHTML =  vol.toFixed(3) + 'm<sup>3</sup><br />';
	document.getElementById('concrete_volume2').innerHTML = volYd.toFixed(3) + 'yd<sup>3</sup>';
}

function concrete_calculator_clear() {
	var index = document.getElementById('concrete_type').selectedIndex;
	document.concrete_calculator.reset();
	document.getElementById('concrete_volume').innerHTML = '0m<sup>3</sup>';
	document.getElementById('concrete_volume2').innerHTML = '0yd<sup>3</sup>';
	document.getElementById('tons_required').innerHTML = '0';
	document.getElementById('tons_required2').innerHTML = '0';
	document.getElementById('cubic_meters').innerHTML = '0<sup>3</sup>';
	document.getElementById('concrete_type').selectedIndex = index;
}


function change_aggregate_calculator() {

var option = document.aggregate_calculator.method.value;


if(option==0) {
document.getElementById('tr_volume').style.display='block';
document.getElementById('tr_tonnes').style.display='block';
	
document.getElementById('tr_weight').style.display='none';
document.getElementById('tr_totVol').style.display='none';

document.getElementById('tr_vol').style.display='none';
document.getElementById('tr_tonnes2').style.display='none';

}
else
if(option==1){
document.getElementById('tr_volume').style.display='none';
document.getElementById('tr_vol').style.display='block';

	
document.getElementById('tr_weight').style.display='none';
document.getElementById('tr_totVol').style.display='none';


document.getElementById('tr_tonnes2').style.display='block';
document.getElementById('tr_tonnes').style.display='none';

}
else
if(option==2) {

document.getElementById('tr_volume').style.display='none';
document.getElementById('tr_tonnes').style.display='none';
	
document.getElementById('tr_weight').style.display='block';
document.getElementById('tr_totVol').style.display='block';

document.getElementById('tr_tonnes2').style.display='none';
document.getElementById('tr_vol').style.display='none';


}
	
}


function change_concrete_calculator() {
	var agent = navigator.userAgent.toLowerCase();
	var is_ie = (agent.indexOf('msie') != -1);
	
	var option = document.concrete_calculator.concrete_type.value;
	
	if (option==0) {

		document.getElementById('tr_title').style.display=is_ie?'inline':'table-row';
		document.getElementById('tr_concrete_width').style.display=is_ie?'inline':'table-row';
		document.getElementById('tr_concrete_length').style.display=is_ie?'inline':'table-row';
		document.getElementById('tr_concrete_depth').style.display=is_ie?'inline':'table-row';

		document.getElementById('tr_concrete_diameter').style.display='none';
		document.getElementById('tr_concrete_Qty').style.display='none';
		document.getElementById('tr_concrete_model').style.display='none';

	} 
	else 
	if(option==1)
		{
			document.getElementById('tr_title').style.display=is_ie?'inline':'table-row';
			document.getElementById('tr_concrete_diameter').style.display=is_ie?'inline':'table-row';
			document.getElementById('tr_concrete_depth').style.display=is_ie?'inline':'table-row';
			
			document.getElementById('tr_concrete_width').style.display='none';
			document.getElementById('tr_concrete_length').style.display='none';
			
			document.getElementById('tr_concrete_Qty').style.display='none';
			document.getElementById('tr_concrete_model').style.display='none';

		}
		else 
		{
			document.getElementById('tr_concrete_model').style.display=is_ie?'inline':'table-row';
			document.getElementById('tr_concrete_Qty').style.display=is_ie?'inline':'table-row';
			
			document.getElementById('tr_title').style.display='none';
			document.getElementById('tr_concrete_width').style.display='none';
			document.getElementById('tr_concrete_length').style.display='none';
			document.getElementById('tr_concrete_diameter').style.display='none';
			document.getElementById('tr_concrete_depth').style.display='none';
			
		}
	aggregate_estimator_clear();
	concrete_calculator_clear();
	document.concrete_calculator.concrete_type.value = option;
}
