// Working on JavaScript Calculator

function calcbmi() {
    var w 				= document.bmi.weight.value * 1;
    var HeightFeetInt 	= document.bmi.htf.value * 1;
    var HeightInchesInt = document.bmi.hti.value * 1;
    HeightFeetConvert 	= HeightFeetInt * 12;
    h 					= HeightFeetConvert + HeightInchesInt;
    displaybmi 			= (Math.round((w * 703) / (h * h)));
	
	years 				= document.bmi.Age.value * 1;
	activityIndex 		= document.bmi.activity.selectedIndex;
	activity 			= document.bmi.activity.options[activityIndex].value;
	
	Centis      		= h * 2.54;
	Kilos       		= w/2.2;
	Age         		= years;

    var rvalue = true;

    if ( (w <= 35) || (w >= 500)  || (h <= 48) || (h >= 120) || (Age <= 5) || (Age >= 100) ) {
		if ( (w <= 35) || (w >= 500) ) {
			alert ("Invalid Weight entered.  Please check and re-enter!");
		}
		if ( (h <= 48) || (h >= 120) ) {
			alert ("Invalid Height entered.  Please check and re-enter!");
		}
		if ( (Age <= 5) || (Age >= 100) ) {
			alert ("Invalid Age entered.  Please check and re-enter!");
		}        
        rvalue = false;
    }
	
    if (rvalue) {
        if (HeightInchesInt > 11) {
            reminderinches            = mod(HeightInchesInt,12);
            document.bmi.hti.value    = reminderinches;
            document.bmi.htf.value    = HeightFeetInt + ((HeightInchesInt - reminderinches)/12);
            document.bmi.answer.value = displaybmi;
        }

        var result_comment = document.getElementById('comment');
        var result_bmi     = document.getElementById('bodymassindex');

        if (displaybmi <19)
		      result_comment.innerHTML = "<fieldset><legend><b>Nutrition Category:</b></legend><font color='red' size='3'><b>Underweight</font></b></fieldset>";
        if (displaybmi >=19 && displaybmi <=25)
            result_comment.innerHTML = "<fieldset><legend><b>Nutrition Category:</b></legend><font color='red' size='3'><b>Normal</font></b></fieldset>";
        if (displaybmi >=26 && displaybmi <=29)
            result_comment.innerHTML = "<fieldset><legend><b>Nutrition Category:</b></legend><font color='red' size='3'><b>Overweight</font></b></fieldset>";
        if (displaybmi >=30 && displaybmi <35)
            result_comment.innerHTML = "<fieldset><legend><b>Nutrition Category:</b></legend><font color='red' size='3'><b>Obese (Class I)</font></b></fieldset>";
        if (displaybmi >=35 && displaybmi <40)
            result_comment.innerHTML = "<fieldset><legend><b>Nutrition Category:</b></legend><font color='red' size='3'><b>Obese (Class II)</font></b></fieldset>";
            if (displaybmi >=40)
            result_comment.innerHTML = "<fieldset><legend><b>Nutrition Category:</b></legend><font color='red' size='3'><b>Obese (Class III)</font></b></fieldset>";

        result_bmi.innerHTML = "<fieldset><legend><b>Your BMI Score:</b></legend><font color='red' size='3'><b> " + displaybmi + " </b></font></fieldset>";

        // gender[0] = Male else Female

        if(document.bmi.gender[0].checked) {
			var idealweight = ideal(h, 23.5);
		   	Weight = 66 + (13.7 * Kilos)
			Height = 5 * Centis
			Ages   = 6.8 * Age
        }
        else
        {
	       	var idealweight = ideal(h, 20.0);
		   	Weight = 655 + (9.6 * Kilos)
			Height = 1.7 * Centis
			Ages   = 4.7 * Age
        }

        var result_ideal = document.getElementById('ideal');
        result_ideal.innerHTML = "<fieldset><legend><b>Your Ideal Weight is:</b></legend><font color='red' size='3'><b> " + idealweight + " </font>pounds</b></fieldset>";

        weighttolose = w - idealweight;
        var result_lose = document.getElementById('lose');
        
        if(weighttolose >= 1) {
	       result_lose.innerHTML = "<fieldset><legend><b>Your Results:</b></legend><p><font color='blue' size='5'><b>You Can Lose Up To<br><font color='red'>" + weighttolose + "</font> Pounds<br> And Reach Your Ideal Weight!</b></font></p></fieldset><br><br>";
        }
        else
        {
	       result_lose.innerHTML = "<fieldset><legend><b>Your Results:</b></legend><p><font color='blue' size='5'><b>You Do Not Need to Lose Any Weight!</b></font></p></fieldset><br><br>";
        }

		cml 						= (Math.ceil((Weight + Height - Ages) * activity));
		var result_calories 		= document.getElementById('calories');
		result_calories.innerHTML 	= "<fieldset><legend><b>Your CML is:</b></legend><font color='red' size='3'><b> " + cml + " </font>calories</b></fieldset>";

}
    return rvalue;
}

function ideal(height, bmi) {
    idealweight = (Math.round((bmi * height * height) / 703));
    return idealweight;
}

function clearbmi() {
    var result_ideal = document.getElementById('ideal');
    result_ideal.innerHTML = "";
    var result_comment = document.getElementById('comment');
    result_comment.innerHTML = "";
    var result_lose = document.getElementById('lose');
    result_lose.innerHTML = "";
    var result_bmi = document.getElementById('bodymassindex');
    result_bmi.innerHTML = "";
    var result_calories = document.getElementById('calories');
    result_calories.innerHTML = "";
	var weight = document.getElementById('weight');
    weight.value = "";
    var height_f = document.getElementById('htf');
    height_f.value = "";
    var height_i = document.getElementById('hti');
    height_i.value = "";
    var Age = document.getElementById('Age');
  	Age.value = "";
}
