//----------------------------------------------------------------------------------------------------------------------
// Archivo: comentarios.js
// Version: 1.0
// Fecha: Octubre 2009
// Autor: elRevoltijo-Network.com
// Descripcion: funciones javascript para comentarios
//----------------------------------------------------------------------------------------------------------------------

var comentarios_nombreInicioVar = false;
var comentarios_comentarioInicioVar = false;

//----------------------------------------------------------------------------------------------------------------------
// Funcion comentarios_nombreInicio
//----------------------------------------------------------------------------------------------------------------------
// Devuelve: false
//----------------------------------------------------------------------------------------------------------------------
function comentarios_nombreInicio() {
	if(comentarios_nombreInicioVar == false) {
		document.getElementById('comentarios_nombre').className = "comentarios_input_normal";
		document.getElementById('comentarios_nombre').value = "";
		comentarios_nombreInicioVar = true;
	}
	return false;
}

//----------------------------------------------------------------------------------------------------------------------
// Funcion comentarios_comentarioInicio
//----------------------------------------------------------------------------------------------------------------------
// Devuelve: false
//----------------------------------------------------------------------------------------------------------------------
function comentarios_comentarioInicio() {
	if(comentarios_comentarioInicioVar == false) {
		document.getElementById('comentarios_comentario').className = "comentarios_input_normal";
		document.getElementById('comentarios_comentario').value = "";
		comentarios_comentarioInicioVar = true;
	}
	return false;
}



//----------------------------------------------------------------------------------------------------------------------
// comentarios_comentar(). Funcion primaria para realizar un comentario
//----------------------------------------------------------------------------------------------------------------------
function comentarios_comentar() {
	// Obtencion del XmlHttpObject
	xmlHttpObject = ajax_obtenerXmlHttpObject();
	
	// Comprobacion de campos y procesamiento Ajax
	if (xmlHttpObject == null) {
		alert ("ERROR: Tu navegador no soporta 'HTTP Request'");
		return;
	}
	
	// Reinicio de mensajes
	var errores = false;
	document.getElementById("comentarios_nombre_error").innerHTML = "";
	document.getElementById("comentarios_comentario_error").innerHTML = "";			// Todos los mensajes de los campos
	document.getElementById("comentarios_enviar_error").innerHTML = "";				// y del boton "enviar"
	document.getElementById("comentarios_enviar_mensaje").innerHTML = "";

	// Errores en el nombre
	errores = formularios_comprobarValorInicial("comentarios_nombre", "comentarios_nombre_error", "comentarios_enviar", "Nombre") || errores;
	errores = formularios_comprobarValorInicial("comentarios_nombre", "comentarios_nombre_error", "comentarios_enviar", "") || errores;
	errores = formularios_comprobarLongitudMaxima("comentarios_nombre", "comentarios_nombre_error", "comentarios_enviar", 32) || errores;

	// Errores en el comentario
	errores = formularios_comprobarValorInicial("comentarios_comentario", "comentarios_comentario_error", "comentarios_enviar", "Comentario") || errores;
	errores = formularios_comprobarValorInicial("comentarios_comentario", "comentarios_comentario_error", "comentarios_enviar", "") || errores;
	errores = formularios_comprobarLongitudMaxima("comentarios_comentario", "comentarios_comentario_error", "comentarios_enviar", 512) || errores;

	// Recuento de errores
	if(errores == false) {
		document.getElementById("comentarios_enviar_mensaje").innerHTML = "<img src='imagenes/ajax-load.gif'>";

		// Inhabilitacion del formulario
		formularios_inhabilitarCampo("comentarios_nombre");
		formularios_inhabilitarCampo("comentarios_comentario");		// Todos los campos del formulario
		formularios_inhabilitarBoton("comentarios_enviar");			// y el boton enviar

		var url = "../modulos/comentarios/ajax/comentarios_comentar.php";
	 	var video = document.getElementById("comentarios_video").value;
	 	var nombre = document.getElementById("comentarios_nombre").value;
	 	var comentario = document.getElementById("comentarios_comentario").value;

		xmlHttpObject.onreadystatechange = comentarios_comentar_respuesta;
		xmlHttpObject.open("POST", url, true);
		xmlHttpObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xmlHttpObject.send("video=" + video + "&nombre=" + nombre + "&comentario=" + comentario);
	}
}

