function fattening(lwg,gain) {
	var lw=new Array();
	lw["100"]=new Array(	1.5,	1.62,	1.74,	1.8,	1.88,	2.04,	2.2,	2.28,	2.36,	2.4,	2.46,	2.58,	2.7,	2.86,	3.02,	3.1,	3.16,	3.28,	3.4);
	lw["125"]=new Array(	1.75,	1.85,	1.95,	2,	2.09,	2.27,	2.45,	2.57,	2.69,	2.75,	2.82,	2.96,	3.1,	3.26,	3.42,	3.5,	3.58,	3.74,	3.9);
	lw["150"]=new Array(	2,	2.08,	2.16,	2.2,	2.3,	2.5,	2.7,	2.86,	3.02,	3.1,	3.18,	3.34,	3.5,	3.66,	3.82,	3.9,	4,	4.2,	4.4);
	lw["175"]=new Array(	2.1,	2.24,	2.38,	2.45,	2.54,	2.72,	2.9,	3.1,	3.3,	3.4,	3.48,	3.64,	3.8,	4.02,	4.24,	4.35,	4.45,	4.65,	4.85);
	lw["200"]=new Array(	2.2,	2.4,	2.6,	2.7,	2.78,	2.94,	3.1,	3.34,	3.58,	3.7,	3.78,	3.94,	4.1,	4.38,	4.66,	4.8,	4.9,	5.1,	5.3);
	lw["225"]=new Array(	2.35,	2.57,	2.79,	2.9,	2.99,	3.17,	3.35,	3.59,	3.83,	3.95,	4.05,	4.25,	4.45,	4.73,	5.01,	5.15,	5.27,	5.51,	5.75);
	lw["250"]=new Array(	2.5,	2.74,	2.98,	3.1,	3.2,	3.4,	3.6,	3.84,	4.08,	4.2,	4.32,	4.56,	4.8,	5.08,	5.36,	5.5,	5.64,	5.92,	6.2);
	lw["275"]=new Array(	2.65,	2.89,	3.13,	3.25,	3.36,	3.58,	3.8,	4.08,	4.36,	4.5,	4.62,	4.86,	5.1,	5.42,	5.74,	5.9,	6.03,	6.29,	6.55);
	lw["300"]=new Array(	2.8,	3.04,	3.28,	3.4,	3.52,	3.76,	4,	4.32,	4.64,	4.8,	4.92,	5.16,	5.4,	5.76,	6.12,	6.3,	6.42,	6.66,	6.9);
	lw["325"]=new Array(	2.95,	3.21,	3.47,	3.6,	3.73,	3.99,	4.25,	4.55,	4.85,	5,	5.14,	5.42,	5.7,	6.06,	6.42,	6.6,	6.74,	7.02,	7.3);
	lw["350"]=new Array(	3.1,	3.38,	3.66,	3.8,	3.94,	4.22,	4.5,	4.78,	5.06,	5.2,	5.36,	5.68,	6,	6.36,	6.72,	6.9,	7.06,	7.38,	7.7);
	lw["375"]=new Array(	3.2,	3.5,	3.8,	3.95,	4.09,	4.37,	4.65,	4.97,	5.29,	5.45,	5.62,	5.96,	6.3,	6.66,	7.02,	7.2,	7.38,	7.74,	8.1);
	lw["400"]=new Array(	3.3,	3.62,	3.94,	4.1,	4.24,	4.52,	4.8,	5.16,	5.52,	5.7,	5.88,	6.24,	6.6,	6.96,	7.32,	7.5,	7.7,	8.1,	8.5);
	lw["425"]=new Array(	3.45,	3.77,	4.09,	4.25,	4.41,	4.73,	5.05,	5.41,	5.77,	5.95,	6.14,	6.52,	6.9,	7.26,	7.62,	7.8,	8.01,	8.43,	8.85);
	lw["450"]=new Array(	3.6,	3.92,	4.24,	4.4,	4.58,	4.94,	5.3,	5.66,	6.02,	6.2,	6.4,	6.8,	7.2,	7.56,	7.92,	8.1,	8.32,	8.76,	9.2);
	lw["475"]=new Array(	3.75,	4.07,	4.39,	4.55,	4.74,	5.12,	5.5,	5.86,	6.22,	6.4,	6.61,	7.03,	7.45,	7.85,	8.25,	8.45,	8.68,	9.14,	9.6);
	lw["500"]=new Array(	3.9,	4.22,	4.54,	4.7,	4.9,	5.3,	5.7,	6.06,	6.42,	6.6,	6.82,	7.26,	7.7,	8.14,	8.58,	8.8,	9.04,	9.52,	10);
	lw["525"]=new Array(	4.1,	4.42,	4.74,	4.9,	5.1,	5.5,	5.9,	6.28,	6.66,	6.85,	7.08,	7.54,	8,	8.48,	8.96,	9.2,	9.45,	9.95,	10.45);
	lw["550"]=new Array(	4.3,	4.62,	4.94,	5.1,	5.3,	5.7,	6.1,	6.5,	6.9,	7.1,	7.34,	7.82,	8.3,	8.82,	9.34,	9.6,	9.86,	10.38,	10.9);
	var lwg_r=Math.round(lwg/25.0)*25;
	if ( lwg_r < 100 || lwg_r > 550 ) {
		alert( 'LWG ' + lwg + ' is out of range!' );
		return Number.NaN;
	}
	var index=0;
	var gain_per_day=new Array(	0,	0.1,	0.2,	0.25,	0.3,	0.4,	0.5,	0.6,	0.7,	0.75,	0.8,	0.9,	1,	1.1,	1.2,	1.25,	1.3,	1.4,	1.5);
	for( var i=0;i<gain_per_day.length;i++) {
		if ( gain_per_day[i]<gain) {
			index=i;
		}
	}
	var calc=lw[lwg_r][index];
	return (calc);
}

