//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.msiForm;

	if (document.msiForm.rWeight.value == "")
		{
		alert("Enter Roll Weight.");
		document.msiForm.rWeight.focus();
		return (false);
		}

	if (isNaN(document.msiForm.rWeight.value))
		{
		alert("Roll Weight must be a valid number.");
		document.msiForm.rWeight.focus();
		return (false);
		}

	if (document.msiForm.bWeight.value == "")
		{
		alert("Enter Basis Weight.");
		document.msiForm.bWeight.focus();
		return (false);
		}

	if (isNaN(document.msiForm.bWeight.value))
		{
		alert("Basis Weight must be a valid number.");
		document.msiForm.bWeight.focus();
		return (false);
		}

	if (document.msiForm.hArea.value == "")
		{
		alert("Enter Basic Size (Height).");
		document.msiForm.hArea.focus();
		return (false);
		}

	if (isNaN(document.msiForm.hArea.value))
		{
		alert("Basic Size (Height) must be a valid number.");
		document.msiForm.hArea.focus();
		return (false);
		}

	if (document.msiForm.wArea.value == "")
		{
		alert("Enter Basic Size (Width).");
		document.msiForm.wArea.focus();
		return (false);
		}

	if (isNaN(document.msiForm.wArea.value))
		{
		alert("Basic Size (Width) must be a valid number.");
		document.msiForm.wArea.focus();
		return (false);
		}

	CalculateMSI(form.rWeight.value,form.bWeight.value,form.hArea.value,form.wArea.value);

CalculateMSF(form.Answer1.value);

	return true;
}

//Do calculations
function CalculateMSI(rWeight,bWeight,hArea,wArea) {
	var msi = rWeight / ((bWeight / (hArea * wArea)) * 2);
	document.msiForm.Answer1.value = formatNumber(msi,0);
}

function CalculateMSF(Answer1) {
	var msf = Answer1 / 144;
	document.msiForm.Answer2.value = formatNumber(msf,3);
}

//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 Basic Size Height and Width fields with values from menu
function setValues() {
	var form = document.msiForm;
	var area = form.Area.value;

	if (area == 0) { form.hArea.value = ""; form.wArea.value = ""; }
	if (area == 1) { form.hArea.value = 17; form.wArea.value = 22; }
	if (area == 2) { form.hArea.value = 25; form.wArea.value = 38; }
	if (area == 3) { form.hArea.value = 24; form.wArea.value = 36; }
	if (area == 4) { form.hArea.value = 25.5; form.wArea.value = 30.5; }
	if (area == 5) { form.hArea.value = 22.5; form.wArea.value = 30.5; }
	if (area == 6) { form.hArea.value = 24; form.wArea.value = 36; }
	if (area == 7) { form.hArea.value = 20; form.wArea.value = 26; }
	if (area == 8) { form.hArea.value = 25; form.wArea.value = 38; }
	if (area == 9) { form.hArea.value = 20; form.wArea.value = 26; }
	if (area == 10) { form.hArea.value = 288; form.wArea.value = 1; }
}