//----------------------------------------------------------------------------------------------------------------------
// comentarios_comentar_respuesta(). Funcion secundaria para realizar un comentario
//----------------------------------------------------------------------------------------------------------------------
function comentarios_comentar_respuesta() {
	if (xmlHttpObject.readyState == 4 || xmlHttpObject.readyState == "complete") {
		var xmlDoc = xmlHttpObject.responseXML;
		if(xmlDoc.getElementsByTagName("resultado")[0].firstChild != null) { var resultado = xmlDoc.getElementsByTagName("resultado")[0].firstChild.nodeValue; }

		// Retirada de mensaje de espera
		document.getElementById("comentarios_enviar_mensaje").innerHTML = "";

		if (resultado == "1") {
			// Habilitacion del formulario
			formularios_habilitarCampo("comentarios_nombre");
			formularios_habilitarCampo("comentarios_comentario");
			formularios_habilitarBoton("comentarios_enviar");
				
			document.getElementById("comentarios_enviar").className = "input_boton";
			document.getElementById("comentarios_enviar_mensaje").innerHTML = "Comentario enviado.";
			comentarios_borrarFormulario();
		}
		else {
			document.getElementById("comentarios_enviar_error").innerHTML = "Error. No se envi&oacute; el comentario.";
		}
	}
}



//----------------------------------------------------------------------------------------------------------------------
// FUNCION comentarios_borrarFormulario. Funcion para borrar el formulario
//----------------------------------------------------------------------------------------------------------------------
function comentarios_borrarFormulario() {
	// Vaciado de los campos
	document.getElementById("comentarios_nombre").value = "Nombre";
	document.getElementById("comentarios_comentario").value = "Comentario";
	
	// Aplicacion de los estilos
	document.getElementById("comentarios_nombre").className = "comentarios_input_inicial";
	document.getElementById("comentarios_comentario").className = "comentarios_input_inicial";
	
	// Reseteo de las variables
	comentarios_nombreInicioVar = false;
	comentarios_comentarioInicioVar = false;
}



//----------------------------------------------------------------------------------------------------------------------
// comentarios_cargar(). Funcion primaria para cargar un nuevo bloque de comentarios
//----------------------------------------------------------------------------------------------------------------------
function comentarios_cargar(video, clave, minimo, maximo, accion) {
	// Obtencion del XmlHttpObject
	xmlHttpObject = ajax_obtenerXmlHttpObject();
	
	// Comprobacion de campos y procesamiento Ajax
	if (xmlHttpObject == null) {
		alert ("ERROR: Tu navegador no soporta 'HTTP Request'");
		return;
	}
	
	// Mensaje de espera
	document.getElementById("comentarios_mensaje").innerHTML = "<img src='imagenes/ajax-load.gif'>";
	document.getElementById("comentarios_error").innerHTML = "";
	document.getElementById("comentarios_lista").innerHTML = "";

	var url = "../modulos/comentarios/ajax/comentarios_cargar.php";

	xmlHttpObject.onreadystatechange = comentarios_cargar_respuesta;
	xmlHttpObject.open("POST", url, true);
	xmlHttpObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlHttpObject.send("video=" + video + "&clave=" + clave + "&minimo=" + minimo + "&maximo=" + maximo + "&accion=" + accion);
}

