/* author: Robert Rohr */

function Calc(){
  var beersPerHour = document.frmSpiritsCalc.bottlesOfBeerPerHour.value;
  var partyLength = document.frmSpiritsCalc.party_length.value;
  var guests = document.frmSpiritsCalc.num_guests.value  
  var winePercentage= document.frmSpiritsCalc.wine_percentage.value;
  var spiritsPercentage = document.frmSpiritsCalc.spirits_percentage.value;
  var beerCostPerCase = document.frmSpiritsCalc.beer_price_per_case.value
  var wineCostPerBottle = document.frmSpiritsCalc.wine_price_per_bottle.value;
  var spiritsCostPerBottle = document.frmSpiritsCalc.spirits_price_per_bottle.value;
  var shotsPerHour = document.frmSpiritsCalc.shotsPerHour.value;
  var wineGlassesPerHour = document.frmSpiritsCalc.wineglassesPerHour.value; 
  var beerPercentage = document.frmSpiritsCalc.beer_percentage.value; 
  var beerCases = 0;
  var beerCost = 0;
  var wineBottles = 0;
  var wineCost = 0;
  var spiritsBottles = 0;
  var spiritsCost = 0; 
  var totalPercentage = 0;
  totalPercentage =  beerPercentage * 1 + winePercentage * 1 + spiritsPercentage * 1;
  
  if(!isNaN(beersPerHour) && !isNaN(wineGlassesPerHour) && !isNaN(shotsPerHour)){
     if(!isNaN(beerCostPerCase) && !isNaN(wineCostPerBottle) && !isNaN(spiritsCostPerBottle)){
        if(!isNaN(beerPercentage) && !isNaN(winePercentage) && !isNaN(spiritsPercentage) ){
           if(!isNaN(partyLength)){
              if(!isNaN(guests)){
              if(beersPerHour >= 0 && wineGlassesPerHour >=0 && shotsPerHour >=0 &&
                 beerCostPerCase >=0 && wineCostPerBottle >=0 && spiritsCostPerBottle >=0 &&
                 beerPercentage >=0 && winePercentage >=0 &&  spiritsPercentage >=0 &&
                 partyLength >=0 && guests >=0 ){
                    if (totalPercentage == 100.0){
                       beerCases = Math.ceil(partyLength * guests * beersPerHour / 24 * (beerPercentage / 100) )
                       beerCost = Math.round(beerCostPerCase * beerCases*100)/100; 
                       wineBottles = Math.ceil(partyLength * guests * wineGlassesPerHour / 5 * (winePercentage / 100) );
                       wineCost = Math.round(wineCostPerBottle * wineBottles *100)/100;
                  
                       spiritsBottles = Math.ceil(partyLength * guests * shotsPerHour / 17 * (spiritsPercentage / 100) )
                       spiritsCost = Math.round(spiritsBottles * spiritsCostPerBottle *100)/100;
                       totalCost = spiritsCost + wineCost + beerCost;
                  
                       document.frmSpiritsCalc.calc_output.value = 'You will need\n' + spiritsBottles +' bottles of spirits for a cost of $' + Format(spiritsCost)+'\n'
                          + beerCases + ' cases of Beer for a cost of $' +Format(beerCost) +'\n'
                          + wineBottles + ' bottles of wine for a cost of $' +Format(wineCost)+'\n'
                         + 'Total Cost:$'+ Format(totalCost);
                    }else{
                       document.frmSpiritsCalc.calc_output.value='The sum of the percentages you entered do not add up to 100%.\nPlease change your percentages and try again!\n';
                    } 
                 }else{
                          document.frmSpiritsCalc.calc_output.value='Please only enter non-negative numbers.\nPlease change your entries and try again!\n';
              
                 }
              }else{
                 document.frmSpiritsCalc.calc_output.value='Please enter the number of guests!';
              }  
           }else{
              document.frmSpiritsCalc.calc_output.value='Please enter the length of the party!';
           }
        }else{
           document.frmSpiritsCalc.calc_output.value='Please enter only numbers for the percentage values!';
        }
     }else{
        document.frmSpiritsCalc.calc_output.value='Please enter only numbers for the price of beveridges!';
     }
  }else{
     document.frmSpiritsCalc.calc_output.value='Please enter only numbers for the average number of drinks per hour!';
  }
}
function Format(amount)
{
//alert("amount="+amount);
	var i = parseFloat(amount);
//	alert("---i="+i);
	
	
//	alert("math i="+i);
	i = parseInt(((i + .005) * 100));
	if(isNaN(i)) { i = 0.00; }
//	alert("parse i="+i);
	i = i / 100;
//	alert("i="+i);
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	
//	alert(s);
	return s;
	
}




