var activities = new Array();

activities[0] = new Array();
activities[0][0] = new Option("Select an activity","",false,false);

activities[1] = new Array();
activities[1][0] = new Option("Low impact","5.0",false,false);
activities[1][1] = new Option("Med impact","7.0",false,false);
activities[1][2] = new Option("High impact","9.0",false,false);

activities[2] = new Array();
activities[2][0] = new Option("General", "5.0", false, false);

activities[3] = new Array();
activities[3][0] = new Option("Shooting Baskets", "4.5", false, false);
activities[3][1] = new Option("Non-game", "6.0", false, false);
activities[3][2] = new Option("Game/competitive", "8.0", false, false);

activities[4] = new Array();
activities[4][0] = new Option("<10 mph", "4.0", false, false);
activities[4][1] = new Option("11 mph", "6.0", false, false);
activities[4][2] = new Option("13 mph", "8.0", false, false);
activities[4][3] = new Option("15 mph", "10.0", false, false);
activities[4][4] = new Option("17.5 mph", "12.0", false, false);
activities[4][5] = new Option(">20 mph", "16.0", false, false);

activities[5] = new Array();
activities[5][0] = new Option("Ballroom - Slow", "3.0", false, false);
activities[5][1] = new Option("Line Dancing", "4.0", false, false);
activities[5][2] = new Option("Ballroom - Fast", "5.0", false, false);
activities[5][3] = new Option("Swing", "6.0", false, false);
activities[5][4] = new Option("Aerobic", "7.0", false, false);

activities[6] = new Array();
activities[6][0] = new Option("Playing Catch", "2.5", false, false);
activities[6][1] = new Option("Touch/Flag", "8.0", false, false);
activities[6][2] = new Option("Competitive", "9.0", false, false);
 
activities[7] = new Array();
activities[7][0] = new Option("Using Golf Cart", "3.5", false, false);
activities[7][1] = new Option("Pulling own clubs", "5.0", false, false);
activities[7][2] = new Option("Carrying own clubs", "5.5", false, false);

activities[8] = new Array();
activities[8][0] = new Option("General", "8.0", false, false);


activities[9] = new Array();
activities[9][0] = new Option("Walking", "2.5", false, false);
activities[9][1] = new Option("Saddling horse", "3.5", false, false);
activities[9][2] = new Option("General", "4.0", false, false);
activities[9][3] = new Option("Trotting", "6.5", false, false);
activities[9][4] = new Option("Galloping", "8.0", false, false);

activities[10] = new Array();
activities[10][0] = new Option("General", "10.0", false, false);
        
activities[11] = new Array();
activities[11][0] = new Option("Casual", "7.0", false, false);
activities[11][1] = new Option("Competitive", "10.0", false, false);
        
activities[12] = new Array();
activities[12][0] = new Option("Rapelling", "8.0", false, false);
activities[12][1] = new Option("Climbing", "11.0", false, false);
        
activities[13] = new Array();
activities[13][0] = new Option("Slow", "8.0", false, false);
activities[13][1] = new Option("Moderate", "10.0", false, false);
activities[13][2] = new Option("Fast", "12.0", false, false);

activities[14] = new Array();
activities[14][0] = new Option("stationary 100 W", "7.2", false, false);
activities[14][1] = new Option("stationary 200 W", "12.0", false, false);

activities[15] = new Array();
activities[15][0] = new Option("12.0 min/mi", "8.0", false, false);
activities[15][1] = new Option("11.5 min/mi", "9.0", false, false);
activities[15][2] = new Option("10.0 min/mi", "10.0", false, false);
activities[15][3] = new Option("9.0 min/mi", "11.0", false, false);
activities[15][4] = new Option("8.5 min/mi", "11.5", false, false);
activities[15][5] = new Option("8.0 min/mi", "12.5", false, false);
activities[15][6] = new Option("7.5 min/mi", "13.5", false, false);
activities[15][7] = new Option("7.0 min/mi", "15.0", false, false);
activities[15][8] = new Option("6.5 min/mi", "15.0", false, false);
activities[15][9] = new Option("6.0 min/mi", "16.0", false, false);
activities[15][10] = new Option("5.5 min/mi", "18.0", false, false);

activities[16] = new Array();
activities[16][0] = new Option("General", "5.0", false, false);
        
activities[17] = new Array();
activities[17][0] = new Option("Slow", "5.5", false, false);
activities[17][1] = new Option("General", "7.0", false, false);
activities[17][2] = new Option("Fast", "9.0", false, false);
activities[17][3] = new Option("Speed/competitive", "15.0", false, false);
        
activities[18] = new Array();
activities[18][0] = new Option("General", "7.0", false, false);
        
activities[19] = new Array();
activities[19][0] = new Option("Slow (2.5 mph)", "7.0", false, false);
activities[19][1] = new Option("Moderate (4-5 mph)", "8.0", false, false);
activities[19][2] = new Option("Brisk (5-8 mph)", "9.0", false, false);
activities[19][3] = new Option("Racing (>8 mph)", "14.0", false, false);
activities[19][4] = new Option("Extreme (uphill, hard snow)", "16.5", false, false);
        