//----------------------------------------------------------------------------------------------------------------------
// comentarios_cargar_respuesta(). Funcion secundaria para realizar un comentario
//----------------------------------------------------------------------------------------------------------------------
function comentarios_cargar_respuesta() {
	if (xmlHttpObject.readyState == 4 || xmlHttpObject.readyState == "complete") {
		var xmlDoc = xmlHttpObject.responseXML;
		if(xmlDoc.getElementsByTagName("resultado")[0].firstChild != null) { var resultado = xmlDoc.getElementsByTagName("resultado")[0].firstChild.nodeValue; }
		if(xmlDoc.getElementsByTagName("video")[0].firstChild != null) { var video = xmlDoc.getElementsByTagName("video")[0].firstChild.nodeValue; }
		if(xmlDoc.getElementsByTagName("clave")[0].firstChild != null) { var clave = xmlDoc.getElementsByTagName("clave")[0].firstChild.nodeValue; }
		if(xmlDoc.getElementsByTagName("minimo")[0].firstChild != null) { var minimo = xmlDoc.getElementsByTagName("minimo")[0].firstChild.nodeValue; }
		if(xmlDoc.getElementsByTagName("maximo")[0].firstChild != null) { var maximo = xmlDoc.getElementsByTagName("maximo")[0].firstChild.nodeValue; }
		if(xmlDoc.getElementsByTagName("num_comentarios")[0].firstChild != null) {
			var num_comentarios = xmlDoc.getElementsByTagName("num_comentarios")[0].firstChild.nodeValue; }
		if(xmlDoc.getElementsByTagName("comentarios").length > 0) { var comentarios = xmlDoc.getElementsByTagName("comentarios"); }

		// Retirada de mensaje de espera
		document.getElementById("comentarios_mensaje").innerHTML = "";
		document.getElementById("comentarios_error").innerHTML = "";

		if (resultado == "1") {
			// Control del boton Anterior
			if(minimo <= 0) {
				// Paginador superior
				document.getElementById("comentarios_boton_anterior_up").className = "span_paginador_actual";
				document.getElementById("comentarios_boton_anterior_up").innerHTML = "Anterior";
				// Paginador inferior
				document.getElementById("comentarios_boton_anterior_down").className = "span_paginador_actual";
				document.getElementById("comentarios_boton_anterior_down").innerHTML = "Anterior";
			}
			else {
				// Paginador superior
				document.getElementById("comentarios_boton_anterior_up").className = "span_paginador_boton";
				document.getElementById("comentarios_boton_anterior_up").innerHTML =
					"<a onclick=\"comentarios_cargar(" + video + ", '" + clave + "', " + minimo + ", " + maximo + ", 'anterior'); return false;\" " +
					"href=\"videos_" + clave + "_" + video + ".htm\">Anterior</a>";
				// Paginador inferior
				document.getElementById("comentarios_boton_anterior_down").className = "span_paginador_boton";
				document.getElementById("comentarios_boton_anterior_down").innerHTML =
					"<a onclick=\"comentarios_cargar(" + video + ", '" + clave + "', " + minimo + ", " + maximo + ", 'anterior'); return false;\" " +
					"href=\"videos_" + clave + "_" + video + ".htm\">Anterior</a>";
			}
			
			// Control del boton Siguiente
			if(maximo >= (num_comentarios-1)) {
				// Paginador superior
				document.getElementById("comentarios_boton_siguiente_up").className = "span_paginador_actual";
				document.getElementById("comentarios_boton_siguiente_up").innerHTML = "Siguiente";
				// Paginador inferior
				document.getElementById("comentarios_boton_siguiente_down").className = "span_paginador_actual";
				document.getElementById("comentarios_boton_siguiente_down").innerHTML = "Siguiente";
			}
			else {
				// Paginador superior
				document.getElementById("comentarios_boton_siguiente_up").className = "span_paginador_boton";
				document.getElementById("comentarios_boton_siguiente_up").innerHTML =
					"<a onclick=\"comentarios_cargar(" + video + ", '" + clave + "', " + minimo + ", " + maximo + ", 'siguiente'); return false;\" " +
					"href=\"videos_" + clave + "_" + video + ".htm\">Siguiente</a>";
				// Paginador inferior
				document.getElementById("comentarios_boton_siguiente_down").className = "span_paginador_boton";
				document.getElementById("comentarios_boton_siguiente_down").innerHTML =
					"<a onclick=\"comentarios_cargar(" + video + ", '" + clave + "', " + minimo + ", " + maximo + ", 'siguiente'); return false;\" " +
					"href=\"videos_" + clave + "_" + video + ".htm\">Siguiente</a>";
			}
			
			// Muestreo de los comentarios
			for(var i=0; i<comentarios.length; i++) {
				var usuario = comentarios[i].childNodes[0].firstChild.nodeValue;
				var fecha = comentarios[i].childNodes[1].firstChild.nodeValue;
				var comentario = comentarios[i].childNodes[2].firstChild.nodeValue;

				// Creacion del HTML
				document.getElementById("comentarios_lista").innerHTML = document.getElementById("comentarios_lista").innerHTML +
					"<div class=\"div_comentarios_comentario\">" +
					"<p><span class=\"span_comentarios_nombre\">&middot; " + usuario + "</span>. " +
					"<span class=\"span_comentarios_fecha\">" + fecha + "</span></p>" +
					"<p><span class=\"span_comentarios_comentario\">" + comentario + "</span></p>" +
					"</div>";
			}
		}
		else {
			document.getElementById("comentarios_error").innerHTML = "Error. No se pueden cargar los comentarios.";
		}
	}
}

