// Script para controlar el envío de respuestas

$(document).ready(function()
{
	if( whoIs() ==null)
		$("#datosPersonalesAutorRespuesta").show();
	
	// Para cuando se lanza la respuesta
	$("#botonEnviarRespuesta").click(
		function ()
		{
			$("#mensajeErrorNuevaRespuesta").hide();
			$("#mensaje_confirmacion_insercion_respuesta").hide();
 
			var userId = whoIs();

			if (!$("#textoNuevaRespuesta").val() || $("#textoNuevaRespuesta").val().length >5000)
			{
				$("#mensajeErrorNuevaRespuesta").html("Tu pregunta no ha sido enviada. El campo de la respuesta no puede estar vacio ni superar los 5000 caracteres.");
				$("#mensajeErrorNuevaRespuesta").show();
				$("#textoNuevaRespuesta").focus();
				return false;
			}

			if (userId==null && !$("#autorRespuesta").val())
			{
				$("#mensajeErrorNuevaRespuesta").html("Tu pregunta no ha sido enviada. Debes introducir el nombre.");
				$("#mensajeErrorNuevaRespuesta").show();
				$("#textoNuevaRespuesta").focus();
				return false;
			}
			
			if (userId==null && !$("#emailAutorRespuesta").val())
			{
				$("#mensajeErrorNuevaRespuesta").html("Tu pregunta no ha sido enviada. Debes introducir un correo electronico.");
				$("#mensajeErrorNuevaRespuesta").show();
				$("#textoNuevaRespuesta").focus();
				return false;
			}
			
			if (userId==null && validarEmail($("#emailAutorRespuesta").val())==false)
			{
				$("#mensajeErrorNuevaRespuesta").html("Tu pregunta no ha sido enviada. La direccion de correo electronico no es correcta.");
				$("#mensajeErrorNuevaRespuesta").show();
				$("#textoNuevaRespuesta").focus();
				return false;
			}
			
			// Verificamos el captcha
			var captchaValido = compruebaCaptcha('captchaRespuestas',$("#captchaCodeRespuesta").val());
			if(captchaValido!="true"){
				$("#mensajeErrorNuevaRespuesta").html("Introduzca nuevamente el codigo que aparece en la imagen (sensible a mayúsculas y minúsculas) ");
				$("#mensajeErrorNuevaRespuesta").show();
				cambiaCaptcha('captchaRespuestas',$(".cambiarCaptcha").attr("id").split("_")[2]);
				$("#captchaCodeRespuesta").focus();
				return false;
			}	

			if ($("#mostrarImagenAutorRespuesta").is(":checked"))
				var mostrarImagenAutorRespuesta = 1
			else
				var mostrarImagenAutorRespuesta = 0

			$.post("/modulo/moduloRespuestas.html",{idPreguntaNuevaRespuesta:$("#idPreguntaNuevaRespuesta").val(),textoNuevaRespuesta:escape($("#textoNuevaRespuesta").val()),mostrarImagenAutorRespuesta:mostrarImagenAutorRespuesta,usuario:userId,nombreAutorRespuesta:escape($("#autorRespuesta").val()),emailAutorRespuesta:escape($("#emailAutorRespuesta").val())},
				function (resultadoInsercionRespuesta)
				{
					resultadoInsercionRespuesta = resultadoInsercionRespuesta.replace(/^\s+/, "");
					switch (resultadoInsercionRespuesta)
					{
						case "1":
							$("#mensajeErrorNuevaRespuesta").html("Tu pregunta no ha sido enviada. Se ha producido un error al intentar registrarla.");
							$("#mensajeErrorNuevaRespuesta").show();
							break;
						case "2":
							limpiarForm();
							$("#mensaje_confirmacion_insercion_respuesta").show();
							break;
						default:
							$("#mensajeErrorNuevaRespuesta").html("Tu pregunta no ha sido enviada. Se ha producido un error al intentar registrarla.");
							$("#mensajeErrorNuevaRespuesta").show();
							break;
					}
					return false;
				}
			);
		}
	);

});

function whoIs(){
// Comprobamos que el usuario este conectado
var ckArr = document.cookie.split("; "); 
var userId = null;
var ipUser = false;
for (var nBucle=0;nBucle<ckArr.length;nBucle++) 
{
	var aCookie = ckArr[nBucle].split("="); 
	// Comprobamos que la cookie que necesitamos está creada 
	if (aCookie[0] == "parasaber_validation_info") 
	{
		var parametrosCookie = unescape(aCookie[1]); 
		userId = parametrosCookie.split("|")[0];
	}
	}
return userId;
}

function validarEmail (email)
{
	if (email.length == 0)
		return false;
	if (email.indexOf(' ') != -1)
		return false;
	var erEmail = /^[^@]+@[^\.]+(\.[^\.]+)+$/;
	var valida = erEmail.test(email);
	if(valida)
		return true;
	else
		return false;
}
function limpiarForm(){
	$("#textoNuevaRespuesta").val("");
	$("#autorRespuesta").val("");
	$("#emailAutorRespuesta").val("");
	cambiaCaptcha('captchaRespuestas',$(".cambiarCaptcha").attr("id").split("_")[2]);
	$("#captchaCodeRespuesta").val("");
}
