	//Realiza el login de un usuario en la web
	//Devuelve "OK" si el log ha sido correcto
	function RegistrarUsuario_JS(login, password)
	{
		var js;
		var o = new UsuarioWeb();
		o.F3001_Login = login;
		o.F3001_Password = password;
		
		GLB_OBJETOS["UsuarioWeb"] = o;
		
		var tmp = new Array();
		tmp[0] = "UsuarioWeb";
  
		//Si el registro es correcto, recargar la página personalizada
		js = "if(res == \"OK\") "+
			    "document.location = \"HomeTeulada.aspx\"; "+
			 "else "+
				"alert(res); "
		
		CallWebService("servicio.asmx", "RegistrarUsuario_WM", tmp, js);
		
	}
	//Obtiene los datos del usuario actual
	function PedirDatosUsuario()
	{
		//Obtener el objeto de la respuesta y rellenar los datos del formulario con él
		var js = "eval(res); RellenarDatosUsuario(GLB_OBJETOS[\"Usuario_Out\"]);"
		
		CallWebService("servicio.asmx", "GetUsuario_WM", "", js);
	}
		
	//Obtiene los resultados de una búsqueda de empresas
	//PARAMS:
	//cadena: cadena con las palabras de búsqueda. Si no hay palabras, vale ""
	//familia: familia a la que pertenece la empresa. Si no pertenece a ninguna, vale "-1"
	//tipo: tipo al que pertenece la empresa. Si no pertenece a ninguno, vale "-1"
	//REMARKS:
	//Esta funcion es utilizada en el buscador de empresas para obtener los resultados.
	//Introduce los parametros necesarios en GLB_OBJETOS y pide la sección
	function GetResultadosBuscEmpresas_JS(cadena, familia, tipo)
	{
		//Obtener la condición de búsqueda 
		var aux = "WHERE";
		if(familia && familia != "-1")
			aux += " E1013_TiposEmpresas.F1012_Familia = '"+familia+"' AND";
		if(tipo && tipo != "-1")
			aux += " E1013_TiposEmpresas.F1013_Codigo = '"+tipo+"' AND";
		if(cadena && cadena != "")
			aux += " LISTA_GENERICA_EMPRESAS.F2002_Nombre LIKE '%"+cadena+"%' AND";
		
		if(aux == "WHERE")
			aux = "";
		else
			aux = aux.substring(0,aux.length-3);
			
		var o1 = new paginaListaGen_In();
		o1.numPagina = 1;
		o1.F2023_TipoObjeto = "Empresa";
		o1.condicion = aux;
		GLB_OBJETOS["PaginaListaGen_In"] = o1;
	
		var o2 = new seccion_In();
		o2.F3019_Id = 116; //Seccion 116
	
		GLB_OBJETOS["ResultadosEmpr_In"] = o1;
		GLB_OBJETOS["Seccion_In"] = o2;
			
		var tmp = new Array();
		tmp[0] = "PaginaListaGen_In";
		tmp[1] = "Seccion_In";
		
		//Pongo el HTML en el centro y ejecuto el Javascript
		var js =	"var centro = document.getElementById(\"Main_zonaCentral\");"+
					"BorrarHijos(centro); "+
					"centro.innerHTML = res; "+
					"eval(centro.getElementsByTagName(\"SCRIPT\")[0].innerHTML);";

		CallWebService("servicio.asmx", "GetSeccionHTML_WM", tmp, js);
	}

	//Obtiene el codigo HTML y JS asociado a un componente en base de datos.
	//PARAMS:
	//tipo: Identificador del tipo de objeto (componente o no) del que se quieren los datos.
	//id: Identificador del objeto concreto en base de datos.
	//REMARKS:
	//Esta funcion es utilizada en la lista generica para mostrar un resultado concreto debajo.
	//Los objetos pedibles son componentes, el servidor genera el XML, lo mezcla con la XSL apropiada y devuelve
	//el codigo JS <separador/> HTML.
	//RETURNS:
	//Vector de 2 componentes: 0 -> JS; 1 -> HTML.
	function GetObjetoListaGen_JS(tipo, id)		
	{
		//Generar el objeto a pedir
		var o = new objListaGen_In();
		o.F3023_TipoObjeto = tipo;
		o.id = id;
			
		GLB_OBJETOS["ObjetoListaGen_In"] = o;
			
		var tmp = new Array();
		tmp[0] = "ObjetoListaGen_In";
		
		//Pongo el HTML en el centro y ejecuto el Javascript
		var js =	"if(res != ''){var zonaDatos = document.getElementById(\"ListaGenerica_datos\"); zonaDatos.innerHTML = res;"+
					"res = zonaDatos.getElementsByTagName(\"SCRIPT\"); if(res.length == 1) eval(res[0].innerHTML);}";
		
		CallWebService("servicio.asmx", "GetObjetoListaGen_WM", tmp, js);
	}
	
	//Obtiene una pagina de elementos de una lista generica
	//PARAMS:
	//numPagina: Numero de la pagina de elementos (define inicial y final visualizado en lista).
	//objeto: Identificador del objeto que contiene la lista generica.
	//REMARKS:
	//Los tipos de objetos son enviados por el servidor cuando se crea la lista y vuelven a el en la llamada.
	//El numero de elementos en cada pagina es definido en el servidor
	//RETURNS:
	//Codigo HTML correspondiente a la lista generica en una pagina y para un tipo de objeto
	function GetPaginaListaGenerica_JS(numPagina, objeto, condicion)
	{
		//Crear los datos a enviar al servidor
		var o = new paginaListaGen_In();
		o.numPagina = numPagina;
		o.F2023_TipoObjeto = objeto;
		o.condicion = condicion;
		GLB_OBJETOS["PaginaListaGen_In"] = o;
			
		var tmp = new Array();
		tmp[0] = "PaginaListaGen_In";
		
		//Montar el HTML de la lista genérica y actualizar la barra de navegación
		var js =    "var lista = document.getElementById(\"ListaGenerica\"); " +
		            "lista.parentNode.innerHTML = res; " +
		            "MontarNavegacion(document.getElementById(\"ListaGenerica_navegacion\"),"+numPagina+",lista.getAttribute(\"numPaginas\"),\"BuscarResultados\");";
		
		CallWebService("servicio.asmx", "GetPaginaListaGen_WM", tmp, js);
	}
	
	//Almacena un valor en la sesion del usuario
	//Se utiliza para mantener el tipo de letra visualizado,...
	function GuardarSession_JS(key, valor)
	{
		var o = new paramSession_In();
		o.key = key;
		o.valor = valor;
		
		GLB_OBJETOS["ParamSession_In"] = o;
		
		var tmp = new Array();
		tmp[0] = "ParamSession_In";
  
		CallWebService("servicio.asmx", "GuardarSession_WM", tmp, "");
	}
	
	//Añade un voto en una encuesta del cuadro de informacion
	function AddVoto_JS(idEncuesta, idPregunta, id_Opcion)
	{
		var o = new voto_In();
		o.F2024_Id = idPregunta;
		o.F2025_Id = id_Opcion;
		
		GLB_OBJETOS["Voto_In"] = o;
		
		var tmp = new Array();
		tmp[0] = "Voto_In";
  
		CallWebService("servicio.asmx", "AddVoto_WM", tmp, "VerResultados("+idEncuesta+");");
	}
	
	function VerResultados(idEncuesta)
	{
	    var js =	"var centro = document.getElementById(\"Main_zonaCentral\"); "+
		            "centro.innerHTML = res; "+
		            "var scripts = centro.getElementsByTagName(\"SCRIPT\"); "+
					"if(scripts[scripts.length-1]) eval(scripts[scripts.length-1].innerHTML); AnadirHistorial(-1000,'Resultados');";
		
	    CallWebService("servicio.asmx", "VerEncuesta_WM", "idEncuesta="+idEncuesta, js,true);
	}
