// JavaScript Document

var encuestaValidator;

function alertarErroresModal(arrErrores){
	var txtErrores = "";
	for (var i = 0; i < arrErrores.length;i++){
			txtErrores = txtErrores +  arrErrores[i]+"<br />";
	}
	crearmodalbox(txtErrores,"Errores en la validación de datos")
}

function EnviarEncuesta(event){
		
		var erroresFrmValidado = encuestaValidator.validarSilencioso();
		if (erroresFrmValidado.length>0){
			event.preventDefault();
			var cmpsErr = encuestaValidator.camposErroneos();
			setEstadoError(cmpsErr);
			alertarErroresModal(erroresFrmValidado);
		} else { // Enviamos un submit de ajax.
			event.preventDefault();
			laLlamada = new Ajax.Request("/includes/encuestaAjax.jsp",
																	 	{
																			method:'post',
																			parameters:{'nombre':$('nombreEncuesta').value,
																									'apellidos':$('apellidosEncuesta').value,
																									'respuesta':$F($('formularioEncuesta').getInputs('radio', 'respuesta').find(function(re) {return re.checked;})),
																									'email':$('emailEncuesta').value,
																									'aviso':"true"
																									
																			},
																			onSuccess: function(transport){
																				crearmodalbox(transport.responseText,"Encuesta enviada con éxito");
																				$('nombreEncuesta').value = "";
																				$('apellidosEncuesta').value="";
																				$('emailEncuesta').value="";
																			},
																			onFailure :function(transport){
																				crearmodalbox(transport.responseText,"Errores al enviar la encuesta");
																			}
																		}
																	);
		}
}

function setEstadoError(arrCmpsErr){
		for(var contador=0;contador < arrCmpsErr.length;contador++){
			if (!$(arrCmpsErr[contador]).hasClassName("cmpError")) $(arrCmpsErr[contador]).addClassName("cmpError");
		}
}


function onCampoBlur(event){
	var campoTexto = event.element();
	if (!campoTexto.validaciones.validarSilencioso()) {
			campoTexto.addClassName("cmpError");
	}	else {
			campoTexto.removeClassName("cmpError");
	}
}

function addValidacionesEncuesta(){
	if ($("formularioEncuesta")){
			encuestaValidator = new Validacion("formularioEncuesta");											
			encuestaValidator.addValidacion("nombre","req","<strong>Nombre:</strong> El nombre es un parámetro obligatorio para poder participar.<br />");
			encuestaValidator.addValidacion("apellidos","req","<strong>Apellidos:</strong> Los apellidos son parámetros obligatorio para poder participar.<br />");
			encuestaValidator.addValidacion("email","req","<strong>Email:</strong> Se debe indicar una dirección de email válida para poder participar.<br />");	
			//encuestaValidator.addValidacion("email","email","<strong>Email: </strong>El email debe ser válido.<br />");	
			encuestaValidator.addValidacion("respuesta","req","<strong>Respuesta:</strong> Seleccione una de las respuestas.<br />");	
			encuestaValidator.addValidacion("aviso","reqcheck","<strong>Debe aceptar las condiciones del Aviso Legal y Política de Privacidad para poder participar.</strong><br />");	
			var camposValidados = encuestaValidator.camposValidados();
			for(var contador=0;contador < camposValidados.length;contador++){
				$(camposValidados[contador]).observe('change',onCampoBlur);
				$(camposValidados[contador]).observe('keyup',onCampoBlur);
			}
			botonSubmit = $('btnEnviar');
			botonSubmit.observe('click', EnviarEncuesta);
	}
}


Event.observe(window, 'load', addValidacionesEncuesta);