function dp_2(x) {
	var y=Math.floor(x*100.0)/100.0;
	var ys = new String(y);
	var dot=ys.lastIndexOf('.');
	if ( dot == -1 ) { return ys+".00"; } 
	if ( ys.length-dot == 2) { return ys+"0"; }
	return y;
}

function dp_0(x) {
	return Math.floor(x);
}

function dp_1(x) {
	y=Math.floor(x*10.0)/10.0;
	var ys=new String(y);
	var dot=ys.lastIndexOf('.');
	if ( dot == -1 ) { return ys+".0"; } 
	return y;
}

function new_lw(dressing_adjust)
{
	var calc=document.forms.calc;
		var startlw=1.0*calc.startlw.value;
		var avg_gain = 1.0*calc.avggainday.value;
		var totaldays = 1.0*calc.totaldays.value;
		var totalgain=1.0*calc.totalgain.value;
	    calc.finallw.value = totalgain+Math.ceil(startlw);
		var lookup=startlw*1.0+0.5*totalgain;
		var su_value=fattening(lookup,avg_gain);
		calc.stockunitbasis_su.value=Math.floor((su_value)*10) / 10;
		var dressing_adjust_user=1.0*calc.dressingadjust.value;
		var dressing_value = dp_1(((calc.finallw.value-400)*0.02)+50.5+dressing_adjust+dressing_adjust_user);
		calc.dressing.value=dressing_value;
		calc.carcasswt.value=dp_0(calc.finallw.value*dressing_value/100.0);
		var carcassvalue=(calc.carcasswt.value*calc.netsaleprice.value)/100.0;
		calc.carcassvalue.value=dp_0(carcassvalue);
		var grossprofit=carcassvalue-calc.purchasevalue.value;
		calc.grossprofit.value=dp_0(grossprofit);
		var netprofit=grossprofit-1.0*calc.totalcost.value;
		calc.netprofitperanimal.value=dp_0(netprofit);
		var totaldays= calc.totaldays.value;
		
		var peryear=netprofit/totaldays*365.0;
		calc.netprofitperyear.value=dp_0(peryear);
		var perday=(netprofit/totaldays*100.0);
		calc.netprofitperday.value=dp_0(perday);
		var stockunitbasis_kgdm=555*su_value;
		calc.stockunitbasis_kgdm.value=dp_0(stockunitbasis_kgdm);
		calc.netprofit_su_year.value=dp_2(peryear/su_value);
		calc.netprofit_kgdm.value=dp_1(peryear/stockunitbasis_kgdm*100.0);
}

function lw_gain(dressing_adjust) {
	var calc=document.forms.calc;
		var totaldays = 0.0;
		var sum = 0.0;
		for ( var i  = 1; i < 9;i++ ) {
			days = 1.0 * eval("calc.day"+i+".value" );
			lwg = 1.0 * eval("calc.lwg"+i+".value"); 
			if (isNaN(days)) { days=0.0};
			if (isNaN(lwg)) { lwg=0.0 };
			sum = sum + lwg * days;
			totaldays=totaldays+days;
		}
		calc.totaldays.value = totaldays;
		calc.avggainday.value = Math.floor((sum / totaldays)*100) / 100;
		calc.totalgain.value = dp_0(sum);
	costs(dressing_adjust);
	return 0;
}

function costs(dressing_adjust) {
	var calc=document.forms.calc;
		var deaths=dp_0(calc.death.value*calc.purchasevalue.value/100.0*calc.totaldays.value/365.0);
		var interest=dp_0(calc.interest.value*calc.purchasevalue.value/100.0*calc.totaldays.value/365.0);
		calc.cost3.value=deaths;
		calc.cost4.value=interest;
		var sum = 0.0;
		for ( var i  = 1; i < 5;i++ ) {
			cost = 1.0 * eval("calc.cost"+i+".value" );
			if (isNaN(cost)) { cost=0.0 };
			sum = sum + 1.0* cost;
		}
	
		calc.totalcost.value = dp_0(sum);
		calc.lesscosts.value=dp_0(Math.floor(sum));
	new_lw(dressing_adjust);
	return 0;
}


	