// JavaScript Document
function calc_hr () {
	
	var green_light = false;
	valid = "";
	
	age = Number(document.getElementById('input_age').value);
	rhr = Number(document.getElementById('input_rhr').value);
	loe = Number(document.getElementById('input_loe').value);
	
	valid_age = check_number(age, 1, 120);
	valid_rhr = check_number(rhr, 30, 200);
	valid_loe = check_number(loe, 5, 100);
	//alert(valid_age);
	//alert(valid_rhr);
	//alert(valid_loe);
	
	if ((valid_age == "") && (valid_rhr == "") && (valid_loe == "")) {
		green_light = true;
		valid = "";
	} else {
		green_light = false;
		if (valid_age != "") {valid += "Age " + valid_age + "<br />";}
		if (valid_rhr != "") {valid += "Resting Heart Rate " + valid_rhr + "<br />";}
		if (valid_loe != "") {valid += "Level of Exercise " + valid_loe;}
	}
	
	if (green_light == true) {
		hr_reserve = 220 - age;
		hr_reserve_max = hr_reserve - rhr;
		ll = (0.55 * hr_reserve_max) + rhr;
		ul = (0.85 * hr_reserve_max) + rhr;
		thr = Number((loe / 100) * hr_reserve_max + rhr);
		
		document.getElementById('error').innerHTML = valid;
		document.getElementById('hrc_target').innerHTML = thr.toFixed(0) + '  beats/min';;
		document.getElementById('hrc_range').innerHTML = ll.toFixed(0) + '  to  ' + ul.toFixed(0) + '  beats/min';
	} else {
		document.getElementById('error').innerHTML = valid;
		document.getElementById('hrc_target').innerHTML = '&nbsp;';
		document.getElementById('hrc_range').innerHTML = '&nbsp;';
	}
}
function reset_hr() {
	document.getElementById('input_age').value = '';
	document.getElementById('input_rhr').value = '';
	document.getElementById('input_loe').value = '';
	document.getElementById('hrc_target').innerHTML = '&nbsp;';
	document.getElementById('hrc_range').innerHTML = '&nbsp;';
	document.getElementById('error').innerHTML = '&nbsp;';
}
function check_number(val, low, high) {
	var temp="";
	
	if (isNaN(val)) {
		temp = "not a number.";
	} else {
		if ((val < low) || (val > high)) {
			temp = "is not between " + low + " and " + high +".";
		} else {
			temp = "";
		}
	}
return temp;
}

