function showquickobjmsg(inStr, isError, objName){
	if (isError){
		inStr = "<font color=red>" + inStr + "</font>";
	}
	gObj(objName).innerHTML = inStr;
}

function calcslab(objToShow){
	slablength = trimAll(gObj("slablength").value + "");
	slablengthunit = trimAll(gObj("slablengthunit").value + "");
	slabwidth = trimAll(gObj("slabwidth").value + "");
	slabwidthunit = trimAll(gObj("slabwidthunit").value + "");
	slabthick = trimAll(gObj("slabthick").value + "");
	slabthickunit = trimAll(gObj("slabthickunit").value + "");
	slabquantity = trimAll(gObj("slabquantity").value + "");

	if (!isNumber(slablength)){
		showquickobjmsg("the length need to be numeric",true,objToShow);
		return;
	}else if (!isNumber(slabwidth)){
		showquickobjmsg("the width need to be numeric",true,objToShow);
		return;
	}else if (!isNumber(slabthick)){
		showquickobjmsg("the thickness or height need to be numeric",true,objToShow);
		return;
	}else if (!isNumber(slabquantity)){
		showquickobjmsg("the quantity need to be numeric",true,objToShow);
		return;
	}

	slablength = parseFloat(slablength);
	slabwidth = parseFloat(slabwidth);
	slabthick = parseFloat(slabthick);

	if ((slablength < 0)||(slabwidth < 0)||(slabthick < 0)||(slabquantity < 0)){
		showquickobjmsg("all the number need to be positive",true,objToShow);
		return;
	}

	if (slablengthunit=="foot"){
		slablength = slablength * 0.3048;
	}else if (slablengthunit=="inch"){
		slablength = slablength * 0.0254;
	}else if (slablengthunit=="yard"){
		slablength = slablength * 0.9144;
	}else if (slablengthunit=="centimeter"){
		slablength = slablength * 0.01;
	}

	if (slabwidthunit=="foot"){
		slabwidth = slabwidth * 0.3048;
	}else if (slabwidthunit=="inch"){
		slabwidth = slabwidth * 0.0254;
	}else if (slabwidthunit=="yard"){
		slabwidth = slabwidth * 0.9144;
	}else if (slabwidthunit=="centimeter"){
		slabwidth = slabwidth * 0.01;
	}

	if (slabthickunit=="foot"){
		slabthick = slabthick * 0.3048;
	}else if (slabthickunit=="inch"){
		slabthick = slabthick * 0.0254;
	}else if (slabthickunit=="yard"){
		slabthick = slabthick * 0.9144;
	}else if (slabthickunit=="centimeter"){
		slabthick = slabthick * 0.01;
	}

	finalVolumn = slablength * slabwidth * slabthick * slabquantity;
	
	finalVolumnInCFoot = finalVolumn/0.3048/0.3048/0.3048;
	finalVolumnInCYard = finalVolumn/0.9144/0.9144/0.9144;
	
	weightkg = finalVolumn * 2130;
	weightlbs = finalVolumnInCFoot * 133;

	finalOutPut = "<b>Results:</b><br><font color=green><b>"+finalVolumnInCFoot.toPrecision(3)+"</b></font> cubic feet";
	finalOutPut += " or <font color=green><b>"+finalVolumnInCYard.toPrecision(3)+"</b></font> cubic yards";
	finalOutPut += " or <font color=green><b>"+finalVolumn.toPrecision(3)+"</b></font> cubic meters";
	finalOutPut += "<br> if pre-mixed concrete*, it is ";
	finalOutPut += " <font color=green><b>"+weightlbs.toPrecision(3)+"</b></font> lbs";
	finalOutPut += " or <font color=green><b>"+weightkg.toPrecision(3)+"</b></font> kgs";
	finalOutPut += "<br> if 60 lbs per bag, it is <font color=green><b>" + (weightlbs/60).toPrecision(3) + "</b></font> bags";
	finalOutPut += "<br> if 80 lbs per bag, it is <font color=green><b>" + (weightlbs/80).toPrecision(3) + "</b></font> bags";
	
	showquickobjmsg(finalOutPut,false, objToShow);
}

