	var heavyDrinksFirstHour = 3;
	var avgDrinksFirstHour = 2;	
	var lightDrinksFirstHour = 1;		
	
	var heavyDrinksSubsHour = 1.5;
	var avgDrinksSubsHour = 1;	
	var lightDrinksSubsHour = 0.5;
	
	var champsPerUnit = 5;
	var winePerUnit = 5;	
	var liquorPerUnit = 20;		
	
	function calculateTotalDrinks(partyDuration, lightDrinkers, avgDrinkers, heavyDrinkers) {
		// first calculate first hour
		var totalDrinks = heavyDrinksFirstHour*heavyDrinkers + avgDrinksFirstHour*avgDrinkers + lightDrinksFirstHour*lightDrinkers;
	    if( partyDuration > 1 ) {
			var numSubsequentHourDrinks = heavyDrinksSubsHour*heavyDrinkers + avgDrinksSubsHour*avgDrinkers + lightDrinksSubsHour*lightDrinkers;
			totalDrinks += numSubsequentHourDrinks*(partyDuration-1);
		}
		return totalDrinks;
	}
	
	function calculate() {
		// this is the button push, need to do some additional checking here

 		var champSelected = document.forms[0].serve_champ.checked;
		var wineSelected = document.forms[0].serve_wine.checked;
		var liquorSelected = document.forms[0].serve_liquor.checked;
		if( !champSelected && !wineSelected && !liquorSelected ) {
			alert('You must select at least one beverage type');
			return;
		}
		showHideDisplays();
		doCalculate();
	}
	
	function doCalculate() {
		// this is called to automatically calulate (onchange) and by the manual button push
		var duration = Math.ceil(parseFloat(document.forms[0].hours.value));
	    if( duration < 1 ) {
			alert('Duration must be 1 hour or greater');
			return;
		}
 		var champSelected = document.forms[0].serve_champ.checked;
		var wineSelected = document.forms[0].serve_wine.checked;
		var liquorSelected = document.forms[0].serve_liquor.checked;
		if( !champSelected && !wineSelected && !liquorSelected ) {
			return;
		}
		
		var lightDrinkers = parseInt(document.forms[0].num_light.value);
		var averageDrinkers = parseInt(document.forms[0].num_moderate.value);	
		var heavyDrinkers = parseInt(document.forms[0].num_heavy.value);	
		
		if( lightDrinkers < 0 || averageDrinkers < 0 || heavyDrinkers < 0 ) {
			alert('Please only use positive numbers');
			return;
		}
		
		
		var totalDrinks = calculateTotalDrinks(duration, lightDrinkers, averageDrinkers, heavyDrinkers);
		var totalTypes = 0;
		if( champSelected ) totalTypes++;
		if( wineSelected ) totalTypes++;
		if( liquorSelected ) totalTypes++;
		
		if( totalTypes == 0 ) return;
		
		var totalPerType = totalDrinks/totalTypes;

		var totalCaseschamp = Math.ceil((lightDrinkers+averageDrinkers+heavyDrinkers)/champsPerUnit);
		$("numCasesChamp").innerHTML = totalCaseschamp;

		var totalBottlesWine = Math.ceil(totalPerType/winePerUnit);	
		$("numBottlesWine").innerHTML = totalBottlesWine;

		var totalBottlesLiquor = Math.ceil(totalPerType/liquorPerUnit);
		$("numBottlesLiquor").innerHTML = totalBottlesLiquor;

	}
	function toggleDivOnCheckAndCalc(checkbox, div) {
//		toggleDivTags(div, DWRUtil.getValue(checkbox) );
		doCalculate();
	}

	function initDisplays() {
		// initialize the displays
		$("numCasesChamp").innerHTML = "";
		$("numBottlesWine").innerHTML = "";
		$("numBottlesLiquor").innerHTML = "";
		showHideDisplays();
	}
	function showHideDisplays() {
		if (document.forms[0].serve_champ.checked) {
			$("champDisplay").style.display = "";
		} else {
			$("champDisplay").style.display = "none";
		}
		if (document.forms[0].serve_wine.checked) {
			$("wineDisplay").style.display = "";
		} else {
			$("wineDisplay").style.display = "none";
		}

		if (document.forms[0].serve_liquor.checked) {
			$("liquorDisplay").style.display = "";
		} else {
			$("liquorDisplay").style.display = "none";
		}
	}