////////////////////////////////////////////////////////////////////////////////////////////////
//CONCEJALIAS///////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////	
	
	//Obtiene una pagina de los actos de un concejal en un mes y un año
	//PARAMS:
	//idConcejal: Identificador del concejal en base de datos
	//numPagina: Numero de la pagina que define desde que acto y hasta que acto de un mes y un año se muestra
	//mes: Mes en el que se producen los actos
	//anyo: Año en el que se producen los actos
	//REMARKS:
	//El numero de resultados por pagina lo define el servidor
	function GetPaginaActos_JS(id_Concejal, numPagina, mes, anyo)
	{
		var res = "";
		var o = new paginaActos_In();
		o.numPagina = numPagina;
		o.F2008_Id = id_Concejal;
		o.mes = mes;
		o.anyo = anyo;
		GLB_OBJETOS["PaginaActos_In"] = o;
		
		var tmp = new Array();
		tmp[0] = "PaginaActos_In";
		
		var js = "eval(res); MostrarPaginaActos("+numPagina+",GLB_OBJETOS[\"PaginaActos_Out\"]);";
		
		CallWebService("servicio.asmx", "GetPaginaActos_WM", tmp, js);
	}

	//Obtiene los datos de un concejal
	//PARAMS:
	//id_Concejal: identificador del concejal en base de datos
	//REMARKS:
	//Los datos de la concejalia se acompañan de los textos estaticos para el componente que los visualiza
	//RETURNS:
	//Vector de 2 componentes: 0 -> datos del concejal (tipo "concejal"); 1 -> textos estaticos (tipo "objetosFijos_componente")
	function GetConcejal_JS(id_Concejal)	
	{
		var o = new concejal_In();
		var res = "";
		o.F2008_Id = id_Concejal;
		GLB_OBJETOS["Concejal_In"] = o;
		
		var tmp = new Array();
		tmp[0] = "Concejal_In";
		
		var js = "eval(res); MostrarConcejal(document.getElementById(\"Concejalia_datos\"),GLB_OBJETOS[\"Concejal_Out\"][0],GLB_OBJETOS[\"Concejal_Out\"][1].textos);";
		
		CallWebService("servicio.asmx", "GetConcejal_WM", tmp, js);
	}
	
	//Obtiene el/los ambito/s de una determinada concejalia
	//PARAMS:
	//id_Concejalia: Identificador de la concejalia en base de datos
	//RETURNS:
	//La parte de texto traducida del objeto de tipo "texto" devuelto por el servidor
	//REMARKS:
	//El texto devuelto se encuentra en el idioma actual y formateado mediante HTML
	function GetAmbitoConcejalia_JS(id_Concejalia)
	{
		var res;
		var o = new concejalia_In();
		o.F2010_Id = id_Concejalia;
		GLB_OBJETOS["Concejalia_In"] = o;
		
		var tmp = new Array();
		tmp[0] = "Concejalia_In";
		
		var js = "eval(res); document.getElementById(\"Concejalia_datos\").innerHTML = GLB_OBJETOS[\"AmbitoConcejalia_Out\"].F2033_Traduccion;";
		
		CallWebService("servicio.asmx", "GetAmbitoConcejalia_WM", tmp, js);
	}
	
	//Obtiene el/los equipamiento/s de una determinada concejalia
	//PARAMS:
	//id_Concejalia: Identificador de la concejalia en base de datos
	//RETURNS:
	//La parte de texto traducida del objeto de tipo "texto" devuelto por el servidor
	//REMARKS:
	//El texto devuelto se encuentra en el idioma actual y formateado mediante HTML
	function GetEquipamientoConcejalia_JS(id_Concejalia)
	{
		var res = "";
		var o = new concejalia_In();
		o.F2010_Id = id_Concejalia;
		GLB_OBJETOS["Concejalia_In"] = o;
		
		var tmp = new Array();
		tmp[0] = "Concejalia_In";
		
		var js = "eval(res); document.getElementById(\"Concejalia_datos\").innerHTML = GLB_OBJETOS[\"EquipConcejalia_Out\"].F2033_Traduccion;";
		
		CallWebService("servicio.asmx", "GetEquipamientoConcejalia_WM", tmp, js);
	}

	//Obtiene la informacion de una determinada concejalia
	//PARAMS:
	//id_Concejalia: Identificador de la concejalia en base de datos
	//RETURNS:
	//La parte de texto traducida del objeto de tipo "texto" devuelto por el servidor
	//REMARKS:
	//El texto devuelto se encuentra en el idioma actual y formateado mediante HTML
	function GetInformacionConcejalia_JS(id_Concejalia)
	{
		var res = "";
		var o = new concejalia_In();
		o.F2010_Id = id_Concejalia;
		GLB_OBJETOS["Concejalia_In"] = o;
		
		var tmp = new Array();
		tmp[0] = "Concejalia_In";
			
		var js = "eval(res); document.getElementById(\"Concejalia_datos\").innerHTML = GLB_OBJETOS[\"InfoConcejalia_Out\"].F2033_Traduccion;";
		
		CallWebService("servicio.asmx", "GetInformacionConcejalia_WM", tmp, js);
	}
	
	//Obtiene las listas de enlaces y documentos de una determinada concejalia
	//PARAMS:
	//id_Concejalia: Identificador de la concejalia en base de datos
	//RETURNS:
	//Objeto de tipo "enlacesConcejalias" con las URL y documentos de interes
	//REMARKS:
	//Los enlaces se montan en la funcion SeleccionarMenu
	function GetEnlacesConcejalia_JS(id_Concejalia)
	{
		var res = "";
		var o = new concejalia_In();
		o.F2010_Id = id_Concejalia;
		GLB_OBJETOS["Concejalia_In"] = o;
		
		var tmp = new Array();
		tmp[0] = "Concejalia_In";
			
		var js = "eval(res); MostrarEnlaces(document.getElementById(\"Concejalia_datos\"),GLB_OBJETOS[\"EnlacesConcejalia_Out\"].listaEnlaces,GLB_OBJETOS[\"EnlacesConcejalia_Out\"].listaAnexos);";
		
		CallWebService("servicio.asmx", "GetEnlacesConcejalia_WM", tmp, js);
	}


