// Módulo para el envío de acciones sobre marcas al servidor.

// Función que aprueba un punto pendiente de aprobación.
function marcas_Aprobar(id_topic) {
	var pagina = GEOK_DIR_BASE + "/" + GEOK_PATH_RESPUESTAS + "/";
	var params = "id=1&t=" + id_topic + "&sid=" + getCookie("sesion_phpbb");
	var capa = "plt_nombre_estado";
	
	// Cambiamos el nombre del estado por el icono animado de "cargando...".
	document.getElementById(capa).innerHTML = 
		"<div class=\"plt_icono_img\"><img style=\"border: 0;\" src=\"" + 
			GEOK_DIR_BASE + "/" + GEOK_PATH_IMAGENES + "/" + GEOK_ICONO_CARGANDO + "\" /></div>";
	
	// Lanzamos la petición usando las funciones de Google Maps.
	GDownloadUrl(pagina + "?" + params, function(data, responseCode) {
		var xml = GXml.parse(data);
		var mensaje = xml.getElementsByTagName("mensaje");
		document.getElementById(mensaje[0].getAttribute("capa")).innerHTML = mensaje[0].firstChild.data;
	});
}

//Función que cierra el topic correspondiente a una marca.
function marcas_Cerrar(id_topic) {
	var pagina = GEOK_DIR_BASE + "/" + GEOK_PATH_RESPUESTAS + "/";
	var params = "id=3&t=" + id_topic + "&sid=" + getCookie("sesion_phpbb");
	var capa = "plt_nombre_estado";
	
	// Cambiamos el nombre del estado por el icono animado de "cargando...".
	document.getElementById(capa).innerHTML = 
		"<div class=\"plt_icono_img\"><img style=\"border: 0;\" src=\"" + 
			GEOK_DIR_BASE + "/" + GEOK_PATH_IMAGENES + "/" + GEOK_ICONO_CARGANDO + "\" /></div>";
	
	// Lanzamos la petición usando las funciones de Google Maps.
	GDownloadUrl(pagina + "?" + params, function(data, responseCode) {
		var xml = GXml.parse(data);
		var mensaje = xml.getElementsByTagName("mensaje");
		document.getElementById(mensaje[0].getAttribute("capa")).innerHTML = mensaje[0].firstChild.data;
	});
}

//Función para valorar una marca.
function marcas_Puntuar(id_topic) {
	var pagina = GEOK_DIR_BASE + "/" + GEOK_PATH_RESPUESTAS + "/";
	var params = "id=4&t=" + id_topic + "&sid=" + getCookie("sesion_phpbb");
	var capa = "plt_nombre_estado";
	
	// Cambiamos el nombre del estado por el icono animado de "cargando...".
	document.getElementById(capa).innerHTML = 
		"<div class=\"plt_icono_img\"><img style=\"border: 0;\" src=\"" + 
			GEOK_DIR_BASE + "/" + GEOK_PATH_IMAGENES + "/" + GEOK_ICONO_CARGANDO + "\" /></div>";
	
	// Lanzamos la petición usando las funciones de Google Maps.
	GDownloadUrl(pagina + "?" + params, function(data, responseCode) {
		var xml = GXml.parse(data);
		var mensaje = xml.getElementsByTagName("mensaje");
		document.getElementById(mensaje[0].getAttribute("capa")).innerHTML = mensaje[0].firstChild.data;
	});
}

//Función que elimina un punto.
function marcas_Eliminar(id_topic, id_forum) {
	var pagina = GEOK_DIR_BASE + "/" + GEOK_PATH_RESPUESTAS + "/";
	var params = "id=2&t=" + id_topic + "&sid=" + getCookie("sesion_phpbb");
	var capa = "plt_nombre_estado";
	
	// Cambiamos el nombre del estado por el icono animado de "cargando...".
	document.getElementById(capa).innerHTML = 
		"<div class=\"plt_icono_img\"><img style=\"border: 0;\" src=\"" + 
			GEOK_DIR_BASE + "/" + GEOK_PATH_IMAGENES + "/" + GEOK_ICONO_CARGANDO + "\" /></div>";
	
	// Lanzamos la petición usando las funciones de Google Maps.
	GDownloadUrl(pagina + "?" + params, function(data, responseCode) {
		// En este caso, no es necesario procesar ninguna respuesta,
		// ya que se cerrará la nube y se eliminará el punto de la
		// pantalla.
		eliminar_marca_xml(id_topic, id_forum);
	});
}

//Función para añadir una marca a un foro.
function marcas_Crear(id_foro, titulo, cuerpo, lat, lng) {
	var pagina = GEOK_DIR_BASE + "/" + GEOK_PATH_RESPUESTAS + "/";
	var params = "id=5&f=" + id_foro + "&tit=" + escape(titulo) + 
		"&txt=" + escape(cuerpo) + "&lat=" + lat + "&lng=" + lng +
		"&sid=" + getCookie("sesion_phpbb");
	var capa = "plt_icono_espera";
	
	// Cambiamos el nombre del estado por el icono animado de "cargando...".
	document.getElementById(capa).innerHTML = 
		"<img style=\"border: 0;\" src=\"" + 
			GEOK_DIR_BASE + "/" + GEOK_PATH_IMAGENES + "/" + GEOK_ICONO_CARGANDO + "\" />";
	
	// Lanzamos la petición usando las funciones de Google Maps.
	GDownloadUrl(pagina + "?" + params, function(data, responseCode) {
		// En caso de que la marca requiera aprobación,
		// se mostrará un mensaje en la nube, dentro de la
		// capa definida para tal fin. En caso de que no
		// requiera aprobación, se recargará el mapa y se abrirá 
		// la nube con el nuevo punto.
		var xml = GXml.parse(data);				
		var id_topic = parseInt(xml.getElementsByTagName("topic")[0].firstChild.data);

		if (id_topic != 0) {
			cargar_xml(id_foro, id_topic);
		} else {
			var mensaje = xml.getElementsByTagName("mensaje");
			document.getElementById(mensaje[0].getAttribute("capa")).innerHTML = 
				mensaje[0].firstChild.data;
		}
	});
}

