// JavaScript Document
			
function setFocus(){
	document.formOne.boxOne.focus()
	}
	
function Sold_per_size(sField){
	var winSoldPerSize;
	winSoldPerSize = window.open("","Help", "width=250,height=150");
	var winText;
	winText = "<html><head><title>Help</title>";
	winText = winText + "<link href='Styles.css' rel='stylesheet' type='text/css'></head>";
	winText = winText + "<body><p>Enter percent value for 3 sizes. The sum of all 3 values should add up to 100%</p></body>"
	
	winSoldPerSize.document.write (winText);
	
	return false;
}

function correctData(){
	var errWindow;
	var errStr;
	var errNum;
	errNum = 0;
	errStr = "";
	
	if (isNaN(ROI.txtKegCost.value) == true )
		{errStr = "Keg Cost has to be numeric.<br>";
		errNum = errNum + 1;
		}	
	if (isNaN(ROI.txtNumKegs.value)== true)
		{errStr = errStr + "Number of kegs has to be numeric.<br>";
		errNum = errNum + 1;
		}		
	if (isNaN(ROI.txtWeeklySales.value)== true)
		{errStr = errStr + "Weekly sales has to be numeric.<br>";
		errNum = errNum + 1;
		}
	if (isNaN(ROI.txtNumTap.value) == true || ROI.txtNumTap.value < 1 || ROI.txtNumTap.value > 64)
		{errStr = "Number of Taps has to be a numeric value 1-64.<br>";
		errNum = errNum + 1;
		}	
	
	if (isNaN(ROI.txtWastePer.value)== true)
		{errStr = errStr + "Waste has to be a numeric value 0-100.<br>";
		errNum = errNum + 1;
		}
		
	if (eval(ROI.txtWastePer.value * 1)<0 || eval(ROI.txtWastePer.value * 1)>100)
		{errStr = errStr + "Waste has to be between 0 and 100.<br>";
		errNum = errNum + 1;
		}
		
	if (isNaN(ROI.txtSmSize.value)== true ||(isNaN(ROI.txtMedSize.value)== true) || (isNaN(ROI.txtLrgSize.value)== true))
		{errStr = errStr + "Pour size (in oz.) has to be numeric.<br>";
		errNum = errNum + 1;
		}	
	if (isNaN(ROI.txtSmPrice.value)== true || (isNaN(ROI.txtMedPrice.value)== true) || (isNaN(ROI.txtLrgPrice.value)== true))
		{errStr = errStr + "Price has to be numeric.<br>";
		errNum = errNum + 1;
		}	
	
	if (isNaN(ROI.txtSmPercent.value)== true || (isNaN(ROI.txtMedPercent.value)== true) || (isNaN(ROI.txtLrgPercent.value)== true))
		{errStr = errStr + "Please enter values 0-100. Pour percent has to be numeric.<br>";
		errNum = errNum + 1;
		}	
		
	if (eval(ROI.txtSmPercent.value * 1) + eval(ROI.txtMedPercent.value * 1) + eval(ROI.txtLrgPercent.value * 1)!= 100 )
		{errNum = errNum + 1;
		 errStr = errStr + "Please enter values 0-100. Percentages have to add up to 100%.<br>";
		}
		
	if (errNum > 0){	
	
	errWindow = window.open("","Error", "width=450,height=250");	
	errWindow.document.write ("<html><head><title>Error</title><link href='Styles.css' rel='stylesheet' type='text/css'></head></head><body><p>" + errStr + "</p></body></html>");
	//alert(errNum);
	return false;
	}
	else{
	return true;
	}
	
	}
	
	
