function calculateBMI(btn){
	var elWeight = YAHOO.util.Dom.get("bmiWeight");
	var elFeet = YAHOO.util.Dom.get("bmiFeet");
	var elInches = YAHOO.util.Dom.get("bmiInch");
	var o = YAHOO.util.Dom.get("bmiValue");
	if(!btn || (btn && !btn.id)){
		if(isNaN(parseInt(elWeight.value))){
			resetValue(o)
			return;
		};
		if(isNaN(parseInt(elFeet.value))){
			resetValue(o)
			return;
		};
		if(isNaN(parseInt(elInches.value))){
			resetValue(o)
			return;
		};
	};
	if(isNaN(parseInt(elWeight.value)) || elWeight.value<=0){
		resetValue(o);
		return warnInvalid(elWeight,"Please enter a positive number for your weight.");
	};
	if(isNaN(parseInt(elFeet.value)) || elFeet.value<=0){
		resetValue(o);
		return warnInvalid(elFeet,"Please enter a positive number for your height in feet.");
	};
	if(isNaN(parseInt(elInches.value)) || elInches.value<0){
		resetValue(o);
		return warnInvalid(elInches,"Please enter a positive number for your height in inches.");
	};
	
	// convert weight to kg
	var kg = (elWeight.value * 0.4536);  
	// convert height to meters
	var mtrs = ((elFeet.value * 12) + (1 * elInches.value)) * 0.0254; 
	// calculate body mass index
	o.innerHTML = parseInt(kg/Math.pow((mtrs),2));
};

YAHOO.util.Event.addListener(YAHOO.util.Dom.get("bmiWeight"),"keyup",calculateBMI);
YAHOO.util.Event.addListener(YAHOO.util.Dom.get("bmiFeet"),"keyup",calculateBMI);
YAHOO.util.Event.addListener(YAHOO.util.Dom.get("bmiInch"),"keyup",calculateBMI);
