// JavaScript Document
function makeNumerical(o){
	var bag = '.-0123456789'
	var s = ''
	for(var i=0;i<o.value.length;i++)
		if(bag.indexOf(o.value.charAt(i)) != -1)
			s+=o.value.charAt(i)
	
	if(s == '')
		o.value = ''
	else
		o.value = s
		
}

function checkLowMeDM(obj)
{
	var meDM = obj.value;
	if(parseFloat(meDM) <= 10.4 && parseFloat(meDM) >=10)
	{		//alert("Cows will not gain condition if ME less than 10.0.  Supplement needs to be 10.5 ME plus to put on half a CS in 30 days.")
obj.parentNode.style.backgroundColor = "#FC852E";
	}
	else if(parseInt(meDM) < 10)
	{
		//alert("Cows will not gain condition if ME less than 10.0.  Supplement needs to be 10.5 ME plus to put on half a CS in 30 days")
		obj.parentNode.style.backgroundColor = "#ff0000";
		setTimeout("returnObjById('"+obj.id+"').focus()", 10)
		return false;
	}
	else
	{
		obj.parentNode.style.backgroundColor = "#86A8F9";
	}
}

function calculateTHI()
{
	makeNumerical(returnObjById("temp"))
	makeNumerical(returnObjById("rh"))
	
	
	var temp 
	if(returnObjById("temp").value == "")
		temp = 0
	else
		temp = parseInt( returnObjById("temp").value);
		
	var rh 
	if(returnObjById("rh").value == "")
		rh = 0
	else
		rh= parseInt(returnObjById("rh").value);
	
	var result = Math.round( (1.8 * temp + 32)-((0.55-0.0055*rh) * (1.8 * temp - 26)));
	returnObjById("thiResultDiv").innerHTML = result;
	
}

function calculateCSGain()
{
	calculateNitrogen();
	calculateMolasses();
	calculate25PKE();
	calculatePKE();
	calculateMaizeSilage();
	calculateGrazing();
	calculateGrain();
	calculateBaleage();
	calculateReturnPerCSGain();
}

