		
		// DECLARACIONES GLOBALES
		var aMarkers 			= new Array;
		var aUbicaciones 	= new Array;
		var aUbicacion 		= new Array;
		var allmarkers		= new Array;
		var mgr;
				
    function initialize() {
    	 if (GBrowserIsCompatible()) {
    	 	
    	 	
    	 	document.getElementById("mapaubicacion").innerHTML = "<div style='margin: 38% 45%;'><div syle='float:left;'><img src='/img/comunes/ajax-loader.gif' style='border:0;'/></div></div>"
    	 	        
				// Creamos la variable parametro parametro = ‘Datos pasados por POST’;
			 	var oXML = AJAXCrearObjeto();
			 	
			 	oXML.open("GET","/inc/aplicacionesPerso/googleMaps/googlemaps.asp", true);
			 	
			 	oXML.onreadystatechange = function(){
			 		
			 		if (oXML.readyState == 4) {
			 			
			 			var map = new GMap2(document.getElementById("mapaubicacion"));
		        map.setCenter(new GLatLng(43.211181528417704,  -5.438232421875), 10, G_HYBRID_MAP);
		        map.addControl(new GLargeMapControl ());
				    map.addControl(new GMapTypeControl());
				    
				    map.enableDoubleClickZoom();
				    mgr = new MarkerManager(map, {trackMarkers:true});
		
		        // Create a base icon for all of our markers that specifies the
		        // shadow, icon dimensions, etc.
		        var baseIcon = new GIcon();
		        baseIcon.iconSize = new GSize(17, 20);
		        baseIcon.iconAnchor = new GPoint(8, 26);
		        baseIcon.infoWindowAnchor = new GPoint(9, 2);
			 			
			 			aUbicaciones = oXML.responseText.split("--!--");

			 			var aUbicacion;
			 			var iId;
			 			var sNombre;
			 			var sDireccion;
			 			var sTelefono;
			 			var sIcono;
			 			var iCoorX;
			 			var iCoorY;
			 			var latlng;
			 			var sEnlace;
			 			var sImagen;
			 			var sTipo;
			 			
			 			var sTipoAux;
			 			var p = -1;

			 			for (var i=0;i<aUbicaciones.length-1;i++){
			 							 							 				
			 				aUbicacion 	= aUbicaciones[i].split("##");
			 				iId					= aUbicacion[0]; //Id
			 				sNombre			= aUbicacion[1]; //Nombre
			 				sDireccion	= aUbicacion[2]; //Dirección
			 				sTelefono		= aUbicacion[3]; //Teléfono
				 			sIcono			= aUbicacion[4]; //Icono
				 			iCoorX			= aUbicacion[5]; //CoordX
				 			iCoorY			= aUbicacion[6]; //CoordY
				 			sEnlace			= aUbicacion[7]; //Enlace
				 			sImagen			= aUbicacion[8]; //Imagen
				 			sTipo				= aUbicacion[9]; //Tipo
				 							 			
				 			latlng = new GLatLng(iCoorX,iCoorY);
		          map.addOverlay(createMarker(latlng, iId, sNombre, sIcono, sDireccion, sTelefono,sEnlace, sImagen, i));

							if (sTipoAux != sTipo){
								sTipoAux = sTipo;
								p ++;
								z= 0
								allmarkers[p] = new Array();
								
							}else{
								z ++;
							}
							
							allmarkers[p][z] 		= new Array(); //Creamos una matriz tridimensional
							
							allmarkers[p][z][0]		= aMarkers[i]
							allmarkers[p][z][1]		= aUbicacion[0]; //Id
			 				allmarkers[p][z][2]		= aUbicacion[1]; //Nombre
			 				allmarkers[p][z][3]		= aUbicacion[2]; //Dirección
			 				allmarkers[p][z][4]		= aUbicacion[3]; //Teléfono
				 			allmarkers[p][z][5]		= aUbicacion[4]; //Icono
				 			allmarkers[p][z][6]		= aUbicacion[5]; //CoordX
				 			allmarkers[p][z][7]		= aUbicacion[6]; //CoordY
				 			allmarkers[p][z][8]		= aUbicacion[7]; //Enlace
				 			allmarkers[p][z][9]		= aUbicacion[8]; //Imagen
				 			allmarkers[p][z][10]	= aUbicacion[9]; //Tipo
				 			allmarkers[p][z][11]	= i; //identificador
							
			 			}
  				}
			 	}
			 	
			 	oXML.send(null);
				        
      }
    }
    
		
    // Creates a marker whose info window displays the letter corresponding
    // to the given index.
    function createMarker(point, iId, sNombre, sIcono, sDireccion, sTelefono,sEnlace, sImagen, i) {
    	
    	var baseIcon = new GIcon();
      baseIcon.iconSize = new GSize(17, 20);
      baseIcon.iconAnchor = new GPoint(8, 26);
      baseIcon.infoWindowAnchor = new GPoint(9, 2);
      
      // Create a lettered icon for this point using our icon class
      var letteredIcon = new GIcon(baseIcon);
      letteredIcon.image = "http://"+location.hostname+"/recursos/ubicaciones/"+sIcono;
      
      
      // Set up our GMarkerOptions object
      markerOptions = { icon:letteredIcon };
      aMarkers[i] = new GMarker(point, markerOptions);
      
      GEvent.addListener(aMarkers[i], "click", function() {
      	if (sImagen != '')
      		var sCandena = "<table class='bocadillo'><tr><td><p class='nombre'>" + sNombre + "</p><ul class='tipo1'><li>"+sDireccion+"</li><li>"+sTelefono+"</li></ul><p><a href='"+sEnlace+iId+"'>Ver detalles</a></p></td><td width='90'><img src='/recursos/ubicaciones/"+sImagen+"' /></td></tr></table>"
      	else
      		var sCandena = "<table class='bocadillo'><tr><td><p class='nombre'>" + sNombre + "</p><ul class='tipo1'><li>"+sDireccion+"</li><li>"+sTelefono+"</li></ul><p><a href='"+sEnlace+iId+"'>Ver detalles</a></p></td></tr></table>"
        aMarkers[i].openInfoWindowHtml(sCandena);
      });
      return aMarkers[i];
    }



    function cambiarEstado(p){
			eval("var oCampo = document.getElementById('get_"+p+"');");
			if (oCampo.checked){
				addMarkers(p);
			}else{
				deleteMarker(p);
			}
			
    }



    //Eliminar marcas
    function deleteMarker(p) {
      var markerSelec;
      for (var i=0; i < allmarkers[p].length; i++){
      	mgr.removeMarker(allmarkers[p][i][0]);
      }
      mgr.refresh(); 
    }



    function addMarkers(p) {
      for (var i=0; i < allmarkers[p].length; i++){
      	var latlng = new GLatLng(allmarkers[p][i][6],allmarkers[p][i][7]);
      	//alert(createMarker(latlng, allmarkers[p][i][1], allmarkers[p][i][2], allmarkers[p][i][5], allmarkers[p][i][3], allmarkers[p][i][4],allmarkers[p][i][8], allmarkers[p][i][9], allmarkers[p][i][11]));
		    mgr.addOverlay_(createMarker(latlng, allmarkers[p][i][1], allmarkers[p][i][2], allmarkers[p][i][5], allmarkers[p][i][3], allmarkers[p][i][4],allmarkers[p][i][8], allmarkers[p][i][9], allmarkers[p][i][11]));
		    allmarkers[p][i][0]	= aMarkers[allmarkers[p][i][11]];
				
      }
     	mgr.refresh(); 
    }
    

 		//////////
 		// AJAX //
 		/////////
 		
		function AJAXCrearObjeto(){
			var obj;

			if (window.XMLHttpRequest){
				obj = new XMLHttpRequest();
			}else if (window.ActiveXObject) {
				obj = new ActiveXObject("Microsoft.XMLHTTP");
			}

			return obj;
		}

		// Cuando hace click en el enlace
    //function openInfo(markerID){
    //	aUbicacion 	= aUbicaciones[markerID].split("##");
		//	iId					= aUbicacion[0]; //Id
		//	sNombre			= aUbicacion[1]; //Nombre
		//	sDireccion	= aUbicacion[2]; //Dirección
		//	sTelefono		= aUbicacion[3]; //Teléfono
 		//	sIcono			= aUbicacion[4]; //Icono
 		//	iCoorX			= aUbicacion[5]; //CoordX
 		//	iCoorY			= aUbicacion[6]; //CoordY
 		//	sEnlace			= aUbicacion[7]; //Enlace
 		//	sImagen			= aUbicacion[8]; //Imagen
 		//	sTipo				= aUbicacion[9]; //Tipo
 		//	
    //	aMarkers[markerID].openInfoWindowHtml("<strong>" + sNombre + "</strong><br/>"+sDireccion+"<br/>"+sTelefono);
    //}

		window.onunload = GUnload;
