		var map;
		var markers = [];
		var htmls = [];
		var htmlDiv = "";
		
		var icon1 = new GIcon();
		icon1.image = "farmacia.gif";
		icon1.iconSize = new GSize(15, 15);
		icon1.iconAnchor = new GPoint(15, 15);
		icon1.infoWindowAnchor = new GPoint(5, 1);


		var icon2 = new GIcon();
		icon2.image = "guardia.gif";
		icon2.iconSize = new GSize(25, 25);
		icon2.iconAnchor = new GPoint(25, 25);
		icon2.infoWindowAnchor = new GPoint(5, 1);

 		function createMarker(point, html, icon) {
      var marker = new GMarker(point, icon);
         GEvent.addListener(marker, 'click', function() {
          marker.openInfoWindowHtml(html);
       });
      return marker;
   	} 
   	
   	function handleEnter (field, event) {
				var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
				if (keyCode == 13) 
				{
					doSubmit();
					return false;
				}
				else
					return true;
	 }
   
   function doSubmit()
   {
   	  var desde = document.forms["divform"].saddr.value;
   	  
   	  if(desde!="")
   	  {
	   		//if(desde.indexOf("Spain")<=0)
	   		//{
	   			//document.forms[0].saddr.value = desde + ", Spain" ;
	   		//}
	   		document.forms["divform"].submit();
	   	}
   }
   	
   	function createHtml(name, dire, telf, situa)
   	{
   		if(name=="")
   		{
   			name = dire;
   		}
   		
			html = name + "<br>" + dire + "<br>";
			if(telf=="?" || telf=="")
			{
				html = html + "<br>";
			}
			else
			{
				html = html + "Telf: " + telf + "<br>";
			}
			
			html = html + '<font color="darkblue" size="1">Como llegar desde: </font>' +
			'<form name="divform" action="http://maps.google.com/maps" method="get" target="_blank">' +
			'<input type="text" SIZE="25" MAXLENGTH="40" name="saddr" id="saddr" value="" onKeyPress="return handleEnter(this, event);" />' +
			'<INPUT type="button" value="Calcular ruta" align="right" onClick="doSubmit();">' +
			'<input type="hidden" name="daddr" value="' + situa + '"/></form>';
			//'<input type="hidden" name="daddr" value="' + dire + ', '  + document.forms[0].elements["pb"].options[document.forms[0].elements["pb"].selectedIndex].text + ', Madrid"/></form>';
			html = html + '<font color="darkblue" size="1">Ej: Venezuela 11, 28820, Coslada</font>';
			
			return html;
   	}
    
    
    function load(day) {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
                
        //map.addControl(new GLargeMapControl());
				map.addControl(new GMapTypeControl());
        
        map.setCenter(new GLatLng(40.42395127765169, -3.553304672241211),14);
        
        map.setMapType(G_HYBRID_MAP);
        map.addControl(new GOverviewMapControl());
				
				changePob(day);

        GEvent.addListener(map, "moveend", function() {
          var center = map.getCenter();
          document.getElementById("message").innerHTML = center.toString();
        });
        
      }
    }
    
		function GMapZoomIn()
		{
			tmp=map.getZoom();
			if (tmp<18) map.setZoom(tmp+1);
		}
		
		function GMapZoomOut()
		{
			tmp=map.getZoom();
			if (tmp>=10)map.setZoom(tmp-1);
    }
    
    function clickFarma(id)
    {
			markers[id].openInfoWindowHtml(htmls[id]);
		}
    
    function clearPoints() 
    {
 			for (var i in markers) 
 			{
 				GEvent.clearListeners(markers[i],'click');
 				map.removeOverlay(markers[i]);
 				delete markers[i];
 				delete htmls[i];
 			}
		}
		
		function clearAll()
		{
			map.clearOverlays();	
		}
    
    function changePob(day)
    {
    	var pob = document.forms[0].elements["pb"].value; 
    	
    	//clearPoints();
    	clearAll();
    	
    	getPobPosition(pob);
    	
    	getFDay(pob, day);
    	
    	getData(pob);
    }

    
    
		function getData(id)
		{
			var request = GXmlHttp.create();
			var url = "data.php?pb="+id;
			var markerElements;
			
			htmlDiv = "";

			request.open("GET", url , true);
			request.onreadystatechange = function() 
			{
				if (request.readyState == 4) 
				{
					var xmlDoc = request.responseXML;
					if(xmlDoc.documentElement!=null)
					{
						markerElements = xmlDoc.documentElement.getElementsByTagName("item");
					
					//markers = new Array(markerElements.length);
					//htmls = new Array(markerElements.length);

					for(var i = 0; i < markerElements.length; i++) 
					{
						var name = markerElements[i].getElementsByTagName("name")[0].firstChild.nodeValue;
						var dir = markerElements[i].getElementsByTagName("dir")[0].firstChild.nodeValue;
						var tel = markerElements[i].getElementsByTagName("tel")[0].firstChild.nodeValue;
						var pos = markerElements[i].getElementsByTagName("pos")[0].firstChild.nodeValue;
						var g = markerElements[i].getElementsByTagName("g")[0].firstChild.nodeValue;
						var tf = markerElements[i].getElementsByTagName("tf")[0].firstChild.nodeValue;
						
						var loc=pos.split("*");
						
						//alert(name + dir + tel + pos + g + loc[0] + loc[1]);
						
						htmls[i] = createHtml(name,dir, tel, loc[0] + "," + loc[1] );
						var point  = new GLatLng(parseFloat(loc[0]),parseFloat(loc[1]));
						var marker2;
						
						if(g==1 || tf==1)
							marker2 = createMarker(point,htmls[i],icon2); 
						else
							marker2 = createMarker(point,htmls[i],icon1);
							
						markers[i] = marker2; 
						map.addOverlay(markers[i]);
						
						if(g==1 || tf==1)
						{
							if(name=="")
								htmlDiv = htmlDiv + "<a href='javascript:clickFarma(" + i + ");'><b>" + dir + "</b></a><br/>";
							else
								htmlDiv = htmlDiv + "<a href='javascript:clickFarma(" + i + ");'><b>" + name + "</b></a><br/>";
						}
						else
						{
							if(name=="")
								htmlDiv = htmlDiv + "<a href='javascript:clickFarma(" + i + ");'>" + dir + "</a><br/>";
							else
								htmlDiv = htmlDiv + "<a href='javascript:clickFarma(" + i + ");'>" + name + "</a><br/>";
						}
					}
					
					document.getElementById("lista").innerHTML = htmlDiv;
				 }
				}
				else
				{
					document.getElementById("lista").innerHTML = "Cargando...";
				}
			}
			
			request.send(null); 
		}
    
    function getPobPosition(id)
		{
			var request = GXmlHttp.create();
			var url = "position.php?pb="+id;

			request.open("GET", url , true);
			request.onreadystatechange = function() 
			{
				if (request.readyState == 4) 
				{
					var xmlDoc = request.responseText;
					var loc=xmlDoc.split("*");

					if (loc==0 || loc.length!=2) 
					{
						map.setCenter(new GLatLng(40.42395127765169, -3.553304672241211),14);
 					} else {
 						map.setCenter(new GLatLng(loc[0], loc[1]),14);
					}
					
				}
			}
			request.send(null); 
		}
    
    function setGMapType(type)
    {
			switch (type)
			{
				case 2:
					map.setMapType(G_NORMAL_MAP);
					break;
				case 1:
					map.setMapType(G_SATELLITE_MAP);
					break;
				default:
					map.setMapType(G_HYBRID_MAP);
			}
		}


    function getFDay(id,day)
		{
			var request = GXmlHttp.create();
			var url = "fday.php?pb="+id+"&d=" + day;
			var message = "La farmacia de guardia para " ;
			message = message + document.forms[0].elements["pb"].options[document.forms[0].elements["pb"].selectedIndex].text;
			message = message + " el d&iacute;a " + day + " es:<br/><br/>";

			request.open("GET", url , true);
			request.onreadystatechange = function() 
			{
				if (request.readyState == 4) 
				{
					var xmlDoc = request.responseXML;
					var itemValue = xmlDoc.documentElement.getElementsByTagName("item");
					var name = itemValue[0].getElementsByTagName("name")[0].firstChild.nodeValue;
					var dir = itemValue[0].getElementsByTagName("dir")[0].firstChild.nodeValue;
					var tel = itemValue[0].getElementsByTagName("tel")[0].firstChild.nodeValue;
					var id = itemValue[0].getElementsByTagName("id")[0].firstChild.nodeValue;
								
					message = message + name + "<br/>";
					message = message + dir + "<br/>";
					message = message + tel + "<br/>";
					message = message + "<br/><a href='javascript:clickFarma(" + (id-1)+ ")'>Ver situaci&oacute;n en el mapa</a>";
					
					document.getElementById("fg").innerHTML = message;
					
				}
				else
				{
					document.getElementById("fg").innerHTML = "";
				}
			}
			request.send(null); 
		}