function CalcDilute(form)
{
	var ConcUnitsFinal = parseInt(form.ConcUnitsFinal.value);
	var ConcUnitsStart = parseInt(form.ConcUnitsStart.value);
	var VolUnitsFinal = parseInt(form.VolUnitsFinal.value);

	var finalconc = parseFloat(form.concentrationFinal.value) * Math.pow(10,ConcUnitsFinal);
	var startconc = parseFloat(form.concentrationStart.value) * Math.pow(10,ConcUnitsStart);
	var volume = parseFloat(form.volumeFinal.value) * Math.pow(10,VolUnitsFinal);

	var VolNeeded = finalconc/startconc * volume;

	if (finalconc > startconc)
	{
		form.volumeStart.value = "Not possible."
	}
	else
	{
   		form.volumeStart.value = FormatAmount(VolNeeded,4);
   		form.VolUnitsStart.value = GetUnit(VolNeeded,4);
  	}
}

function FormatAmount(value,ndec)
{
	var factor=Math.pow(10,ndec)
	if (value < 1e-9)
	{return( Math.round((value/1e-12)*factor)/factor);}
	else  if (value < 1e-6)
	{return( Math.round((value/1e-9)*factor)/factor);}
	else if (value < 1e-3)
	{return( Math.round((value/1e-6)*factor)/factor);}
	else if (value < 1)
	{return( Math.round((value/1e-3)*factor)/factor);}
	else
	{return(Math.round((value)*factor)/factor);}
}

function GetUnit(value,ndec)
{
	var factor=Math.pow(10,ndec)
	if (value < 1e-9)
	{return "-12";}
	else  if (value < 1e-6)
	{return "-9";}
	else if (value < 1e-3)
	{return "-6";}
	else if (value < 1)
	{return "-3";}
	else
	{return "0";}
}
