﻿      var map;
      var gdir;
      var geocoder = null;
      var addressMarker;
      function initialize()
        {
        if (GBrowserIsCompatible())
          {      
          map = new GMap2(document.getElementById("map_canvas"));
	  map.addControl(new GLargeMapControl());
	  map.setCenter(new GLatLng(44.92032726996294, 4.901361465454102), 13);
	  var point = new GLatLng(44.92032726996294, 4.901361465454102);
	  var MGMicon = new GIcon();
	  MGMicon.iconSize=new GSize(96,96);
	  MGMicon.shadowSize=new GSize(96,96);
	  MGMicon.iconAnchor=new GPoint(24,96);
	  MGMicon.infoWindowAnchor=new GPoint(0,0);
	  var MGMrepere = new GIcon(MGMicon, "./images/pushpin-tooeasy.png", null, "./images/pushpin-shadow.png");
	  var marker = new GMarker(point,MGMrepere);
          gdir = new GDirections(map, document.getElementById("directions"));
          GEvent.addListener(gdir, "load", onGDirectionsLoad); <!-- Charge la partie pour les distances -->
          GEvent.addListener(gdir, "error", handleErrors); <!-- Charge la partie pour les messages d erreurs -->
          map.enableScrollWheelZoom();
	      map.addOverlay(marker);
          }
        }
      function setDirections(fromAddress, toAddress, locale)
        {
        gdir.load("from: " + fromAddress + " to: " + toAddress, { "locale": locale });
        }
      function handleErrors()
        {
        if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
          alert("Aucune location g&eacute;ographique correspondante n'a pu &ecirc;tre trouv&eacute;e pour l'une des adresses sp&eacute;cifi&eacute;es.\nCe qui peut &ecirc;tre du &agrave; une adresse r&eacute;cente, ou incorrecte.\nN'oubliez pas d'ajouter dans l'adresse le pays (en anglais).\nError code: " + gdir.getStatus().code);
        else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
          alert("La demande d'itin&eacute;raire n'a pu &ecirc;tre calcul&eacute;e avec succ&egrave;s, aucune raison de l'&eacute;chec n'est connu.\n Error code: " + gdir.getStatus().code);
        else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
          alert("The HTTP q parameter was either missing or had no value. For geocoder requests, this means that an empty address was specified as input. For directions requests, this means that no query was specified in the input.\n Error code: " + gdir.getStatus().code);
        else if (gdir.getStatus().code == G_GEO_BAD_KEY)
          alert("La cl&eacute; (Key) n'est pas valide ou ne correspond pas au nom de domaine. \n Error code: " + gdir.getStatus().code);
        else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
          alert("La demande d'itin&eacute;raire n'a pu &ecirc;tre correctement pars&eacute;.\n Error code: " + gdir.getStatus().code);
        else alert("Une erreur inconnue est survenue.");
        }
      function onGDirectionsLoad()
	    {
        var reg=new RegExp("&nbsp;", "g");
        kilometrage = gdir.getDistance().html;
        document.getElementById("km").value = kilometrage.replace(reg,' ');
        }