////////////////////////////////////////////////////////////////////////////////////////////////
//GESTION DE APARTADOS DENTRO DE LOS MENUS//////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////	
	//Devuelve el código HTML asociado a un componente.
	//PARAMS:
	//id_Seccion: Identificador de la seccion en BD.
	//SEE:
	//datos.js para ver la especificación de los objetos
	//cliente.js para ver la definición de las funciones de llamada al servidor
	//REMARKS: Es invocada por los enlaces de los componentes a secciones
	//RETURNS: Vector de 2 compoentes, la 0 el código javascript y la 1 el HTML
	function GetSeccionHTML_JS(id_Seccion)
	{
		var o = new seccion_In();
		
		//Compruebo si la seccion se pide por nombre o id
		var aux = parseInt(id_Seccion,10);
		
		//Si aux es NaN -> el id_Seccion es el nombre de la seccion
		if(isNaN(aux))
		{
			o.F3019_Id = 0;
			o.F3019_Nombre = "" + id_Seccion;
		}
		else
		{
			o.F3019_Id = id_Seccion;
			o.F3019_Nombre = "";
		}
	
		GLB_OBJETOS["Seccion_In"] = o;

		var tmp = new Array();
		tmp[0] = "Seccion_In";
		if(GLB_OBJETOS["PaginaNovAnuncios_In"])
			tmp[tmp.length] = "PaginaNovAnuncios_In";
		if(GLB_OBJETOS["PaginaAnuncios_In"])
			tmp[tmp.length] = "PaginaAnuncios_In";
		if(GLB_OBJETOS["PaginaEmpresas_In"])
		{
			tmp[tmp.length] = "PaginaEmpresas_In";
			GLB_OBJETOS["ResultadosEmpr_In"] = new resultadosEmpr_In();
			GLB_OBJETOS["ResultadosEmpr_In"].cadBusqueda = busqueda[0];
			GLB_OBJETOS["ResultadosEmpr_In"].F1012_Codigo = new String(busqueda[1]);
			GLB_OBJETOS["ResultadosEmpr_In"].F1013_Codigo = new String(busqueda[2]);
			tmp[tmp.length] = "ResultadosEmpr_In";
		}
		if(GLB_OBJETOS["Anuncio_In"])
			tmp[tmp.length] = "Anuncio_In";
		if(GLB_OBJETOS["Noticia_In"])
			tmp[tmp.length] = "Noticia_In";
		if(GLB_OBJETOS["Evento_In"])
			tmp[tmp.length] = "Evento_In";
			
		//Pongo el HTML en el centro y ejecuto el Javascript
		var js =	"var centro = document.getElementById(\"Main_zonaCentral\"); "+
		            "centro.innerHTML = res; "+
		            "var scripts = centro.getElementsByTagName(\"SCRIPT\"); "+
					"if(scripts[scripts.length-1]) eval(scripts[scripts.length-1].innerHTML);";
		
		CallWebService("servicio.asmx", "GetSeccionHTML_WM", tmp, js);
	}