function ROICalculate(){
	
	if (correctData() == true)
	{
	
	var numTap = eval(ROI.txtNumTap.value * 1);
	var expantion = parseInt((numTap-1)/8) ;
	
	var costPerKeg =  parseFloat(eval(ROI.txtKegCost.value * 1));
	var kegPerWeek = eval(ROI.txtNumKegs.value * 1);
	var weekSale = parseFloat(eval(ROI.txtWeeklySales.value * 1));
	
	var smSize = eval(ROI.txtSmSize.value * 1);
	var medSize = eval(ROI.txtMedSize.value * 1);
	var lgSize = eval(ROI.txtLrgSize.value * 1);
	
	var smPrice = eval(ROI.txtSmPrice.value * 1);
	var medPrice = eval(ROI.txtMedPrice.value  * 1);
	var lgPrice = eval(ROI.txtLrgPrice.value * 1);
	
	var smPercent = eval(ROI.txtSmPercent.value * 1);
	var medPercent = eval(ROI.txtMedPercent.value * 1);
	var lgPercent = eval(ROI.txtLrgPercent.value * 1);
	
	var wasteRec = eval(ROI.txtWastePer.value * 1);
	
	//BAC Cost calc
	var BACCost = 6000 + numTap * 500 + expantion * 1000;
	//alert (expantion);
	//alert (BACCost);
	//SERVING 
	// serving calc
	var smServ = (1984 * kegPerWeek * smPercent/100/smSize);
	var medServ = (1984 * kegPerWeek * medPercent/100/medSize);
	var lgServ = (1984 * kegPerWeek * lgPercent/100/lgSize);
	
	// serving output
	var smServOut = Math.round(smServ*100)/100;
	var medServOut = Math.round(medServ*100)/100;
	var lgServOut = Math.round(lgServ*100)/100;
	
	ROI.lblSmServ.value = smServOut;
	ROI.lblMedServ.value = medServOut;
	ROI.lblLgServ.value = lgServOut;
	
	//REVENUE
	//revenue
	var smRev = smServ * smPrice;
	var medRev = medServ * medPrice;
	var lgRev = lgServ * lgPrice;
	
	//revenue output
	ROI.lblSmRev.value = Math.round(smRev*100)/100;
	ROI.lblMedRev.value = Math.round(medRev*100)/100;
	ROI.lblLgRev.value = Math.round(lgRev*100)/100;
		
	var totalRev = (smRev + medRev + lgRev)* 1;
	ROI.lblTotalRev.value = Math.round(totalRev * 100)/100;
	
	//POUR
	var totalPour = costPerKeg * kegPerWeek/totalRev; //ideal Pour
	ROI.lblTotalPour.value = Math.round(totalPour * 100*100)/100;	
	
	var realPour = costPerKeg * kegPerWeek/weekSale; //real Pour
	//alert(realPour)
	
	ROI.lblRealPour.value = Math.round(realPour * 100*100)/100;
	ROI.lblRealRev.value = 	Math.round(weekSale * 100)/100;
	
	var smPour = totalPour * smPercent;
	var medPour = totalPour * medPercent;
	var lgPour = totalPour * lgPercent;
	
	// pour output
	ROI.lblSmPour.value = Math.round(smPour*100)/100;
	ROI.lblMedPour.value = Math.round(medPour*100)/100;
	ROI.lblLgPour.value = Math.round(lgPour*100)/100;
	
	//Loss Revenue
	lossRev = totalRev - weekSale;
	ROI.lblLossRev.value = Math.round(lossRev*100)/100;
	
	weekBeerLoss = totalPour * lossRev;
	ROI.lblWeeklyBeerLoss.value = Math.round(weekBeerLoss*100)/100;
	
	annualKegLoss = weekBeerLoss *52 / costPerKeg;
	annualPercentLoss = annualKegLoss / (kegPerWeek * 52);
	
	ROI.lblAnnualKegLoss.value = Math.round(annualKegLoss*100)/100;
	ROI.lblAnnualBeerLoss.value = Math.round(annualPercentLoss*100*100)/100; //%
	
	var weekRecCost = lossRev * wasteRec/100;
	//alert(weekRecCost)	
	var weekRecBeer = weekBeerLoss * (1-wasteRec/100);
	//alert(weekRecBeer)
	var weekTotalRec = weekRecCost + weekRecBeer;
	//alert (weekTotalRec)
	ROI.lblWeeklyRecBeer.value = Math.round(weekRecBeer*100)/100;
	ROI.lblWeeklyRecRev.value = Math.round(weekRecCost*100)/100;
	ROI.lblWeeklyTotalAndRec.value = Math.round(weekTotalRec*100)/100;
	
	var annualRec = weekTotalRec * 52;
	ROI.lblAnnualTotalAndRec.value = Math.round(annualRec*100)/100;
	
	var ROICalc = BACCost/annualRec *12;
	ROI.lblROIMonth.value = Math.round(ROICalc*100)/100;
	}
}


