function checkNumber(input, min, max, msg) {

    msg = msg + " field has invalid data: " + input.value;

    var str = input.value;

    if (str.length == 0) { str = "0"; }

    for (var i = 0; i < str.length; i++) {

        var ch = str.substring(i, i + 1)

        if ((ch < "0" || "9" < ch) && ch != '.') {

            alert(msg);

            return false;

        }

    }



    var num = 0 + str

    if (num < min || max < num) {

        alert(msg + " not in range [" + min + ".." + max + "]");

        return false;

    }



    input.value = str;

    return true;

}



function computeField(input) {

    if (input.value != null && input.value.length != 0) {

            computeForm(input.form);

        }

}



function computeForm(form) {

    if ((form.height.value == null || form.height.value.length == 0) ||

        (form.weight.value == null || form.weight.value.length == 0)

        ) {

        return;

    }

    

    if (!checkNumber(form.height, 50, 250, "Height") ||

        !checkNumber(form.weight, 35, 300, "Weight")

    ) {



        form.bmi.value = "N/A";

        return;

    }

            

    var height = form.height.value / 100;

    var bmi =  form.weight.value / (height * height);



    form.bmi.value = Math.round(bmi);

}



function MakeWindow() {



msgWindow=window.open("chart1.html","FormWindow","toolbar=NO,width=640,height=450,directories=no,status=no,scrollbars=yes,resizable=NO,menubar=no");



}