activities[20] = new Array();
activities[20][0] = new Option("Light", "5.0", false, false);
activities[20][1] = new Option("Moderate", "6.0", false, false);
activities[20][2] = new Option("Vigorous/Race", "8.0", false, false);
        
activities[21] = new Array();
activities[21][0] = new Option("General", "6.0", false, false);
        
activities[22] = new Array();
activities[22][0] = new Option("General", "8.0", false, false);
        
activities[23] = new Array();
activities[23][0] = new Option("Casual", "7.0", false, false);
activities[23][1] = new Option("Competition", "10.0", false, false);

activities[24] = new Array();
activities[24][0] = new Option("Moderate", "6.0", false, false);

activities[25] = new Array();
activities[25][0] = new Option("Light/Moderate", "3.0", false, false);
activities[25][1] = new Option("Vigorous", "6.0", false, false);
activities[25][2] = new Option("Circuit", "8.0", false, false);

activities[26] = new Array();
activities[26][0] = new Option("General", "3.0", false, false);

activities[27] = new Array();
activities[27][0] = new Option("50 yd/min", "8.0", false, false);
activities[27][1] = new Option("75 yd/min", "11.0", false, false);

activities[28] = new Array();
activities[28][0] = new Option("Doubles", "6.0", false, false);
activities[28][1] = new Option("General", "7.0", false, false);
activities[28][2] = new Option("Singles", "8.0", false, false);
        
activities[29] = new Array();
activities[29][0] = new Option("General", "3.5", false, false);
        
activities[30] = new Array();
activities[30][0] = new Option("Casual", "3.0", false, false);
activities[30][1] = new Option("Competitive", "4.0", false, false);
activities[30][2] = new Option("Beach", "8.0", false, false);

activities[31] = new Array();
activities[31][0] = new Option("30 min/mi", "2.5", false, false);
activities[31][1] = new Option("24 min/mi", "3.0", false, false);
activities[31][2] = new Option("20 min/mi", "3.5", false, false);
activities[31][3] = new Option("17 min/mi", "4.0", false, false);
activities[31][4] = new Option("15 min/mi", "4.5", false, false);
activities[31][5] = new Option("13 min/mi", "5.0", false, false);

activities[32] = new Array();
activities[32][0] = new Option("General", "10.0", false, false);
        
activities[33] = new Array();
activities[33][0] = new Option("One 5-min match", "6.0", false, false);

function buildIntensityList(){
  	var aIndex = YAHOO.util.Dom.get("activity").selectedIndex;
	var elIntensity = YAHOO.util.Dom.get("intensity");
  	elIntensity.length = 0;
	for(var i=0;i<activities[aIndex].length;i++){
		elIntensity.options[i] = activities[aIndex][i];	
	};
  	elIntensity.selectedIndex = 0;
  	calculateCaloriesBurned();
};

function calculateCaloriesBurned(btn){
	var elWeight = YAHOO.util.Dom.get("weightBurned");
	var elActivity = YAHOO.util.Dom.get("activity");
	var elIntensity = YAHOO.util.Dom.get("intensity");
	var elDuration = YAHOO.util.Dom.get("duration");
	var o = YAHOO.util.Dom.get("numCaloriesBurned");
	if(!btn || (btn && !btn.id)){
		if(isNaN(parseFloat(elWeight.value))){
			resetValue(o);
			return;
		};
		if(isNaN(parseFloat(elDuration.value))){
			resetValue(o);
			return;
		};
	};
	if(isNaN(parseFloat(elWeight.value)) || elWeight.value<=0){
		resetValue(o);
		return warnInvalid(elWeight,"Please enter a positive number for your current weight.");
	};
	if(isNaN(parseFloat(elDuration.value)) || elDuration.value<=0){
		resetValue(o);
		return warnInvalid(elDuration,"Please enter a positive number for the activity duration.");
	};
	// get minutes
	var minutes = elDuration.value;
  
  	// convert lbs to kg
  	var kgs = elWeight.value * 0.4536;
  
  	// calculate calories/hour
  	var cal_hr = parseFloat(elIntensity[elIntensity.selectedIndex].value * kgs);
  	
	//apply duration
	var cal_hr_min = parseFloat(cal_hr * minutes);
	var calories_burned = cal_hr_min/60;
	if(calories_burned>0){
		o.innerHTML = Math.round(calories_burned);
	}else{
		resetValue(o);
	};
};
YAHOO.util.Event.addListener(YAHOO.util.Dom.get("weightBurned"),"keyup",calculateCaloriesBurned);
YAHOO.util.Event.addListener(YAHOO.util.Dom.get("activity"),"change",buildIntensityList);
YAHOO.util.Event.addListener(YAHOO.util.Dom.get("intensity"),"change",calculateCaloriesBurned);
YAHOO.util.Event.addListener(YAHOO.util.Dom.get("duration"),"keyup",calculateCaloriesBurned);