function calchole(objToShow){
	holediameter = trimAll(gObj("holediameter").value + "");
	holediameterunit = trimAll(gObj("holediameterunit").value + "");
	holedepth = trimAll(gObj("holedepth").value + "");
	holedepthunit = trimAll(gObj("holedepthunit").value + "");
	holequantity = trimAll(gObj("holequantity").value + "");

	if (!isNumber(holediameter)){
		showquickobjmsg("the diameter need to be numeric",true,objToShow);
		return;
	}else if (!isNumber(holedepth)){
		showquickobjmsg("the depth or height need to be numeric",true,objToShow);
		return;
	}else if (!isNumber(holequantity)){
		showquickobjmsg("the quantity need to be numeric",true,objToShow);
		return;
	}

	holediameter = parseFloat(holediameter);
	holedepth = parseFloat(holedepth);
	holequantity = parseFloat(holequantity);

	if ((holediameter < 0)||(holedepth < 0)||(holequantity < 0)){
		showquickobjmsg("all the number need to be positive",true,objToShow);
		return;
	}

	if (holediameterunit=="foot"){
		holediameter = holediameter * 0.3048;
	}else if (holediameterunit=="inch"){
		holediameter = holediameter * 0.0254;
	}else if (holediameterunit=="yard"){
		holediameter = holediameter * 0.9144;
	}else if (holediameterunit=="centimeter"){
		holediameter = holediameter * 0.01;
	}

	if (holedepthunit=="foot"){
		holedepth = holedepth * 0.3048;
	}else if (holedepthunit=="inch"){
		holedepth = holedepth * 0.0254;
	}else if (holedepthunit=="yard"){
		holedepth = holedepth * 0.9144;
	}else if (holedepthunit=="centimeter"){
		holedepth = holedepth * 0.01;
	}

	finalVolumn = holedepth * 3.14159 * holediameter * holediameter * holequantity / 4;
	
	finalVolumnInCFoot = finalVolumn/0.3048/0.3048/0.3048;
	finalVolumnInCYard = finalVolumn/0.9144/0.9144/0.9144;
	
	weightkg = finalVolumn * 2130;
	weightlbs = finalVolumnInCFoot * 133;

	finalOutPut = "<b>Results:</b><br><font color=green><b>"+finalVolumnInCFoot.toPrecision(3)+"</b></font> cubic feet";
	finalOutPut += " or <font color=green><b>"+finalVolumnInCYard.toPrecision(3)+"</b></font> cubic yards";
	finalOutPut += " or <font color=green><b>"+finalVolumn.toPrecision(3)+"</b></font> cubic meters";
	finalOutPut += "<br> if pre-mixed concrete*, it is ";
	finalOutPut += " <font color=green><b>"+weightlbs.toPrecision(3)+"</b></font> lbs";
	finalOutPut += " or <font color=green><b>"+weightkg.toPrecision(3)+"</b></font> kgs";
	finalOutPut += "<br> if 60 lbs per bag, it is <font color=green><b>" + (weightlbs/60).toPrecision(3) + "</b></font> bags";
	finalOutPut += "<br> if 80 lbs per bag, it is <font color=green><b>" + (weightlbs/80).toPrecision(3) + "</b></font> bags";
	
	showquickobjmsg(finalOutPut,false, objToShow);
}