////////////////////////////////////////////////////////////////////////////////////////////////
//MAPA//////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////	
	
	//Obtiene las calles de Teulada y las mete en el select
	//SEE:
	//cliente.js para ver la definicion de las funciones de llamada al servidor
	function GetCallesTeulada_JS()		
	{
		var res;
		var xml = getHTTPObject();
		xml.open("POST", "servicio.asmx/ObtenerCalles",true);
		xml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xml.onreadystatechange = function ()
		{
			if(xml.readyState==4)
			{
				if(browser.isIE)
					res = xml.ResponseXml.documentElement.text;
				else if(browser.isNS)
					res = xml.responseXML.documentElement.textContent;
				
				//Evaluo el codigo que mete las localizaciones en el array
				eval(res);
			}
		}
		
		//llamada en otro hilo para permitir actualizar el interfaz<BR>       
		window.setTimeout( function () {xml.send("idSelect=Mapa_calles");}, 10 );
	
	}

	//Obtiene los NDPs de una calle de Teulada y las mete en el select
	//PARAMS:
	//calle: Identificador de la calle en la BD del callejero de teulada
	//SEE:
	//cliente.js para ver la definicion de las funciones de llamada al servidor
	function GetNDPSTeulada_JS(calle)		
	{
		var res;
		var xml = getHTTPObject();
		xml.open("POST", "servicio.asmx/ObtenerNDPS",false);
		xml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xml.send("idCalle="+calle+"&idSelect=Mapa_ndps");
		
		if(browser.isIE)
			res = xml.ResponseXml.documentElement.text;
		else if(browser.isNS)
			res = xml.responseXML.documentElement.textContent;
		
		//Ejecuto el script que carga las calles en los select
		eval(res);
	}

	//Obtiene los servicios de Teulada y las mete en el select del mapa
	//SEE:
	//cliente.js para ver la definicion de las funciones de llamada al servidor
	function GetServiciosTeulada_JS()		
	{
		var res;
		var xml = getHTTPObject();
		xml.open("POST", "servicio.asmx/ObtenerServicios",true);
		xml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xml.onreadystatechange = function ()
		{
			if(xml.readyState==4)
			{
				if(browser.isIE)
					res = xml.ResponseXml.documentElement.text;
				else if(browser.isNS)
					res = xml.responseXML.documentElement.textContent;
				
				//Obtengo la georeferencia con formato utmX;utmY
				eval(res);
			}
		}
		
		//llamada en otro hilo para permitir actualizar el interfaz<BR>       
		window.setTimeout( function () {xml.send("idSelect=Mapa_tipos");}, 10 );
		
	}
	
	//Obtiene las localizaciones de Teulada y las mete en el select del mapa
	//SEE:
	//cliente.js para ver la definicion de las funciones de llamada al servidor
	function GetLocalizacionesTeulada_JS(idServicio)		
	{
		var res;
		var xml = getHTTPObject();
		xml.open("POST", "servicio.asmx/ObtenerLocalizaciones",false);
		xml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xml.send("idServicio="+idServicio+"&idSelect=Mapa_puntos");
		
		if(browser.isIE)
			res = xml.ResponseXml.documentElement.text;
		else if(browser.isNS)
			res = xml.responseXML.documentElement.textContent;
		
		//Evaluo el codigo que mete las opciones (georeferencias incliuidas)
		eval(res);
		
	}
	
	//Obtiene las localizaciones de Teulada entre 2 georeferencias.
	//El resultado mete los puntos de interes en el array "localizaciones", que contiene objetos de tipo "PuntoInteres"
	//SEE:
	//cliente.js para ver la definicion de las funciones de llamada al servidor
	function GetLocalizacionesEntre_JS(xMin,yMin,xMax,yMax)		
	{
		var res;
		var xml = getHTTPObject();
		xml.open("POST", "servicio.asmx/LocalizacionesEntre",true);
		xml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xml.onreadystatechange = function ()
		{
			if(xml.readyState==4)
			{
				if(browser.isIE)
					res = xml.ResponseXml.documentElement.text;
				else if(browser.isNS)
					res = xml.responseXML.documentElement.textContent;
				
				//Evaluo el codigo que mete las localizaciones en el array
				eval(res);
				
				var bound1 = new Punto(xMin,yMin);
				var bound2 = new Punto(xMax,yMax);
				MostrarPuntos(bound1, bound2);
			}
		}
		
		//llamada en otro hilo para permitir actualizar el interfaz<BR>       
		window.setTimeout( function () {xml.send("xMin="+xMin+"&yMin="+yMin+"&xMax="+xMax+"&yMax="+yMax);}, 10 );
	}
	
	//Obtiene las localizaciones destacadas de Teulada.
	//El resultado mete los puntos de interes en el array "top", que contiene objetos de tipo "PuntoInteres"
	//SEE:
	//cliente.js para ver la definicion de las funciones de llamada al servidor
	function GetLocalizacionesDestacadas_JS()		
	{
		var res;
		var xml = getHTTPObject();
		xml.open("POST", "servicio.asmx/LocalizacionesDestacadas",true);
		xml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xml.onreadystatechange = function ()
		{
			if(xml.readyState==4)
			{
				if(browser.isIE)
					res = xml.ResponseXml.documentElement.text;
				else if(browser.isNS)
					res = xml.responseXML.documentElement.textContent;
				
				//Evaluo el codigo que mete las localizaciones en el array
				eval(res);
				
				//Marco el top de los enlaces en la miniatura
				MarcarTop();
			}
		}
		
		//llamada en otro hilo para permitir actualizar el interfaz<BR>       
		window.setTimeout( function () {xml.send("");}, 10 );
		
	}
	
