// Your web browser is too old.<br>
<!-- // hide javascript when no scripting.

function CalcIt(form) {
	var Age = Number(form.Years.value);

	var weight =  Number(form.wt.value);

	if (!checkWeight(weight)) return false;
	if (form.wu.selectedIndex == 0) {	// 0 = weight in lbs
		kg = weight * 0.45359237;
	} else {								// 1 = weight in kg.
		kg = weight;
	}
	if (kg < 10) {
		alert("Weights should be heavier than 10 kilograms (22 pounds).");
		return false;
	}
	if (kg > 200) {
		alert("Weights should be lighter than 200 kilograms (441 pounds).");
		return false;
	}


	var height =  Number(form.ht.value);

	if ((isNaN(height)) || (height == null)  || (height == "") || (height < 0)) {
		feetAndInches(form);
		height =  Number(form.ht.value);
	}

	if (form.hu.selectedIndex == 0) {		//  if height units are "inches"
		heightInches = height;
		heightMeters = height * 2.54 / 100;
	} else {									// else if height units are "cm".
		heightInches = height / 2.54;
		heightMeters = height / 100;
	}
	if (heightMeters < 0.33) {
		alert("Heights should be taller than 33 centimeters (31.5 inches).");
		return false;
	}
	if (heightMeters > 2.41) {
		alert("Heights should be shorter than 241 centimeters ( 7 feet, 11 inches).");
		return false;
	}
	setFeetAndInches(form,heightInches);


	if ((isNaN(Age)) || (Age == null)  || (Age == "")) {
		Age = GetAge(form);
		if (form.AgeCat.selectedIndex == 26) {
			alert("Please enter a specific age for a child.");
			return false;
		}
	} else {
		if ( Age < 1 ) {
			alert("Ages younger than 1 year old are too young for this calculation. Sorry.");
			return false;
		} else {
			if (Age > 120) {
				alert("All ages from 70 to 120 are treated as age 75.");
				return false;
			}
		}
		if (Age > 18) {
			form.AgeCat.selectedIndex = 25;	// Set menu to "Adult"
		} else {
			form.AgeCat.selectedIndex = 26;	// Set menu to "Child".
		}
	}
 


	// Calculate BMI
	bmi = kg / Math.pow(heightMeters,2);
 	form.bmi.value = rounding(bmi,1);
 
// Calculate IBW using Devine formulas.
	if (form.Gender.selectedIndex == 1)  {  // sex is female.
		if (form.IBWtype.selectedIndex == 0)  {  // Devine Formula
			idPivot = 45.5;
			idSlope = 2.3;
		} else {
			if (form.IBWtype.selectedIndex == 1)  {  // Robinson formula
				idPivot = 49;
				idSlope = 1.7;
			} else {			// Miller formula.
				idPivot = 53.1;
				idSlope = 1.36;
			}
		}
	} else {								// sex is male.
		if (form.IBWtype.selectedIndex == 0)  {  // Devine formula
			idPivot = 50;
			idSlope = 2.3;
		} else {
			if (form.IBWtype.selectedIndex == 1)  {  // Robinson formula
				idPivot = 52;
				idSlope = 1.9;
			} else {				// Miller formula.
				idPivot = 56.2;
				idSlope = 1.41;
			}
		}
	}
	var idKg = idPivot + idSlope * (heightInches - 60);
	if (form.wu.selectedIndex == 0) {	// 0 = weight in lbs.
		form.idealDev.value = Math.round(idKg * 2.2046226) + " lbs";
	} else {
		form.idealDev.value = Math.round(idKg) + " kg";
	}


// Calculate IBW using BMI range from 19 to 25.
	if ( Age > 17) {
		if (form.wu.selectedIndex == 0) {  // 0 = weight in lbs
			form.idealRange.value = Math.round( (19 * (heightMeters*heightMeters)) * 2.2046 ) + " - " + Math.round( (25 * (heightMeters*heightMeters)) * 2.2046 ) + " lbs";
		} else {  // 1 = weight in kg.
			form.idealRange.value = Math.round( (19 * (heightMeters*heightMeters)) ) + " - " + Math.round( (25 * (heightMeters*heightMeters)) ) + " kgs";
		}
	} else {
		form.idealRange.value = "N/A for kids";
	}


// Calculate IBW using Met Life tables, using linear formulas actually.
	var MetInches = heightInches + 1;   // Met Life tables use height in 1 inch heel shoes.
		if (form.Gender.selectedIndex == 1) {  // sex is female.
			if (Age > 18 && MetInches > 57 && MetInches < 73) {
				if (form.frameSize.selectedIndex == 0) {  // Medium Frame, default
					form.idealMet.value = Math.round(0.032*MetInches*MetInches - 1.2954*MetInches + 75.813) + " - " + Math.round(0.0074*MetInches*MetInches + 2.0191*MetInches - 21.379) + " lbs";
				} else { if ( form.frameSize.selectedIndex == 1) {  // Large frame. 
					form.idealMet.value = Math.round( 0.0189*MetInches*MetInches + 0.4706*MetInches + 26.374) + " - " + Math.round((3.5714*MetInches) - 77.143) + " lbs";
					} else {  // small frame.
					form.idealMet.value = Math.round( 0.0633*MetInches*MetInches - 5.521*MetInches + 207.9) + " - " + Math.round(0.0189*MetInches*MetInches + 0.4706*MetInches + 19.374) + " lbs";
					}
				} 
			} else {  // age < 18 or too short or too tall.
				form.idealMet.value = "N/A";
			}
		} else {										// sex is male.
			if (Age > 18 && MetInches > 61 && MetInches < 77 ) {
				if ( form.frameSize.selectedIndex == 0) { // Medium frame size
					form.idealMet.value = Math.round(0.0649*MetInches*MetInches - 6.0789*MetInches + 258.26) + " - " + Math.round(0.0808*MetInches*MetInches - 7.893*MetInches + 319.71) + " lbs";
				} else { if ( form.frameSize.selectedIndex == 1) { // Large frame size
					form.idealMet.value = Math.round( 0.0962*MetInches*MetInches - 10.255*MetInches + 404.05) + " - " + Math.round( 0.0494*MetInches*MetInches - 2.7666*MetInches + 131.46 ) + " lbs";
					} else { // small frame size
					form.idealMet.value = Math.round( 0.0619*MetInches*MetInches - 6.2128*MetInches + 275.92) + " - " + Math.round( 0.0889*MetInches*MetInches - 9.2657*MetInches + 366.84 ) + " lbs";
					}
				}
			} else {  // age < 18 or too short or too tall.
				form.idealMet.value = "N/A";
			}
		}


// Calculate IBW using Peoples Choice.  Copyrighted.
	var Gend = form.Gender.selectedIndex;  // Male=0,  Female=1
	var PeopBMI;
	if ( Gend == 0) {
		PeopBMI = 0.5*bmi + 11.5;
	} else {
		PeopBMI = 0.4*bmi + 0.03*Age + 11;
	}
	// Don't steal these copyrighted formulas.  Get permission or get sued.
	if (Age > 18.5 || heightInches > 69) {	// Use Peoples Choice for Adults
		if (form.wu.selectedIndex == 0) {  // 0 = weight in lbs
			form.idealPeoples.value = Math.round( (PeopBMI * (heightMeters*heightMeters)) * 2.2046 ) + " lbs";
		} else {  // 1 = weight in kg.
			form.idealPeoples.value = Math.round( (PeopBMI * (heightMeters*heightMeters)) ) + " kgs";
		}
	} else {	// Age < 18,  use 50th percentile.
		if ( Gend == 0 ) {  // Male
			if ( form.wu.selectedIndex == 0) {  // Weight in lbs
				form.idealPeoples.value = Math.round(0.0982*heightInches*heightInches - 6.6836*heightInches + 144.6) + " lbs";
			} else { 
				form.idealPeoples.value = Math.round(0.0445*heightInches*heightInches - 3.0317*heightInches + 65.591) + " kgs";
			}
		} else {		// Female
			if ( Age < 12 || heightInches < 63) {
				if ( form.wu.selectedIndex == 0) {  // Weight in lbs  
					form.idealPeoples.value = Math.round(0.0697*heightInches*heightInches - 3.9646*heightInches + 81.378) + " lbs";
				} else {  // y = 0.0316x2 - 1.7983x + 36.913
					form.idealPeoples.value = Math.round(0.0316*heightInches*heightInches - 1.7983*heightInches + 36.913) + " kgs";
				}
			} else {
				if ( form.wu.selectedIndex == 0) {  // Weight in lbs  y = 0.0167x2 + 2.8845x - 135.65
					form.idealPeoples.value = Math.round(0.0167*heightInches*heightInches + 2.8845*heightInches - 135.65) + " lbs";
				} else { // y = -0.0237x2 + 5.0882x - 174.91
					form.idealPeoples.value = Math.round(-0.0237*heightInches*heightInches + 5.0882*heightInches - 174.91) + " kgs";
				}
			}
		} 
	}
return null;
}

