// JavaScript Document
/*
__VARIABLES GLOBALES__
*/
var objQuestions = {};
var NOT_MARK = 'not marked';
var $radioButton = [];
var SexyAlert = {};
var CONGRATULATIONS_MESSAGE = '';
var ERROR_MESSAGE = '';
/*
creaObjQuestion () => crea un objeto que guarda el valor de cada pregunta del cuestionario. 
Las propiedades de este objeto se llaman igual que el name de los input.radioButton
Se ejecuta nada más cargarse el DOM
*/
var creaObjQuestion = function(){
	
	$radioButton.each(function(item){
	    item.checked = false;
		//if(!tempA_Questions.contains($radioButton[i].name)){
			//tempA_Questions.push($radioButton[i].name);
		    objQuestions[item.name] = NOT_MARK;
		//}
		//}.bind($radioButton));
		});
}


/*
onRadioButton_click() => genera un evento click para cada radioButton del formulario.
Se ejecuta nada más cargarse el DOM
*/
var onRadioButton_click = function(){
	$radioButton.addEvent('click', function(){
		objQuestions[this.name] = this.value;
		
		//alert(objQuestions[this.name.substring(0,4)])
	});	
}


/*
onBtnSend_click() => genera un evento click para el botón submit del formulario.
recorre todo el objeto [objQuestions] y suma sus valores. 
Cada vez que se clica en #btnSend se reinicia el contador y se vuelve a recoger el objeto que almacena las notas.
*/
var onBtnSend_click = function(){
	
	$$('#btnSend').addEvent('click', function(){
		var totalResult = 0;											  	
		for(a in objQuestions){
			if(objQuestions[a] == NOT_MARK){
				showERRORnotMark();
				return false;
			}else{
				totalResult += parseInt(objQuestions[a])
			}
		}
		showLeyenda(totalResult);
	});
}




/*
showERRORnotMark() => muestra un mensaje diciendo que no se han marcado alguno de los radioButtons
la variable ERROR_MESSAGE esta definida en test_form.xml
*/
var showERRORnotMark = function(){

	SexyAlert.alert(ERROR_MESSAGE)
}




/*
showLeyenda() => Esconde <fieldset> y muestra <div id="leyenda">
Muestra el resultado final del test dentro de un <span>.

* param:
* int: totalResult => valor que se muestra en [#puntuacionTotal span]
*/
var showLeyenda = function(totalResult){
	
	SexyAlert.info(CONGRATULATIONS_MESSAGE+' '+totalResult)
	$$('fieldset').setStyle('display','none')
	$$('#leyenda').setStyle('display','block');
	$$('#puntuacionTotal span').appendText(totalResult);
	
}

window.addEvent('domready', function(){
	/*Guardo en memoria un array con todos los objetos [object HTMLInputElement] con clase .radioButton*/									 
	$radioButton = $$('fieldset input.radiobutton');
	
	SexyAlert = new SexyAlertBox();

	/*Inicializo todas las funciones necesarias*/
	creaObjQuestion();
	onRadioButton_click();
	onBtnSend_click();
});