////////////////////////////////////////////////////////////////////////////////
//FOROS/////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
	
	//Obtiene una página de mensajes en un foro
	//PARAMS:
	//id_Foro: Identificador del foro en base de datos
	//num_Pagina: Orden de la página de mensajes en el foro que se desea obtener
	//SEE:
	//datos.js para ver la especificación de los objetos
	//cliente.js para ver la definición de las funciones de llamada al servidor
	//script global para la funcion BuscarElemento
	function GetPaginaForo_JS(id_Foro, num_Pagina)
	{
		var i;
		var aux;
		var o = new paginaForo_In();
		o.F2005_Id = id_Foro;
		o.numPagina = num_Pagina;

		GLB_OBJETOS["PaginaForo_In"] = o;

		var tmp = new Array();
		tmp[0] = "PaginaForo_In";

	    //Pongo el HTML en el centro y ejecuto el Javascript
		var js =	"eval(res); AlmacenarMensajesForo("+id_Foro+", "+num_Pagina+", GLB_OBJETOS[\"PaginaForo_Out\"]);";
		
		CallWebService("servicio.asmx", "GetPaginaForo_WM", tmp, js);
	}
	
	
	//Obtiene los datos de un mensaje de un foro en bse de datos
	//PARAMS:
	//id_Opinion: Identificador del mensaje en base de datos
	//SEE:
	//datos.js para ver la especificación de los objetos
	//cliente.js para ver la definición de las funciones de llamada al servidor
	function GetOpinion_JS(id_Foro, id_Opinion)
	{
		var o = new opinion_In();
		o.F2003_Id = id_Opinion;
			
		GLB_OBJETOS["Opinion_In"] = o;
		 
		var tmp = new Array();
		tmp[0] = "Opinion_In";
			
		//Pongo el HTML en el centro y ejecuto el Javascript
		var js =	"eval(res); ObtenerMensaje("+id_Foro+","+id_Opinion+",GLB_OBJETOS[\"Opinion_Out\"]);";
		
		CallWebService("servicio.asmx", "GetOpinion_WM", tmp, js);
	}
	