function calculateNitrogen()
{
	var price = returnObjById("price_nitrogen").value
	var kgDM = returnObjById("KgDM_nitrogen").value
	var costTooneDM = returnObjById("Cost_Toone_DM_nitrogen").value;
	var utilisation = returnObjById("Utilisation_nitrogen").value;
	var meDM = returnObjById("ME_DM_nitrogen").value;
		var allFieldEntered = true
		

	
	if(price != "" || kgDM != "" || costTooneDM != "" || utilisation != "" || meDM != "")
	{	
		if(price == "")
		{
			returnObjById("price_nitrogen").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("price_nitrogen").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(kgDM == "")
		{
			returnObjById("KgDM_nitrogen").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("KgDM_nitrogen").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(costTooneDM == "")
		{
			returnObjById("Cost_Toone_DM_nitrogen").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("Cost_Toone_DM_nitrogen").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(utilisation == "")
		{
			returnObjById("Utilisation_nitrogen").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("Utilisation_nitrogen").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(meDM == "")
		{
			returnObjById("ME_DM_nitrogen").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("ME_DM_nitrogen").parentNode.style.backgroundColor = "#86A8F9";
	if(parseFloat(meDM) <= 10.4 && parseFloat(meDM) >=10)
	{		//alert("Cows will not gain condition if ME less than 10.0.  Supplement needs to be 10.5 ME plus to put on half a CS in 30 days.")
returnObjById("ME_DM_nitrogen").parentNode.style.backgroundColor = "#FC852E";
	}
	else if(parseInt(meDM) < 10)
	{
		//alert("Cows will not gain condition if ME less than 10.0.  Supplement needs to be 10.5 ME plus to put on half a CS in 30 days")
		returnObjById("ME_DM_nitrogen").parentNode.style.backgroundColor = "#ff0000";
	}
	else
	{
		returnObjById("ME_DM_nitrogen").parentNode.style.backgroundColor = "#86A8F9";
	}
		}
		
		if(allFieldEntered)
		{
			var feedCost = Math.round((parseFloat(price)/parseFloat(kgDM)) * 1000)
			returnObjById("Nitrogen_Feed_Cost").innerHTML = "$" + feedCost
			//(E5+F5)/G5/1000*100
			var dmEaten = Math.round((feedCost + parseFloat(costTooneDM))/(parseFloat(utilisation)/100.00)/1000*100)
			returnObjById("Nitrogen_DM_Eaten").innerHTML = dmEaten;
			
			var dmEatenCS = Math.round(Math.floor(2345.00/parseFloat(meDM))/10)*10;
			returnObjById("Nitrogen_DM_Eaten_CS").innerHTML = dmEatenCS;

			var csGain = Math.round(dmEaten/100.00 * dmEatenCS)
			
			returnObjById("Nitrogen_CS_Gain").innerHTML = "$" + csGain

		}

	}
	return allFieldEntered;
}

function calculateMolasses()
{
	var price = returnObjById("price_molasses").value
	var kgDM = returnObjById("KgDM_molasses").value
	var costTooneDM = returnObjById("Cost_Tonne_DM_molasses").value;
	var utilisation = returnObjById("Utilisation_molasses").value;
	var meDM = returnObjById("ME_DM_molasses").value;
		var allFieldEntered = true
		
	
	if(price != "" || kgDM != "" || costTooneDM != "" || utilisation != "" || meDM != "")
	{	
		if(price == "")
		{
			returnObjById("price_molasses").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("price_molasses").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(kgDM == "")
		{
			returnObjById("KgDM_molasses").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("KgDM_molasses").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(costTooneDM == "")
		{
			returnObjById("Cost_Tonne_DM_molasses").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("Cost_Tonne_DM_molasses").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(utilisation == "")
		{
			returnObjById("Utilisation_molasses").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("Utilisation_molasses").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(meDM == "")
		{
			returnObjById("ME_DM_molasses").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("ME_DM_molasses").parentNode.style.backgroundColor = "#86A8F9";
	if(parseFloat(meDM) <= 10.4 && parseFloat(meDM) >=10)
	{		//alert("Cows will not gain condition if ME less than 10.0.  Supplement needs to be 10.5 ME plus to put on half a CS in 30 days.")
returnObjById("ME_DM_molasses").parentNode.style.backgroundColor = "#FC852E";
	}
	else if(parseInt(meDM) < 10)
	{
		//alert("Cows will not gain condition if ME less than 10.0.  Supplement needs to be 10.5 ME plus to put on half a CS in 30 days")
		returnObjById("ME_DM_molasses").parentNode.style.backgroundColor = "#ff0000";
	}
	else
	{
		returnObjById("ME_DM_molasses").parentNode.style.backgroundColor = "#86A8F9";
	}
		}
		
		if(allFieldEntered)
		{
			var feedCost = Math.round((parseFloat(price)/parseFloat(kgDM)) * 1000)
			returnObjById("molasses_Feed_Cost").innerHTML = "$" + feedCost
			//(E5+F5)/G5/1000*100
			var dmEaten = Math.round((feedCost + parseFloat(costTooneDM))/(parseFloat(utilisation)/100.00)/1000*100)
			returnObjById("molasses_DM_Eaten").innerHTML = dmEaten;
			
			var dmEatenCS = Math.round(Math.floor(1685.00/parseFloat(meDM))/10) *10;
			returnObjById("molasses_DM_Eaten_CS").innerHTML = dmEatenCS;

			var csGain = Math.round(dmEaten/100.00 * dmEatenCS)
			
			returnObjById("Molasses_CS_Gain").innerHTML = "$" + csGain

		}

	}
	return allFieldEntered
}

function calculate25PKE()
{
	var price = returnObjById("price_25pke").value
	var kgDM = returnObjById("KgDM_25pke").value
	var costTooneDM = returnObjById("Cost_Tonne_DM_25pke").value;
	var utilisation = returnObjById("Utilisation_25pke").value;
	var meDM = returnObjById("ME_DM_25pke").value;
		var allFieldEntered = true


	if(price != "" || kgDM != "" || costTooneDM != "" || utilisation != "" || meDM != "")
	{	
		if(price == "")
		{
			returnObjById("price_25pke").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("price_25pke").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(kgDM == "")
		{
			returnObjById("KgDM_25pke").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("KgDM_25pke").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(costTooneDM == "")
		{
			returnObjById("Cost_Tonne_DM_25pke").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("Cost_Tonne_DM_25pke").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(utilisation == "")
		{
			returnObjById("Utilisation_25pke").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("Utilisation_25pke").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(meDM == "")
		{
			returnObjById("ME_DM_25pke").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("ME_DM_25pke").parentNode.style.backgroundColor = "#86A8F9";
	if(parseFloat(meDM) <= 10.4 && parseFloat(meDM) >=10)
	{		//alert("Cows will not gain condition if ME less than 10.0.  Supplement needs to be 10.5 ME plus to put on half a CS in 30 days.")
returnObjById("ME_DM_25pke").parentNode.style.backgroundColor = "#FC852E";
	}
	else if(parseInt(meDM) < 10)
	{
		//alert("Cows will not gain condition if ME less than 10.0.  Supplement needs to be 10.5 ME plus to put on half a CS in 30 days")
		returnObjById("ME_DM_25pke").parentNode.style.backgroundColor = "#ff0000";
	}
	else
	{
		returnObjById("ME_DM_25pke").parentNode.style.backgroundColor = "#86A8F9";
	}
		}
		
		if(allFieldEntered)
		{
			var feedCost = Math.round((parseFloat(price)/parseFloat(kgDM)) * 1000)
			returnObjById("25pke_Feed_Cost").innerHTML = "$" + feedCost
			//(E5+F5)/G5/1000*100
			var dmEaten = Math.round((feedCost + parseFloat(costTooneDM))/(parseFloat(utilisation)/100.00)/1000*100)
			returnObjById("25pke_DM_Eaten").innerHTML = dmEaten;
			
			var dmEatenCS = Math.round(Math.floor(1775.00/parseFloat(meDM))/10) *10;
			returnObjById("25pke_DM_Eaten_CS").innerHTML = dmEatenCS;

			var csGain = Math.round(dmEaten/100.00 * dmEatenCS)
			
			returnObjById("25_pke_CS_Gain").innerHTML = "$" + csGain

		}

	}
	return allFieldEntered
}

function calculatePKE()
{
	var price = returnObjById("price_pke").value
	var kgDM = returnObjById("KgDM_pke").value
	var costTooneDM = returnObjById("Cost_Tonne_DM_pke").value;
	var utilisation = returnObjById("Utilisation_pke").value;
	var meDM = returnObjById("ME_DM_pke").value;
		var allFieldEntered = true
		
	
	if(price != "" || kgDM != "" || costTooneDM != "" || utilisation != "" || meDM != "")
	{	
		if(price == "")
		{
			returnObjById("price_pke").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("price_pke").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(kgDM == "")
		{
			returnObjById("KgDM_pke").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("KgDM_pke").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(costTooneDM == "")
		{
			returnObjById("Cost_Tonne_DM_pke").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("Cost_Tonne_DM_pke").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(utilisation == "")
		{
			returnObjById("Utilisation_pke").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("Utilisation_pke").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(meDM == "")
		{
			returnObjById("ME_DM_pke").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("ME_DM_pke").parentNode.style.backgroundColor = "#86A8F9";
	if(parseFloat(meDM) <= 10.4 && parseFloat(meDM) >=10)
	{		//alert("Cows will not gain condition if ME less than 10.0.  Supplement needs to be 10.5 ME plus to put on half a CS in 30 days.")
returnObjById("ME_DM_pke").parentNode.style.backgroundColor = "#FC852E";
	}
	else if(parseInt(meDM) < 10)
	{
		//alert("Cows will not gain condition if ME less than 10.0.  Supplement needs to be 10.5 ME plus to put on half a CS in 30 days")
		returnObjById("ME_DM_pke").parentNode.style.backgroundColor = "#ff0000";
	}
	else
	{
		returnObjById("ME_DM_pke").parentNode.style.backgroundColor = "#86A8F9";
	}
		}
		
		if(allFieldEntered)
		{
			var feedCost = Math.round((parseFloat(price)/parseFloat(kgDM)) * 1000)
			returnObjById("pke_Feed_Cost").innerHTML = "$" + feedCost
			//(E5+F5)/G5/1000*100
			var dmEaten = Math.round((feedCost + parseFloat(costTooneDM))/(parseFloat(utilisation)/100.00)/1000*100)
			returnObjById("pke_DM_Eaten").innerHTML = dmEaten;
			
			var dmEatenCS = Math.round(Math.floor(1802.00/parseFloat(meDM))/10) *10;
			returnObjById("pke_DM_Eaten_CS").innerHTML = dmEatenCS;

			var csGain = Math.round(dmEaten/100.00 * dmEatenCS)
			
			returnObjById("pke_CS_Gain").innerHTML = "$" + csGain

		}

	}
	return allFieldEntered
}

function calculateMaizeSilage()
{
	var price = returnObjById("price_maize_silage").value
	var kgDM = returnObjById("KgDM_maize_silage").value
	var costTooneDM = returnObjById("Cost_Tonne_DM_maize_silage").value;
	var utilisation = returnObjById("Utilisation_maize_silage").value;
	var meDM = returnObjById("ME_DM_maize_silage").value;
		var allFieldEntered = true
		


	if(price != "" || kgDM != "" || costTooneDM != "" || utilisation != "" || meDM != "")
	{	
		if(price == "")
		{
			returnObjById("price_maize_silage").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("price_maize_silage").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(kgDM == "")
		{
			returnObjById("KgDM_maize_silage").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("KgDM_maize_silage").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(costTooneDM == "")
		{
			returnObjById("Cost_Tonne_DM_maize_silage").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("Cost_Tonne_DM_maize_silage").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(utilisation == "")
		{
			returnObjById("Utilisation_maize_silage").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("Utilisation_maize_silage").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(meDM == "")
		{
			returnObjById("ME_DM_maize_silage").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("ME_DM_maize_silage").parentNode.style.backgroundColor = "#86A8F9";
	if(parseFloat(meDM) <= 10.4 && parseFloat(meDM) >=10)
	{		//alert("Cows will not gain condition if ME less than 10.0.  Supplement needs to be 10.5 ME plus to put on half a CS in 30 days.")
returnObjById("ME_DM_maize_silage").parentNode.style.backgroundColor = "#FC852E";
	}
	else if(parseInt(meDM) < 10)
	{
		//alert("Cows will not gain condition if ME less than 10.0.  Supplement needs to be 10.5 ME plus to put on half a CS in 30 days")
		returnObjById("ME_DM_maize_silage").parentNode.style.backgroundColor = "#ff0000";
	}
	else
	{
		returnObjById("ME_DM_maize_silage").parentNode.style.backgroundColor = "#86A8F9";
	}
		}
		
		if(allFieldEntered)
		{
			var feedCost = Math.round((parseFloat(price)/parseFloat(kgDM)) * 1000)
			returnObjById("maize_silage_Feed_Cost").innerHTML = "$" + feedCost
			//(E5+F5)/G5/1000*100
			var dmEaten = Math.round((feedCost + parseFloat(costTooneDM))/(parseFloat(utilisation)/100.00)/1000*100)
			returnObjById("maize_silage_DM_Eaten").innerHTML = dmEaten;
			
			var dmEatenCS = Math.round(Math.floor(1802.00/parseFloat(meDM))/10) *10;
			returnObjById("maize_silage_DM_Eaten_CS").innerHTML = dmEatenCS;

			var csGain = Math.round(dmEaten/100.00 * dmEatenCS)
			
			returnObjById("Maize_Silage_CS_Gain").innerHTML = "$" + csGain

		}

	}
	return allFieldEntered
}

function calculateGrazing()
{
	var price = returnObjById("price_grazing").value
	var kgDM = returnObjById("KgDM_grazing").value
	var costTooneDM = returnObjById("Cost_Tonne_DM_grazing").value;
	var utilisation = returnObjById("Utilisation_grazing").value;
	var meDM = returnObjById("ME_DM_grazing").value;
		var allFieldEntered = true

if(price != "" || kgDM != "" || costTooneDM != "" || utilisation != "" || meDM != "")
	{	
		if(price == "")
		{
			returnObjById("price_grazing").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("price_grazing").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(kgDM == "")
		{
			returnObjById("KgDM_grazing").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("KgDM_grazing").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(costTooneDM == "")
		{
			returnObjById("Cost_Tonne_DM_grazing").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("Cost_Tonne_DM_grazing").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(utilisation == "")
		{
			returnObjById("Utilisation_grazing").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("Utilisation_grazing").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(meDM == "")
		{
			returnObjById("ME_DM_grazing").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("ME_DM_grazing").parentNode.style.backgroundColor = "#86A8F9";
			if(parseFloat(meDM) <= 10.4 && parseFloat(meDM) >=10)
	{		//alert("Cows will not gain condition if ME less than 10.0.  Supplement needs to be 10.5 ME plus to put on half a CS in 30 days.")
returnObjById("ME_DM_grazing").parentNode.style.backgroundColor = "#FC852E";
	}
	else if(parseInt(meDM) < 10)
	{
		//alert("Cows will not gain condition if ME less than 10.0.  Supplement needs to be 10.5 ME plus to put on half a CS in 30 days")
		returnObjById("ME_DM_grazing").parentNode.style.backgroundColor = "#ff0000";
	}
	else
	{
		returnObjById("ME_DM_grazing").parentNode.style.backgroundColor = "#86A8F9";
	}


		}
		
		if(allFieldEntered)
		{
			var feedCost = Math.round((parseFloat(price)/parseFloat(kgDM)) * 1000)
			returnObjById("grazing_Feed_Cost").innerHTML = "$" + feedCost
			//(E5+F5)/G5/1000*100
			var dmEaten = Math.round((feedCost + parseFloat(costTooneDM))/(parseFloat(utilisation)/100.00)/1000*100)
			returnObjById("grazing_DM_Eaten").innerHTML = dmEaten;
			
			var dmEatenCS = Math.round(Math.floor(2348.00/parseFloat(meDM))/10) *10;
			returnObjById("grazing_DM_Eaten_CS").innerHTML = dmEatenCS;

			var csGain = Math.round(dmEaten/100.00 * dmEatenCS)
			
			returnObjById("Grazing_CS_Gain").innerHTML = "$" + csGain

		}

	}
	return allFieldEntered
}

function calculateGrain()
{
	var price = returnObjById("price_grain").value
	var kgDM = returnObjById("KgDM_grain").value
	var costTooneDM = returnObjById("Cost_Tonne_DM_grain").value;
	var utilisation = returnObjById("Utilisation_grain").value;
	var meDM = returnObjById("ME_DM_grain").value;
		var allFieldEntered = true
		


if(price != "" || kgDM != "" || costTooneDM != "" || utilisation != "" || meDM != "")
	{	
		if(price == "")
		{
			returnObjById("price_grain").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("price_grain").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(kgDM == "")
		{
			returnObjById("KgDM_grain").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("KgDM_grain").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(costTooneDM == "")
		{
			returnObjById("Cost_Tonne_DM_grain").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("Cost_Tonne_DM_grain").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(utilisation == "")
		{
			returnObjById("Utilisation_grain").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("Utilisation_grain").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(meDM == "")
		{
			returnObjById("ME_DM_grain").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("ME_DM_grain").parentNode.style.backgroundColor = "#86A8F9";
					if(parseFloat(meDM) <= 10.4 && parseFloat(meDM) >=10)
			{		//alert("Cows will not gain condition if ME less than 10.0.  Supplement needs to be 10.5 ME plus to put on half a CS in 30 days.")
returnObjById("ME_DM_grain").parentNode.style.backgroundColor = "#FC852E";
			}
			else if(parseInt(meDM) < 10)
			{
				//alert("Cows will not gain condition if ME less than 10.0.  Supplement needs to be 10.5 ME plus to put on half a CS in 30 days")
				returnObjById("ME_DM_grain").parentNode.style.backgroundColor = "#ff0000";
			}
			else
			{
				returnObjById("ME_DM_grain").parentNode.style.backgroundColor = "#86A8F9";
			}

		}
		
		if(allFieldEntered)
		{
			var feedCost = Math.round((parseFloat(price)/parseFloat(kgDM)) * 1000)
			returnObjById("grain_Feed_Cost").innerHTML = "$" + feedCost
			//(E5+F5)/G5/1000*100
			var dmEaten = Math.round((feedCost + parseFloat(costTooneDM))/(parseFloat(utilisation)/100.00)/1000*100)
			returnObjById("grain_DM_Eaten").innerHTML = dmEaten;
			
			var dmEatenCS = Math.round(Math.floor(1650.00/parseFloat(meDM))/10) *10;
			returnObjById("grain_DM_Eaten_CS").innerHTML = dmEatenCS;

			var csGain = Math.round(dmEaten/100.00 * dmEatenCS)
			
			returnObjById("Grain_CS_Gain").innerHTML = "$" + csGain

		}

	}
	return allFieldEntered
}

function calculateBaleage()
{
	var price = returnObjById("price_baleage").value
	var kgDM = returnObjById("KgDM_baleage").value
	var costTooneDM = returnObjById("Cost_Tonne_DM_baleage").value;
	var utilisation = returnObjById("Utilisation_baleage").value;
	var meDM = returnObjById("ME_DM_baleage").value;
		var allFieldEntered = true


if(price != "" || kgDM != "" || costTooneDM != "" || utilisation != "" || meDM != "")
	{	
		if(price == "")
		{
			returnObjById("price_baleage").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("price_baleage").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(kgDM == "")
		{
			returnObjById("KgDM_baleage").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("KgDM_baleage").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(costTooneDM == "")
		{
			returnObjById("Cost_Tonne_DM_baleage").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("Cost_Tonne_DM_baleage").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(utilisation == "")
		{
			returnObjById("Utilisation_baleage").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("Utilisation_baleage").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(meDM == "")
		{
			returnObjById("ME_DM_baleage").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("ME_DM_baleage").parentNode.style.backgroundColor = "#86A8F9";
				if(parseFloat(meDM) <= 10.4 && parseFloat(meDM) >=10)
			{		//alert("Cows will not gain condition if ME less than 10.0.  Supplement needs to be 10.5 ME plus to put on half a CS in 30 days.")
returnObjById("ME_DM_baleage").parentNode.style.backgroundColor = "#FC852E";
			}
			else if(parseInt(meDM) < 10)
			{
				//alert("Cows will not gain condition if ME less than 10.0.  Supplement needs to be 10.5 ME plus to put on half a CS in 30 days")
				returnObjById("ME_DM_baleage").parentNode.style.backgroundColor = "#ff0000";
			}
			else
			{
				returnObjById("ME_DM_baleage").parentNode.style.backgroundColor = "#86A8F9";
			}

		}
		
		if(allFieldEntered)
		{
			var feedCost = Math.round((parseFloat(price)/parseFloat(kgDM)) * 1000)
			returnObjById("baleage_Feed_Cost").innerHTML = "$" + feedCost
			//(E5+F5)/G5/1000*100
			var dmEaten = Math.round((feedCost + parseFloat(costTooneDM))/(parseFloat(utilisation)/100.00)/1000*100)
			returnObjById("baleage_DM_Eaten").innerHTML = dmEaten;
			
			var dmEatenCS = Math.round(Math.floor(2348.00/parseFloat(meDM))/10) *10;
			returnObjById("baleage_DM_Eaten_CS").innerHTML = dmEatenCS;

			var csGain = Math.round(dmEaten/100.00 * dmEatenCS)
			
			returnObjById("Baleage_CS_Gain").innerHTML = "$" + csGain

		}

	}
	return allFieldEntered
}

function calculateReturnPerCSGain()
{
	var milksolids = returnObjById("milksolids").value;
	var kgMSPayoutOf = returnObjById("kgMSPayoutOf").value;
	var reproduction = returnObjById("reproduction").value;
	var allFieldEntered = true;
	if(milksolids != "" || kgMSPayoutOf != "" || reproduction != "")
	{
		if(milksolids == "")
		{
			returnObjById("milksolids").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("milksolids").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(kgMSPayoutOf == "")
		{
			returnObjById("kgMSPayoutOf").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("kgMSPayoutOf").parentNode.style.backgroundColor = "#86A8F9";
		}
		
		if(reproduction == "")
		{
			returnObjById("reproduction").parentNode.style.backgroundColor = "#ff0000";
			allFieldEntered = false;
		}
		else 
		{
			returnObjById("reproduction").parentNode.style.backgroundColor = "#ffffff";
		}

		if(allFieldEntered)
		{
			var returnPerCSGain = Math.round(parseFloat(milksolids) * parseFloat(kgMSPayoutOf) );
			returnObjById("returnPerCSGain").innerHTML = "$" +  returnPerCSGain
			returnObjById("csGainReturn").innerHTML = "$" + (returnPerCSGain + parseFloat(reproduction))
		}
	}
	
	return allFieldEntered;
}