	function clearAllFields(oForm) {
		oForm.Desired_Amount_KG.value = "";
		oForm.Desired_Amount_LT.value = "";
		oForm.Desired_Concentration_Percent.value = "";
		oForm.Flake_Concentration_Percent.value = "";
		oForm.Desired_Concentration_KGM3.value = "";
		oForm.Result_Weak_Solution_KG.value = "";
		oForm.Result_Weak_Solution_LT.value = "";				
		oForm.Result_Flake_Solution_KG.value = "";		
	}
		
	//*******************************************************************************//
	//Functions to validate fields in this section 
	//*******************************************************************************//			
	function validateDesired_Amount_KG(oForm) {
			if ((oForm.Desired_Amount_KG.value <= 0) || (!checkFieldValueNoMessage(oForm.Desired_Amount_KG.value)) ) {
				alert('You must enter a positive number for the Desired amount of solution.');
				oForm.Desired_Amount_KG.focus();
				return false;
			}	
			return true;
	}
	
	function validateDesired_Concentration_Percent(oForm) {
			if ((oForm.Desired_Concentration_Percent.value < 0) || (oForm.Desired_Concentration_Percent.value > 48) || (!checkFieldValueNoMessage(oForm.Desired_Concentration_Percent.value)) ) {
				alert('You must enter a positive number between 0 and 48 for the Desired Concentration.');
				oForm.Desired_Concentration_Percent.focus();
				return false;
			}	else {
				calcConvertDesiredConcentrationToDensity(oForm);
				calcConvertDesiredAmountKGToLT(oForm);
			}
			return true;	
	}
	
	function validateFlake_Concentration_Percent(oForm)	{
			if ((oForm.Flake_Concentration_Percent.value < 49) || (oForm.Flake_Concentration_Percent.value > 100) || (!checkFieldValueNoMessage(oForm.Flake_Concentration_Percent.value)) ) {
				alert('You must enter a positive number between 49 and 100 for the Concentration of Solid Material.');
				oForm.Flake_Concentration_Percent.focus();
				return false;
			}
			return true;		
	}

	//*******************************************************************************//
	//Functions to calculate values in this section 
	//*******************************************************************************//		
				
	//*******************************************************************************//
	//Functions to calculate values in this section 
	//*******************************************************************************//		

	function calcLTToKG(val_LT, val_KGM3) {
		var retval;
		retval = (val_LT*val_KGM3/1000);		
		retval = precisionRound(retval, 100);
		return retval
	}
	
	function calcKGToLT(val_KG, val_KGM3) {
		var retval;
		retval = (val_KG/val_KGM3*1000);		
		retval = precisionRound(retval, 100);
		return retval
	}
	
	function calcDensityToConcentration(val) {
		var retval;
		retval = (-81+Math.sqrt(6561-(19942-20*val)));		
		retval = precisionRound(retval, 100000);
		return retval
	}

	function calcConcentrationToDensity(val) {
		var retval;
		retval = (((0.00005*(val*val))+0.0081*val+0.9971)*1000);				
		retval = precisionRound(retval, 100000);
		return retval
	}	
	
	function calcConvertDesiredAmountKGToLT(oForm) {
		if ( (checkFieldValueNoMessage(oForm.Desired_Amount_KG.value)) && (checkFieldValueNoMessage(oForm.Desired_Concentration_KGM3.value)) ) {
			oForm.Desired_Amount_LT.value = calcKGToLT(oForm.Desired_Amount_KG.value, oForm.Desired_Concentration_KGM3.value);
		}
	}	
	
	function calcConvertDesiredConcentrationToDensity(oForm) {
		if ( checkFieldValueNoMessage(oForm.Desired_Concentration_Percent.value)) {	
			oForm.Desired_Concentration_KGM3.value = calcConcentrationToDensity(oForm.Desired_Concentration_Percent.value);
		}
	}
		
	function calcConvertWeakConcentrationToDensity(oForm) {
		if ( checkFieldValueNoMessage(oForm.Weak_Concentration_Percent.value)) {		
			oForm.Weak_Concentration_KGM3.value = calcConcentrationToDensity(oForm.Weak_Concentration_Percent.value);
		}
	}
	

	function calcConvertDesiredAmountLTToKG(oForm) {
		if ( (checkFieldValueNoMessage(oForm.Desired_Amount_LT.value)) && (checkFieldValueNoMessage(oForm.Desired_Concentration_KGM3.value)) ) {	
			oForm.Desired_Amount_KG.value = calcLTToKG(oForm.Desired_Amount_LT.value, oForm.Desired_Concentration_KGM3.value);
		}
	}	
	
	function calcConvertDesiredDensityToConcentration(oForm) {
		if ( checkFieldValueNoMessage(oForm.Desired_Concentration_KGM3.value)) {			
			oForm.Desired_Concentration_Percent.value = calcDensityToConcentration(oForm.Desired_Concentration_KGM3.value);
		}
	}
		
	function calcConvertWeakDensityToConcentration(oForm) {
		if ( checkFieldValueNoMessage(oForm.Weak_Concentration_KGM3.value)) {			
			oForm.Weak_Concentration_Percent.value = calcDensityToConcentration(oForm.Weak_Concentration_KGM3.value);
		}
	}
		
	function validateCalcConcentratingSolutions(frm) {
		var bSuccess = true;
		CalculatorValidationMessage = "";
		if (!checkFieldValue(frm.Desired_Amount_KG.value, 'Desired amount of solution')) {
			bSuccess = false;
		}
		if (!checkFieldValue(frm.Desired_Concentration_Percent.value, 'Desired concentration')) {
			bSuccess = false;
		}
		if (!checkFieldValue(frm.Flake_Concentration_Percent.value, 'Concentration of flakes or strong solution')) {
			bSuccess = false;
		}
		if (!checkFieldValue(frm.Weak_Concentration_Percent.value, 'Concentration of weak solution')) {
			bSuccess = false;
		}						
		if (!bSuccess) {
			showCalculatorErrorMessage();
		}
		return bSuccess;
	}
	
	function doAllConversions(frm) {

		if (checkFieldValueNoMessage(frm.Desired_Concentration_Percent.value)) {
			calcConvertDesiredConcentrationToDensity(frm);
		} else {
			if (checkFieldValueNoMessage(frm.Desired_Concentration_KGM3.value)) {
				calcConvertDesiredDensityToConcentration(frm);
			}		
		}
		
		if (checkFieldValueNoMessage(frm.Weak_Concentration_Percent.value)) {
			calcConvertWeakConcentrationToDensity(frm);
		} else {
			if (checkFieldValueNoMessage(frm.Weak_Concentration_KGM3.value)) {
				calcConvertWeakDensityToConcentration(frm);
			}		
		}		

		if (checkFieldValueNoMessage(frm.Desired_Amount_KG.value)) {
			calcConvertDesiredAmountKGToLT(frm);
		} else {
			if (checkFieldValueNoMessage(frm.Desired_Amount_LT.value)) {
				calcConvertDesiredAmountLTToKG(frm);
			}
		}
		
	}
	
	function calcandprintConcentratingSolutions(oForm) {
		if (calcConcentratingSolutions(oForm)) {
			print();
		}
	}
		
	function calcConcentratingSolutions(frm) {
		doAllConversions(frm);
		if (validateCalcConcentratingSolutions(frm)) { 
			frm.Result_Weak_Solution_KG.value = (frm.Desired_Amount_KG.value*(frm.Flake_Concentration_Percent.value-frm.Desired_Concentration_Percent.value))/(frm.Flake_Concentration_Percent.value-frm.Weak_Concentration_Percent.value);		
			frm.Result_Weak_Solution_KG.value = precisionRound(frm.Result_Weak_Solution_KG.value, 100);				
			frm.Result_Flake_Solution_KG.value = (frm.Desired_Amount_KG.value-frm.Result_Weak_Solution_KG.value);		
			frm.Result_Flake_Solution_KG.value = precisionRound(frm.Result_Flake_Solution_KG.value, 100);							
			frm.Result_Weak_Solution_LT.value = calcKGToLT(frm.Result_Weak_Solution_KG.value, frm.Weak_Concentration_KGM3.value);
			return true;
		}		
		return false;
	}
	//*******************************************************************************//
	//End Functions to calculate values
	//*******************************************************************************//			
	window.onload = function()	
	{
		changeBGColorOfDisabled(document.forms['FormCalcConcentratingSolutions']);
	}
