// variable definitions
pi = 3.1415929203539825;

// process variables and add commas - http://www.mredkj.com/javascript/nfbasic.html
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 roundNumber(num, dec) {
	var result = Math.round( Math.round( num * Math.pow( 10, dec + 1 ) ) / Math.pow( 10, 1 ) ) / Math.pow(10,dec);
	return result;
}

function Rectangle(form) {
	rectangleArea = roundNumber((form.rectangleLength.value * form.rectangleWidth.value), 2)
	rectangleQuantity = Math.ceil(rectangleArea / form.rectangleCoverage.value)
	form.ansRectangleArea.value = addCommas(rectangleArea)
	form.ansRectangleQuantity.value = addCommas(rectangleQuantity)
}

function Circle(form) {
	circleRadius = form.circleDiameter.value / 2
	circleArea = roundNumber(((circleRadius * circleRadius) * (pi)), 2)
	circleQuantity = Math.ceil(circleArea / form.circleCoverage.value)
	form.ansCircleArea.value = addCommas(circleArea)
	form.ansCircleQuantity.value = addCommas(circleQuantity)
}

function Cubic(form) {
	cubicVolume = roundNumber((form.cubicLength.value * form.cubicWidth.value * (form.cubicHeight.value / 12)),2)
	cubicQuantity = Math.ceil(cubicVolume / form.cubicYield.value)
	form.ansCubicVolume.value = addCommas(cubicVolume)
	form.ansCubicQuantity.value = addCommas(cubicQuantity)
}

function Cylinder(form) {
	cylinderRadius = form.cylinderDiameter.value / 24
	cylinderArea = (cylinderRadius * cylinderRadius) * (pi)
	cylinderVolume = roundNumber((cylinderArea * form.cylinderHeight.value), 2)
	cylinderQuantity = Math.ceil(cylinderVolume / form.cylinderYield.value)
	form.ansCylinderVolume.value = addCommas(cylinderVolume)
	form.ansCylinderQuantity.value = addCommas(cylinderQuantity)
}