///////////////////////////////////////////////////////////////////////////////////////////
//GALERIAS Y MOSAICOS//////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////

	//Obtiene los datos de un mosaico (incluyendo las fotos que lo forman)
	//PARAMS:
	//id_Galeria: Identificador de la galería en base de datos
	//orden: Posción relativa que ocupa el mosaico en la galería con respecto al resto (1..n)
	//SEE:
	//datos.js para ver la especificación de los objetos
	//cliente.js para ver la definición de las funciones de llamada al servidor
	function GetMosaico_JS(id_Galeria, orden)
	{
		var o = new mosaico_In();
		o.F1004_Id = id_Galeria;
		o.F2062_Orden = orden; //Orden del mosaico
		
		GLB_OBJETOS["Mosaico_In"] = o;
		var tmp = new Array();
		tmp[0] = "Mosaico_In";
		
		//Pongo el HTML en el centro y ejecuto el Javascript
		var js =	"eval(res); AlmacenarMosaico("+orden+",GLB_OBJETOS[\"Mosaico_Out\"]);";
		
		CallWebService("servicio.asmx", "GetMosaico_WM", tmp, js);
	}
		
//////////////////////////////////////////////////////////////////////////////////////
//ORGANIGRAMA////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
	
	//Obtiene los datos de un órgano, que comprenden el nombre del órgano, los cargos relacionados y
	//, de cada cargo, los miembros del ayuntamiento que lo ejercen.
	//PARAMS:
	//id_Organo: Identificador del ´rgano de gobierno, concejalía ó comisión en base de datos
	//SEE:
	//datos.js para ver la especificación de los objetos
	//cliente.js para ver la definición de las funciones de llamada al servidor
	function GetOrganoSeleccionado_JS(id_Organo)
	{
		var o = new organo_In;
		o.F2010_Id = id_Organo;
		
		GLB_OBJETOS["OrganoSeleccionado_In"]=o;
		
		var tmp=new Array();
		tmp[0]="OrganoSeleccionado_In";
		
		//Pongo el HTML en el centro y ejecuto el Javascript
		var js =	"eval(res); AlmacenarOrgano(GLB_OBJETOS[\"OrganoSeleccionado_Out\"]);";
		
		CallWebService("servicio.asmx", "GetOrganoSeleccionado_WM", tmp, js);
	}
		
