var map;
var geocoder;


    function createMarker(point, name, node_id) {
      var marker = new GMarker(point);
      var html = '<b>' + name + '</b>';
      GEvent.addListener(marker, 'click', function() {
        window.location = "/carnetvoyage/carnet/(offset)/"+node_id;
      });
      GEvent.addListener(marker, 'mouseover', function() {
        marker.openInfoWindowHtml(html);
      });
      return marker;
    }

    function load(data) {
      if (GBrowserIsCompatible()) {
        geocoder = new GClientGeocoder();
        map = new GMap2(document.getElementById('map'));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(46.227638,2.213749), 5);

        var xml = GXml.parse(data);
        var markers = xml.documentElement.getElementsByTagName("marker");
        var selectedMarker = null;
        var selectedName = null;
        for (var i = 0; i < markers.length; i++) {
          var name = markers[i].getAttribute("name");
          var node_id = markers[i].getAttribute("node_id");
          var selected = markers[i].getAttribute("selected");
          var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                                  parseFloat(markers[i].getAttribute("lng")));
          if( i == 0 )
          {
            map.setCenter(new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng"))), 7);
          }
          var marker = createMarker(point, name, node_id);
          if( selected == 'true' )
          {
            selectedMarker = marker;
            selectedName = name;
          }
          map.addOverlay(marker);
        }
        if( selectedMarker != null )
        {
            selectedMarker.openInfoWindowHtml('<b>' + selectedName + '</b>');
        }
      }
    }
    