function GetAge(form) {
	if (form.AgeCat.selectedIndex == 0) { // 70+ years,
		return 75;
	} else {
		if (form.AgeCat.selectedIndex < 6) { // 1 thru 5 are decades 20s thru 60s.
			return 65 - (form.AgeCat.selectedIndex -1)*10;
		} else {
			if (form.AgeCat.selectedIndex == 6 ) {
				return 19;
			} else {
				if (form.AgeCat.selectedIndex < 23) { // 7 thru 22 are ages 17 thru 2.
					return 17 - (form.AgeCat.selectedIndex-7);
				} else {
					if (form.AgeCat.selectedIndex == 23) { // age 1.5 yrs.
						return 1.5;
					} else {
						if (form.AgeCat.selectedIndex == 24) {	// age 1 yrs.
							return 1;
						} else {
							if (form.AgeCat.selectedIndex == 25) {
								return 30;
							} else {
								return 13;
							}
						}
					}
				}
			}
		}
	}
}

function SetAge(form) {
	if (form.Years.value > 0) {	// Only change the Age field, if a value is already there.
	
		if (form.AgeCat.selectedIndex == 0) { // 70+ years,
			form.Years.value = 75;
		} else {
			if (form.AgeCat.selectedIndex < 6) { // 1 thru 5 are decades 20s thru 60s.
				form.Years.value = 65 - (form.AgeCat.selectedIndex -1)*10;
			} else {
				if (form.AgeCat.selectedIndex == 6 ) {
					form.Years.value = 19;
				} else {
					if (form.AgeCat.selectedIndex < 23) { // 7 thru 22 are ages 17 thru 2.
						form.Years.value = 17 - (form.AgeCat.selectedIndex-7);
					} else {
						if (form.AgeCat.selectedIndex == 23) { // age 1.5 yrs.
							form.Years.value = 1.5;
						} else {
							if (form.AgeCat.selectedIndex == 24) {	// age 1 yrs.
								form.Years.value = 1;
							} else {
								if (form.AgeCat.selectedIndex == 25) {
									form.Years.value = 30;
								} else {
									if (form.Years.value > 19) form.Years.value = "";
								}
							}
						}
					}
				}
			}
		}
	}
	return true;
}

