function calculateABV(rmind)
{
	var a = -5.424081;
	var b = 0.3671228;

	var abv = a + (b * rmind);
	{if (abv >= 0 && abv <= 25.6){
	return abv.toFixed(2);}
	else {abv = "";
	return abv;}
	}
}

function calculateD(SG)
{
	var d = (SG - 1) * 1000;
	return d.toFixed(1);
}

function calculateRminD(Zeiss, D)
{
	var rd= Zeiss - D;
	return rd.toFixed(1);
}

function checkZValidity(Zeiss, D, form)
// Is it a valid Zeiss value

{	if (checkZeiss(15, 130, Zeiss) && checkSG(0.9, 1.1, form.SGin.value)) {
		form.RDout.value = calculateRminD(Zeiss, D);
		form.ABVout.value = calculateABV(form.RDout.value) ;
		}
		else {
			form.RDout.value = "";
			form.ABVout.value ="";
		}
}

function checkZeiss(minZeiss, maxZeiss, formZeiss)
// Is it a valid number between minZeiss & maxZeiss?
{
	if(!isNaN(formZeiss) && (formZeiss>= minZeiss && formZeiss <= maxZeiss)) {
		zeissValid = true;
	}
	else {
		zeissValid = false;
	}
	return zeissValid;
}

function checkSGValidity(SG, form)
// Is it a valid SG value

{		if (checkSG(0.9, 1.1, SG)) {
			form.Dout.value = calculateD(SG);
		}
		else {
			form.Dout.value = "";
			form.RDout.value = "";
			form.ABVout.value = "";
		}
}

function checkSG(minSG, maxSG, formSG)
// Is it a valid number between minSG & maxSG?
{
	if((!isNaN(formSG) &&formSG>= minSG && formSG <= maxSG)) {
		SGValid = true;
	}
	else {
		SGValid = false;
	}
	return SGValid;
}