//////////////////////////////////////////////////////////////////////////////////////
//NOTICIAS////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
  
	//Obtiene una página de noticias del servidor
	//Las noticias se obtienen de acuerdo al mes y año en el que se produjeron
	//PARAMS:
	//numPagina: Número de la página de noticias encontradas que se desea
	//dia: dia en el que se produjeron las noticias
	//mes: Mes en el que se produjeron las noticias
	//anyo: Año en el que se produjeron las noticias
	//SEE:
	//datos.js para ver la especificación de los objetos
	//cliente.js para ver la definición de las funciones de llamada al servidor
    function GetPaginaNoticias_JS(numPagina, dia, mes, anyo)
	{
		var o = new paginaNoticias_In();
		o.numPagina = numPagina;
		o.dia = dia;
		o.mes = mes;
		o.anyo = anyo;
	
		//Almacecno los datos que voy a enviar al servidor para que realize la busqueda
		GLB_OBJETOS["PaginaNoticias_In"] = o;
		
		var tmp = new Array();
		tmp[0] = "PaginaNoticias_In";

		//Pongo el HTML en el centro y ejecuto el Javascript
		var js =	"eval(res); AlmacenarNoticias("+numPagina+",GLB_OBJETOS[\"PaginaNoticias_Out\"].listaNoticias);";
		
		CallWebService("servicio.asmx", "GetPaginaNoticias_WM", tmp, js);
	}

//////////////////////////////////////////////////////////////////////////////////////
//EVENTOS////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
  
  //Obtiene una página de eventos que se producen en un mes y un año del servidor  
  //PARAMS:
  //numPagina: Número de la página de noticias encontradas que se desea
  //dia: Dia en el que se produjeron las noticias
  //mes: Mes en el que se produjeron las noticias
  //anyo: Año en el que se produjeron las noticias
  //SEE:
  //datos.js para ver la especificación de los objetos
  //cliente.js para ver la definición de las funciones de llamada al servidor
  //REMARKS:
  //Éste servicio es utilizado por el buscador de la lista de eventos
  function GetPaginaEventos_JS(numPagina, dia, mes, anyo)
  {
		var o = new paginaEventos_In();
		o.numPagina = numPagina;
		o.dia = dia;
		o.mes = mes;
		o.anyo = anyo;

		//Almaceno los datos que voy a enviar al servidor para que realize la busqueda
		GLB_OBJETOS["PaginaEventos_In"] = o;
		
		var tmp = new Array();
		tmp[0] = "PaginaEventos_In";

		//Pongo el HTML en el centro y ejecuto el Javascript
		var js =	"eval(res); AlmacenarEventos("+numPagina+",GLB_OBJETOS[\"PaginaEventos_Out\"].listaEventos);";
		
		CallWebService("servicio.asmx", "GetPaginaEventos_WM", tmp, js);
  }