



var bacTable1 = new Array('#bacEst1', '#bacEst2', '#bacEst3', '#bacEst4', '#bacEst5');
var bacTable2 = new Array('#bacEst6', '#bacEst7', '#bacEst8', '#bacEst9', '#bacEst10', '#bacEst11', '#bacEst12');

var activeColor = "#675951";
var inactiveColor = "#a79d8c";


function doCalculateBac() {

	var bacCalc = new Array();
	var bacCalc1 = new Array();
	var bacCalc2 = new Array();
	
	var bWeight = $('#bacWeight').val();
	var bWeightUnits = $('#bacWeightUnits').val();
	var bABV = $('#bacABV').val();
	var bServingSize = $('#bacServingSize').val();
	var bServingSizeUnit = $('#bacServingSizeUnit').val();
	var bServings = $('#bacServings').val();
	var bGender = $('#bacGender').val();
	var bRate = $('#bacRate').val();
	
	bacCalc = calculateBac(bWeight, bWeightUnits, bABV, bServingSize, bServingSizeUnit, bServings, bGender, bRate);
	
	// reverse order
	bacCalc1 = bacCalc[1];
	bacCalc2 = bacCalc[0];

	if (bacCalc1[1] != undefined && bacCalc1[1] != null && bacCalc1[1] != "NaN") {

		// if abv is basically 0, then grey out stuff
		if ( bacCalc1[5] == "0") {
			for (var a = 0; a < bacTable1.length; a++) {
				$(bacTable1[a]).css('color',inactiveColor);
			}
			for (var b = 0; b < bacTable2.length; b++) {
				$(bacTable2[b]).css('color',inactiveColor);
			}
		} else {
			for (var c = 0; c < bacTable1.length; c++) {
				$(bacTable1[c]).css('color',activeColor);
			}
			for (var d = 0; d < bacTable2.length; d++) {
				$(bacTable2[d]).css('color',activeColor);
			}
		}

		for (var e = 0; e < bacTable1.length; e++) {
			$(bacTable1[e]).text(bacCalc1[(e+1)]);
		}

		for (var f = 0; f < bacTable2.length; f++) {
			$(bacTable2[f]).text(bacCalc2[(f+1)]);
		}

	}

}









function calculateBac(weight, unit, abv, servingSize, servingSizeUnit, numberServing, sex, metabolism) {
    var bodyWater;
    var bac = new Array();
    var bac2 = new Array();
    var returnValue;
    var i = 0;

    abv = (abv / 100);

    if(unit == "lbs") {
		weight = (weight / 2.2046);
    }

    if(servingSizeUnit == "ml") {
		servingSize = (servingSize * 0.0338);
    }

    if(sex == "M") {
		bodyWater = 0.58;
    } else {
		bodyWater = 0.49;
    }

    for(i=1;i<=12;i++) {
		//bac(i) = Decimal.Round((((23.36 * abv * servingsize * numberserving) * 0.806 * 100) / ((weight * bodywater * 1000)) - (metabolism * i)), 3)
		bac[i] = (((23.36 * abv * servingSize * numberServing) * 0.806 * 100) / (weight * bodyWater * 1000) - (metabolism * i));
		bac[i] = bac[i].toFixed(3);
		if (bac[i] < 0) {
	    	bac[i] = 0;
		}
    }
    
    for(i=1;i<=12;i++) {
		//bac2(i) = Decimal.Round(((23.36 * i * abv * servingsize * 0.806 * 100) / ((weight * bodywater * 1000)) - metabolism), 3)
		bac2[i] = ((23.36 * i * abv * servingSize * 0.806 * 100) / (weight * bodyWater * 1000) - metabolism);
		bac2[i] = bac2[i].toFixed(3);
		if (bac2[i] < 0) {
	    	bac2[i] = 0;
		}
    }

		//alert(bac2);
		
		
    returnValue = [bac, bac2];
    return returnValue;
    
    
}