jQuery(document).ready(function() {
	jQuery('.daily-steps-walked-edit').bind('keyup change', function(event) {
		var dayid = jQuery(this).attr('id').substring(19);
		addWalkedAndExtra(dayid);
	});
	jQuery('.daily-steps-extra-moderate,.daily-steps-extra-vigorous,.daily-steps-extra-distance').bind('keyup change', function(event) {
		var dayid = jQuery(this).attr('id').match(/\d+/);
		changeExtraField(dayid);
		addWalkedAndExtra(dayid);
	});
	jQuery('#daily-steps-entry-list tbody tr.daily-steps-extra-entry:even,#daily-steps-entry-list tbody tr.daily-steps-comment-entry:even,#daily-steps-entry-list tbody tr.daily-steps-basic-entry:even').addClass('alt');
	jQuery('.daily-steps-comment-entry,.daily-steps-extra-entry').hide();
	jQuery('.daily-steps-comment-edit').click(
		function(event) {
			event.preventDefault();
			jQuery(this).parents('.daily-steps-basic-entry').nextAll('.daily-steps-comment-entry:first').toggle();
		}
	);
	jQuery('.daily-steps-extra-calculator').click(
		function(event) {
			event.preventDefault();
			jQuery(this).parents('.daily-steps-basic-entry').nextAll('.daily-steps-extra-entry:first').toggle();
		}
	);
	jQuery('.daily-steps-delete').click(
		function(event) {
			event.preventDefault();
			jQuery(this).parents('.daily-steps-basic-entry').find('input').val(0);
			jQuery(this).parents('.daily-steps-basic-entry').nextAll('.daily-steps-extra-entry:first,.daily-steps-comment-entry:first').find('input').val(0);
		}
	);
});

function addWalkedAndExtra(dayid) {
	var walked = getNumberValue('daily-steps-walked-' + dayid, 0);
	var extra = getNumberValue('daily-steps-extra-' + dayid, 0);
	jQuery('#daily-steps-total-' + dayid).val(walked+extra);
}

function changeExtraField(dayid) {
	var moderate = getNumberValue('daily-steps-extra-moderate-' + dayid, 0);
	var vigorous = getNumberValue('daily-steps-extra-vigorous-' + dayid, 0);
	var distance = getNumberValue('daily-steps-extra-distance-' + dayid, 0);
	var caloriesPerModerate = getNumberValue('calories-per-moderate', 100);
	var caloriesPerVigorous = getNumberValue('calories-per-vigorous', 200);
	var caloriesPerMile = getNumberValue('calories-per-mile', 2000);
	jQuery('#daily-steps-extra-' + dayid).val(moderate*caloriesPerModerate+vigorous*caloriesPerVigorous+distance*caloriesPerMile);
}

function getNumberValue( id, defaultValue ) {
	var newValue = parseInt(jQuery('#'+id).val());
	if( isNaN( newValue ) ) { newValue = defaultValue; }
	return newValue;
}