function calctube(objToShow){
	tubediameter = trimAll(gObj("tubediameter").value + "");
	tubediameterunit = trimAll(gObj("tubediameterunit").value + "");
	tubeindiameter = trimAll(gObj("tubeindiameter").value + "");
	tubeindiameterunit = trimAll(gObj("tubeindiameterunit").value + "");
	tubedepth = trimAll(gObj("tubedepth").value + "");
	tubedepthunit = trimAll(gObj("tubedepthunit").value + "");
	tubequantity = trimAll(gObj("tubequantity").value + "");

	if (!isNumber(tubediameter)){
		showquickobjmsg("the outer diameter need to be numeric",true,objToShow);
		return;
	}else if (!isNumber(tubeindiameter)){
		showquickobjmsg("the inner diameter need to be numeric",true,objToShow);
		return;
	}else if (!isNumber(tubedepth)){
		showquickobjmsg("the length or height need to be numeric",true,objToShow);
		return;
	}else if (!isNumber(tubequantity)){
		showquickobjmsg("the quantity need to be numeric",true,objToShow);
		return;
	}

	tubediameter = parseFloat(tubediameter);
	tubeindiameter = parseFloat(tubeindiameter);
	tubedepth = parseFloat(tubedepth);

	if ((tubediameter < 0)||(tubeindiameter < 0)||(tubedepth < 0)||(tubequantity < 0)){
		showquickobjmsg("all the number need to be positive",true,objToShow);
		return;
	}

	if (tubediameter < tubeindiameter){
		showquickobjmsg("the inner diamerter needs to be smaller than outer diamerter",true,objToShow);
		return;
	}

	if (tubediameterunit=="foot"){
		tubediameter = tubediameter * 0.3048;
	}else if (tubediameterunit=="inch"){
		tubediameter = tubediameter * 0.0254;
	}else if (tubediameterunit=="yard"){
		tubediameter = tubediameter * 0.9144;
	}else if (tubediameterunit=="centimeter"){
		tubediameter = tubediameter * 0.01;
	}

	if (tubeindiameterunit=="foot"){
		tubeindiameter = tubeindiameter * 0.3048;
	}else if (tubeindiameterunit=="inch"){
		tubeindiameter = tubeindiameter * 0.0254;
	}else if (tubeindiameterunit=="yard"){
		tubeindiameter = tubeindiameter * 0.9144;
	}else if (tubeindiameterunit=="centimeter"){
		tubeindiameter = tubeindiameter * 0.01;
	}

	if (tubedepthunit=="foot"){
		tubedepth = tubedepth * 0.3048;
	}else if (tubedepthunit=="inch"){
		tubedepth = tubedepth * 0.0254;
	}else if (tubedepthunit=="yard"){
		tubedepth = tubedepth * 0.9144;
	}else if (tubedepthunit=="centimeter"){
		tubedepth = tubedepth * 0.01;
	}

	finalVolumn = tubedepth * 3.14159 * (tubediameter * tubediameter - tubeindiameter * tubeindiameter) * tubequantity / 4;
	
	finalVolumnInCFoot = finalVolumn/0.3048/0.3048/0.3048;
	finalVolumnInCYard = finalVolumn/0.9144/0.9144/0.9144;
	
	weightkg = finalVolumn * 2130;
	weightlbs = finalVolumnInCFoot * 133;

	finalOutPut = "<b>Results:</b><br><font color=green><b>"+finalVolumnInCFoot.toPrecision(3)+"</b></font> cubic feet";
	finalOutPut += " or <font color=green><b>"+finalVolumnInCYard.toPrecision(3)+"</b></font> cubic yards";
	finalOutPut += " or <font color=green><b>"+finalVolumn.toPrecision(3)+"</b></font> cubic meters";
	finalOutPut += "<br> if pre-mixed concrete*, it is ";
	finalOutPut += " <font color=green><b>"+weightlbs.toPrecision(3)+"</b></font> lbs";
	finalOutPut += " or <font color=green><b>"+weightkg.toPrecision(3)+"</b></font> kgs";
	finalOutPut += "<br> if 60 lbs per bag, it is <font color=green><b>" + (weightlbs/60).toPrecision(3) + "</b></font> bags";
	finalOutPut += "<br> if 80 lbs per bag, it is <font color=green><b>" + (weightlbs/80).toPrecision(3) + "</b></font> bags";
	
	showquickobjmsg(finalOutPut,false, objToShow);
}




