   //<![CDATA[
   var gmarkers = [];
   var htmls = [];
   var to_htmls = [];
   var from_htmls = [];
   var i=0;
   
   // A function to create the marker and set up the event window
   function createMarker(point,name,html) {
      var marker = new GMarker(point);
   
      // The info window version with the "to here" form open
      to_htmls[i] = html + '<br>Routing : <b>To here</b> - <a href="javascript:fromhere(' + i + ')">From here</a><br />' +
      '<br>Start address :<form action="http://maps.google.com/maps" method="get" target="_blank">' +
      '<input type="text" SIZE=25 MAXLENGTH=40 name="saddr" id="saddr" value="" />' +
      '<INPUT value="Go" TYPE="SUBMIT">' +
      '<input type="hidden" name="daddr" value="' + point.lat() + ',' + point.lng() + 
      // "(" + name + ")" + 
      '"/>';
      // The info window version with the "from here" form open
      from_htmls[i] = html + '<br>Routing : <a href="javascript:tohere(' + i + ')">To here</a> - <b>From here</b><br />' +
      '<br>Destination address :<form action="http://maps.google.com/maps" method="get"" target="_blank">' +
          '<input type="text" SIZE=25 MAXLENGTH=40 name="daddr" id="daddr" value="" />' +
          '<INPUT value="Go" TYPE="SUBMIT">' +
          '<input type="hidden" name="saddr" value="' + point.lat() + ',' + point.lng() +
                 // "(" + name + ")" + 
          '"/>';
       // The inactive version of the direction info
       html = html + '<p>Routing : <a href="javascript:tohere('+i+')">To here</a> - <a href="javascript:fromhere('+i+')">From here</a></p>';
   
       GEvent.addListener(marker, "click", function() {
         marker.openInfoWindowHtml(html);
       });
       gmarkers[i] = marker;
       htmls[i] = html;
       i++;
       return marker;
     }
   
      // functions that open the directions forms
      function tohere(i) {
         gmarkers[i].openInfoWindowHtml(to_htmls[i]);
      }
      function fromhere(i) {
         gmarkers[i].openInfoWindowHtml(from_htmls[i]);
      }
      // A TextualZoomControl is a GControl that displays textual "Zoom In"
      // and "Zoom Out" buttons (as opposed to the iconic buttons used in
      // Google Maps).
      function TextualZoomControl() {
      }
      TextualZoomControl.prototype = new GControl();

      // Creates a one DIV for each of the buttons and places them in a container
      // DIV which is returned as our control element. We add the control to
      // to the map container and return the element for the map class to
      // position properly.
      TextualZoomControl.prototype.initialize = function(map) {
         var container = document.createElement("div");

         var zoomInDiv = document.createElement("div");
         this.setButtonStyle_(zoomInDiv);
         container.appendChild(zoomInDiv);
         zoomInDiv.appendChild(document.createTextNode("+"));
         GEvent.addDomListener(zoomInDiv, "click", function() {
            map.zoomIn();
         });

         var zoomOutDiv = document.createElement("div");
         this.setButtonStyle_(zoomOutDiv);
         container.appendChild(zoomOutDiv);
         zoomOutDiv.appendChild(document.createTextNode("-"));
         GEvent.addDomListener(zoomOutDiv, "click", function() {
            map.zoomOut();
         });

         map.getContainer().appendChild(container);
         return container;
      }

       // By default, the control will appear in the top left corner of the
       // map with 7 pixels of padding.
       TextualZoomControl.prototype.getDefaultPosition = function() {
         return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(7, 7));
       }

       // Sets the proper CSS for the given button element.
       TextualZoomControl.prototype.setButtonStyle_ = function(button) {
         button.style.color = "#000000";
         button.style.backgroundColor = "white";
         button.style.font = "14px verdana";
         button.style.textDecoration = "none";
         button.style.border = "1px solid black";
         button.style.padding = "0";
         button.style.marginBottom = "4px";
         button.style.textAlign = "center";
         button.style.width = "2.2em";
         button.style.cursor = "pointer";
       }
   //Load the map and center it to Noelios Location
   function load() {
      if (GBrowserIsCompatible()) {
         var map = new GMap2(document.getElementById("map"));
         var point = new GLatLng(48.844868,2.223498);
         map.setCenter(point, 15);
         map.addControl(new TextualZoomControl());
         map.addControl(new GMapTypeControl());
         var marker = createMarker(point,'','<strong>Noelios Technologies</strong><br /><p><a href="http://www.saintcloud.fr/ville/index.php?rub=7&srub=108" alt="Saint Cloud - parkings">Parkings</a> : lib&eacute;ration, Desfossez, La colline, Joffre, Orl&eacute;ans<br/><a href="http://www.saintcloud.fr/ville/index.php?rub=7&srub=26&article=1625" alt="Saint Cloud - transport">Transports:</a><br />Tramway : T2 (Parc de Saint Cloud)<br/>Railway: Saint Cloud<br/>Subway: Line 10 - Boulogne - Pont de Saint Cloud<br/>Bus: lines 52,72,126,467 (Parc de Saint Cloud), 175 (Feudon)</p>');
         map.addOverlay(marker);
      }
   }

    //]]>
