var geocoder = null;
var center;



          var gmarkers = [];
          var htmls = [];
          var to_htmls = [];
          var from_htmls = [];
          var i = 0;



          // functions that open the directions forms
          function tohere(i) {
              gmarkers[i].openInfoWindowHtml(to_htmls[i]);
          }
          function fromhere(i) {
              gmarkers[i].openInfoWindowHtml(from_htmls[i]);
          }

function initialize($Lat,$Lng,$zoom)
{ if (GBrowserIsCompatible())
    { var map = new GMap2(document.getElementById("map_canvas"));
        geocoder = new GClientGeocoder();
        map.setCenter(new GLatLng($Lat, $Lng) , $zoom);
        new GKeyboardHandler(map);//flèches clavier activée
        map.addControl(new GLargeMapControl());//zoom
        map.addControl(new GMapTypeControl());//Type de carte
        map.setMapType(G_NORMAL_MAP);
        map.addControl(new GScaleControl());//Echelle

        //ajout du marqueur de depart
        
     
showmarker($Lat,$Lng,$zoom)
        
    }
}


      var side_bar_html = "";
    
      // arrays to hold copies of the markers used by the side_bar
      // because the function closure trick doesnt work there
      var gmarkers = [];

      // A function to create the marker and set up the event window
      function createMarker(point, name, htmlr, icone,i) {
              to_htmls[i] = '<b>' + name + '</b><br /><span style="font-size:8pt">' + htmlr + 'Obter direcções:<br /><b>Para aqui</b> - <a href="javascript:fromhere(' + i + ')">A partir daqui</a>' +
           '<br>Endereço de origem:<form action="http://maps.google.com/maps" method="get" target="_blank">' +
           '<input type="text" SIZE=30 MAXLENGTH=48 name="saddr" id="saddr" value="" /><br>' +
           '<INPUT value="Ir" TYPE="SUBMIT">' +
           '<input type="hidden" name="daddr" value="' + point.lat() + ',' + point.lng() +
              // "(" + name + ")" +
           '"/></span>';
              // The info window version with the "to here" form open  - 


              from_htmls[i] = '<b>' + name + '</b><br /><span style="font-size:8pt">' + htmlr + 'Obter direcções:<br /><a href="javascript:tohere(' + i + ')">Para aqui</a> - <b>A partir daqui</b>' +
           '<br>Endereço de destino:<form action="http://maps.google.com/maps" method="get"" target="_blank">' +
           '<input type="text" SIZE=30 MAXLENGTH=48 name="daddr" id="daddr" value="" /><br>' +
           '<INPUT value="Ir" TYPE="SUBMIT">' +
           '<input type="hidden" name="saddr" value="' + point.lat() + ',' + point.lng() +
              // "(" + name + ")" +
           '"/></span>';
              // The inactive version of the direction info
              htmlr = '<b>' + name + '</b><br /><span style="font-size:8pt">' + htmlr + 'Obter direcções:<br><a href="javascript:tohere(' + i + ')">Para aqui</a> - <a href="javascript:fromhere(' + i + ')">A partir daqui</a></span>';
		  
		  
          var CrIcone = new GIcon(G_DEFAULT_ICON);
          CrIcone.image = icone;
          CrIcone.iconSize = new GSize(30, 30);
          CrIcone.shadow = []
          CrIcone.iconAnchor = new GPoint(9, 34);
          CrIcone.infoWindowAnchor = new GPoint(9, 2);

          // Set up our GMarkerOptions object
          //markerOptions = { icon: blueIcon };
          var marker = new GMarker(point, CrIcone);
          GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(htmlr);
        });
        // save the info we need to use later for the side_bar
        gmarkers.push(marker);
        // add a line to the side_bar html
        side_bar_html += '<a href="javascript:myclick(' + (gmarkers.length-1) + ')">' + name + '<\/a><br/>';
        return marker;
		
      }


      // This function picks up the click and opens the corresponding info window
      function myclick(i) {
        GEvent.trigger(gmarkers[i], "click");
      }


      function showmarker($Lat,$Lng,$zoom) {
			side_bar_html = "";
          // create the map
			var map = new GMap2(document.getElementById("map_canvas"));
			map.addControl(new GLargeMapControl());
			map.addControl(new GMapTypeControl());
			map.addControl(new GMapTypeControl());//Type de carte
			map.setMapType(G_NORMAL_MAP);
			map.addControl(new GScaleControl());

			map.setCenter(new GLatLng($Lat, $Lng) , $zoom);
			// Read the data from example.xml
			var urlsh = document.URL;
			
			
var reg1=new RegExp("www","g");
if (reg1.test(urlsh)) {urlsh="http://www.serhogarsystem.pt/create_centros_xml.php";}else{urlsh="http://serhogarsystem.pt/create_centros_xml.php";}
			
			GDownloadUrl(urlsh, function(doc) {
                          var xmlDoc = GXml.parse(doc);
                          var markers = xmlDoc.documentElement.getElementsByTagName("marker");
                          var LogIcon = "http://www.serhogarsystem.pt/img/ico-goo.png";

                          for (var i = 0; i < markers.length; i++) {
							  
                              // obtain the attribues of each marker
							  if(markers[i].getAttribute("lat")!='' && markers[i].getAttribute("lng")!=''){
	                              var lat = parseFloat(markers[i].getAttribute("lat"));
    	                          var lng = parseFloat(markers[i].getAttribute("lng"));
        	                      var point = new GLatLng(lat, lng);
            	                  var htmlr = markers[i].getAttribute("addr");
                	              var label = markers[i].getAttribute("label");
                    	          // create the marker
                        	      var marker = createMarker(point, label, htmlr, LogIcon,i);

								  map.addOverlay(marker);
							  }
                          }
                          // put the assembled side_bar_html contents into the side_bar div
                          
                      });
                  }
              //}
        //);
//}
      //}

function initialize2($Lat,$Lng,$zoom)
{ if (GBrowserIsCompatible())
    { var map = new GMap2(document.getElementById("map_canvas"));
        geocoder = new GClientGeocoder();
        map.setCenter(new GLatLng($Lat, $Lng) , $zoom);
        new GKeyboardHandler(map);//flèches clavier activée
        map.addControl(new GLargeMapControl());//zoom
        map.addControl(new GMapTypeControl());//Type de carte
        map.setMapType(G_NORMAL_MAP);
        map.addControl(new GScaleControl());//Echelle

        //ajout du marqueur de depart
        
		side_bar_html = "";
        // create the map

        var LogIcon = "http://www.serhogarsystem.pt/img/ico-goo.png";
        var lat = $Lat;
        var lng = $Lng;
		var point = new GLatLng(lat, lng);
		
		GDownloadUrl("http://serhogarsystem.pt/create_centros_xml.php", function(doc) {
				var xmlDoc = GXml.parse(doc);
				var markers = xmlDoc.documentElement.getElementsByTagName("marker");
                
				for (var i = 0; i < markers.length; i++) {
					if(markers[i].getAttribute("lat")==lat && markers[i].getAttribute("lng")==lng){
						var htmlr = markers[i].getAttribute("addr");
                	    var label = markers[i].getAttribute("label");
						var marker = createMarker(point, label, htmlr, LogIcon,'0');
						map.addOverlay(marker);
					}
                 }
                          // put the assembled side_bar_html contents into the side_bar div
                          
        });

        
    }
}


