function calculate()
{
	var gender = document.getElementById('gender');
	var weight = document.getElementById('weight');
	var age = document.getElementById('age');
	var hr = document.getElementById('hr');
	var vo2max = document.getElementById('vo2max');
	var duration = document.getElementById('duration');

	var total = document.getElementById('total');
	var totallbl = document.getElementById('totallbl');

	var requiredRegex = /[\d\.]+/;
	if(!requiredRegex.test(weight.value)) { alert('weight must be a number'); return;}
	if(!requiredRegex.test(age.value)) { alert('age must be a number'); return;}
	if(!requiredRegex.test(hr.value)) { alert('heart rate must be a number'); return;}
	if(!requiredRegex.test(vo2max.value)) { alert('vo2max must be a number, leave as 0 if unknown'); return;}
	if(!requiredRegex.test(duration.value)) { alert('duration must be a number'); return;}

	calPerMin = caloriesPerMinute(hr.value, weight.value, age.value, gender.options[gender.options.selectedIndex].value,vo2max.value);
	totallbl.style.display = '';
	total.innerHTML = Math.round(calPerMin*duration.value);
}

/*
with vo2max
Men: C/min = (-59.3954 + (-36.3781 + 0.271 x age + 0.394 x weight + 0.404 x VO2max + 0.634 x HR))/4.184
Women: C/min = (-59.3954 + (0.274 x age + 0.103 x weight + 0.380 x VO2max + 0.450 x HR)) / 4.184

without vo2max
Men: C/min = (-55.0969 + 0.6309 x HR + 0.1988 x weight + 0.2017 x age) / 4.184
Women: C/min = (-20.4022 + 0.4472 x HR - 0.1263 x weight + 0.074 x age) / 4.184

weight is in kg

*/

/*

@hr		heart beats per minute
@weightlb 	weight in pounds
@age
@gender		m for male, f for female

*/
function caloriesPerMinute(hr, weightlb, age, gender, vo2max)
{
	var weight = weightlb*(0.454);
	var calPerMin = 0;

	if(gender == 'm')
	 	calPerMin = (-55.0969 + 0.6309 * hr + 0.1988 * weight + 0.2017 * age) / 4.184;
	else
	 	calPerMin = (-20.4022 + 0.4472 * hr - 0.1263 * weight + 0.074 * age) / 4.184;

	if(vo2max>0)
	{
	if(gender == 'm')
		calPerMin = (-59.3954 + (-36.3781 + 0.271 * age + 0.394 * weight + 0.404 * vo2max + 0.634 * hr))/4.184;
	else
		calPerMin = (-59.3954 + (0.274 * age + 0.103 * weight + 0.380 * vo2max + 0.450 * hr)) / 4.184;
	}

	return calPerMin;
}
