// Blood Alcohol
<!-- 

// CED subroutine for cleaning up JavaScript rounding errors 

// to any reasonable number of decimal places 5/5/1997 last mod 2/19/2004

// round for decimal of (value of precision) places, default is 3

// This routine can be used to pass a number and a number for precision

// or just a number only, that is to be rounded to a set number of decimal

// places. This routine supports leading and training zeros, leading and

// trailing spaces, and padding. To prevent errors, pass variables as a string.



function perRound(num, precision) {

	var precision = 3; //default value if not passed from caller, change if desired

	// remark if passed from caller

	precision = parseInt(precision); // make certain the decimal precision is an integer

    var result1 = num * Math.pow(10, precision);

    var result2 = Math.round(result1);

    var result3 = result2 / Math.pow(10, precision);

    return zerosPad(result3, precision);

}



function zerosPad(rndVal, decPlaces) {

    var valStrg = rndVal.toString(); // Convert the number to a string

    var decLoc = valStrg.indexOf("."); // Locate the decimal point

    // check for a decimal 

    if (decLoc == -1) {

        decPartLen = 0; // If no decimal, then all decimal places will be padded with 0s

        // If decPlaces is greater than zero, add a decimal point

        valStrg += decPlaces > 0 ? "." : "";

    }

    else {

        decPartLen = valStrg.length - decLoc - 1; // If there is a decimal already, only the needed decimal places will be padded with 0s

    }

     var totalPad = decPlaces - decPartLen;    // Calculate the number of decimal places that need to be padded with 0s

    if (totalPad > 0) {

        // Pad the string with 0s

        for (var cntrVal = 1; cntrVal <= totalPad; cntrVal++) 

            valStrg += "0";

        }

    return valStrg;

}

// send the value in as "num" in a variable



// clears field of default value

function clear_field(field) {

		if (field.value==field.defaultValue) {

			field.value=''

		}

	}



// calculate alcohol



function solvebal(form) {
 document.getElementById('maindiv').style.display= 'none';
    document.getElementById('divResult').style.display= 'block';

var alcozs = eval(document.getElementById('alcozs').value); //consumed ounces

var alcpct = eval(document.getElementById('alcpct').value); //alcohol percent

var bodywt = eval(document.getElementById('bodywt').value); //body weight

var tsca = eval(document.getElementById('tsca').value); //time since starting to consume ANY alcohol



var result = (alcozs * alcpct * 0.075 / bodywt) - (tsca * 0.015);

if (result < 0) {

message = "There is a negligible amount of alcohol in your system.";

result = "-- neglible amount --";

}

else {

if (result == "NaN")

mesage = "Incorrect Values. Please try again."; 

if (result > 0.08) 

message = "You might be considered intoxicated.";

if (result < 0.08)

message = "There is a negligible amount of alcohol in your system.";

}

document.getElementById('message').value = message;

document.getElementById('balamount').value = result + " %";
}

//  -->
