oRcsf.RegisterObject('Module_Calorietool_Calorietool');
var RCSF_Project_Module_Calorietool_Calorietool =
{
	//
	OnDomLoaded : function()
	{
		this.AssignFormObservers();
	}
	
	,AssignFormObservers : function()
	{
		// Assign form handlers
		$('btn_calccalorie').observe('click', this.Submit.bind(this));
		$('btn_resetcalccalorie').observe('click', this.Reset.bind(this));
	}
	
	,Submit : function()
	{
	  	var b_error = false;
	 	var a_errors = new Array();
		var o_form = $('calorie_form');
		var elements = Form.getElements(o_form);

	    var weight = '';
	    var length = '';
	    var age = '';
	    var activities = '';
	    
		// reset errors
		
		$$('#calorietool_formview input.error').invoke('removeClassName','error');
		
	    var counter = 0;
		elements.each(function(elm) {
			value = $F(elm);
			if (value != '')
      		{
				value = parseInt(value);
				if(Object.isNumber(value) && value > 0)
				{
					if (elm.name == 'weight')
					      weight = value;
				    else if (elm.name == 'length')
				      length = value;
				    else if (elm.name == 'age')
				      age = value;
				    else if (elm.name == 'activities')
				      activities = value;
				} else {
	        		b_error = true;
	       			a_errors[counter] = elm;
	      		}
	      	} else {
	        	b_error = true;
	       		a_errors[counter] = elm;
	      	}
			counter++;
    		}
		);		

		if(b_error)
		{
			// set errors
      		a_errors.each(function(elm){
	      	if (elm.hasClassName('error'))
	        	elm.removeClassName('error');
	        if (elm.name != 'submit' && elm.name != 'activities')
	          	elm.addClassName('error');
	      	});
		}
		else
		{
			var metabolism = (weight * 9.563) + 655.1 + (length * 1.85);
			metabolism = metabolism - (age * 4.676);
		  	var calories = activities / 1000 * metabolism;
			$('calorietool_formview').hide();
			$('calorietool_resultview_text').update('Je verbruikt per dag: ' + Math.round(calories) + ' calorieen.');
			$('calorietool_resultview').show();
			pageTracker._trackEvent('Tools','Calorieverbruik', Math.round(calories));
		}
	}
	
	,Reset : function() {
		$('calorietool_resultview').hide();
		$('calorietool_resultview_text').update('');
		$('calorietool_formview').show();
		
	}
}