//Dropdown menu to navigate to other calculators
function calcNav(navForm) {
	var URL = document.navForm.calcPage.options[document.navForm.calcPage.selectedIndex].value;
	window.location.href = URL;
}


//CALCULATOR SCRIPT
//Validate fields, return error alerts
function validateForm() {
	var form = document.rwtForm;

	if (document.rwtForm.rDiameter.value == "")
		{
		alert("Enter Roll Diameter.");
		document.rwtForm.rDiameter.focus();
		return (false);
		}

	if (isNaN(document.rwtForm.rDiameter.value))
		{
		alert("Roll Diameter must be a valid number.");
		document.rwtForm.rDiameter.focus();
		return (false);
		}

	if (document.rwtForm.cDiameter.value == "")
		{
		alert("Enter Core Diameter.");
		document.rwtForm.cDiameter.focus();
		return (false);
		}

	if (isNaN(document.rwtForm.cDiameter.value))
		{
		alert("Core Diameter must be a valid number.");
		document.rwtForm.cDiameter.focus();
		return (false);
		}

	if (document.rwtForm.rWidth.value == "")
		{
		alert("Enter Roll Width.");
		document.rwtForm.rWidth.focus();
		return (false);
		}

	if (isNaN(document.rwtForm.rWidth.value))
		{
		alert("Roll Width must be a valid number.");
		document.rwtForm.rWidth.focus();
		return (false);
		}

	if (document.rwtForm.pFactor.value == "")
		{
		alert("Select Paper Type/Factor, or enter a factor in field.");
		document.rwtForm.pFactor.focus();
		return (false);
		}

	if (isNaN(document.rwtForm.pFactor.value))
		{
		alert("Factor must be a valid number.");
		document.rwtForm.pFactor.focus();
		return (false);
		}

	CalculateRollWeight(form.rDiameter.value,form.cDiameter.value,form.rWidth.value,form.pFactor.value);
	return true;
}

//Do calculations
function CalculateRollWeight(rDiameter,cDiameter,rWidth,pFactor) {
	var RollWeight = (rDiameter * rDiameter) - (cDiameter * cDiameter);
	RollWeight = RollWeight * rWidth * pFactor;
	document.rwtForm.Answer.value = formatNumber(RollWeight,0);
}

//Format the answer
function formatNumber(val,places) {
	var power = 1;
	if (places> 0) {
		power = Math.pow(10,places);
	}
	// Round the val to X decimal places.
	var roundedNum = (Math.round(val * power)/power) + "";

	// check the result for decimals
	var decpos = roundedNum.indexOf(".");

	if (decpos>= 0) {
		var decDiff = places-(roundedNum.length-(decpos+1));
	} else {
		var decDiff = places;
		if (places> 0) {
			roundedNum += ".";
		}
	}

	// add missing zeros to satisify the decimal request.
	for (var x = 0; x < decDiff; x++) {
		roundedNum += "0";
	}
	return roundedNum;
}

//Populate Factor field with values from menu
function setValues() {
	var form = document.rwtForm;
	var factor = form.selFactor.value;

	if (factor == 0) { form.pFactor.value = ""; }
	if (factor == 1) { form.pFactor.value = ".018"; }
	if (factor == 2) { form.pFactor.value = ".021"; }
	if (factor == 3) { form.pFactor.value = ".030"; }
	if (factor == 4) { form.pFactor.value = ".032"; }
	if (factor == 5) { form.pFactor.value = ".033"; }
	if (factor == 6) { form.pFactor.value = ".037"; }
	if (factor == 7) { form.pFactor.value = ".032"; }
	if (factor == 8) { form.pFactor.value = ".022"; }
	if (factor == 9) { form.pFactor.value = ".020"; }
	if (factor == 10) { form.pFactor.value = ".026"; }
	if (factor == 11) { form.pFactor.value = ".022"; }
}