function setFeetAndInches(form,inchies) {
	var feet = Math.min( Math.max( Math.floor( inchies / 12 ), 1), 7);
	form.htf.selectedIndex = feet - 1;

	inchies = rounding( inchies - feet*12,0);
	form.hti.selectedIndex = Math.min( Math.max( inchies,0), 11 );
	return true;
}

function feetAndInches(form) {
	var inchies = 0;
	inchies = ((form.htf.selectedIndex+1) * 12) + form.hti.selectedIndex;

	if (form.hu.selectedIndex == 0) form.ht.value = inchies;
	if (form.hu.selectedIndex == 1) form.ht.value = rounding( inchies * 2.54,0);
	return true;
}


function SetPercentile( pc ) {
	if (pc > 98) pc = "> 98th percentile";
	else  {  if (pc < 2) pc = "< 2nd percentile";
		else { 
			if ( (pc > 10) && (pc < 14) ) { pc = pc + "th percentile"; }
			else { if ( rightDigit(pc) == 1) { pc = pc + "st percentile"; }
			else { if ( rightDigit(pc) == 2) { pc = pc + "nd percentile"; }
			else { if ( rightDigit(pc) == 3) { pc = pc + "rd percentile"; }
			else pc = pc + "th percentile";
					}
				}
			}
		}
	}
	return pc;
}

function poundsAndKilos(form) {
	var weight = Number(form.wt.value);
	if ( weight > 0) {
		if (form.wu.selectedIndex == 0) {	// 0 = pounds.
			form.wt.value = rounding( weight / 0.45359237,0);
		} else {								// 1 = kilograms.
			if (weight > 219) {
				form.wt.value = rounding( weight * 0.45359237,0);
			} else {
				form.wt.value = rounding( weight * 0.45359237,1);
			}
		}
		form.wt.select()
		form.wt.focus()
	}
	return true;
}

function inchesCm(form) {
	var height = Number(form.ht.value);
	if (height > 0) {
		if (form.hu.selectedIndex == 0) { // is now inches, was cm.
			setFeetAndInches(form, height / 2.54); 
			form.ht.value = rounding( height / 2.54,1) ; 
		} else {								// is now cm, was inches.
			setFeetAndInches(form, height);  // Always pass inches in height to this function.
			form.ht.value = rounding( height * 2.54,0);  }  
		form.ht.select()
		form.ht.focus()
	}
	return true;
}

function rightDigit(num) {
	num = num - (Math.floor(num/10)*10);
	return num;
}

function rounding(number,decimal) {
	multi = Math.pow(10,decimal);
	number = Math.round(number * multi) / multi;
	return number;
}


function checkWeight(val) {
	if ((isNaN(val)) || (val == null)  || (val == "") || (val < 0)) {
		alert( "Please enter a value for Weight.");
		return false;
	}
	return true;
}

function microsoftKeyPress() {
    if (window.event.keyCode == 13) {
	CalcIt(document.forms[0]);
    }
    return true;
}

setTimeout("document.forms[0].wt.focus();",1);

// -->