var map;
var gdir;
var geocoder = null;
var addressMarker;

function initialize(address) 
{
  if (GBrowserIsCompatible())
  {   
    var mapOptions = {
      googleBarOptions : {
	style : "new",
      }
    }
    var map = new google.maps.Map2(document.getElementById('map_canvas'), mapOptions);
    var geocoder = new google.maps.ClientGeocoder();
    geocoder.getLatLng(address, function (coord) {
			 map.setCenter(coord, 15);
			 map.addControl(new GLargeMapControl());
			 map.addControl(new GOverviewMapControl());
			 var marker = new GMarker(coord);
			 map.addOverlay(marker);    
		       });
    gdir = new GDirections(map, document.getElementById("directions"));
    GEvent.addListener(gdir, "load", onGDirectionsLoad);
    GEvent.addListener(gdir, "error", handleErrors);
  }
}

function setDirections(fromAddress, toAddress, locale)
{
  if (fromAddress == "")
  {
    alert("Veuillez indiquer une adresse de départ s'il vous plait");
    return;
  }

  gdir.load("from: " + fromAddress + " to: " + toAddress,
	    { "locale": locale });
}

function handleErrors()
{
  if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
    alert("Désolé, le départ que vous avez indiqué est inconnu, veuillez vérifier et refaire votre demande. Merci.");
  else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
    alert("Désolé, le service d'itinéraire est indisponible pour l'instant, veuillez réessayer plus tard. Merci.");
  
  else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
    alert("Désolé, une erreur s'est produite, veuillez réessayer plus tard. Merci.");
  else if (gdir.getStatus().code == G_GEO_BAD_KEY)
    alert("Désolé, le départ que vous avez indiqué est inconnu, veuillez resaisir votre demande. Merci.");
  else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
        alert("Désolé, une erreur s'est produite, veuillez réessayer plus tard. Merci.");
  else alert("Désolé, une erreur s'est produite, veuillez réessayer plus tard. Merci.");
}

function onGDirectionsLoad()
{ 
  // Use this function to access information about the latest load()
  // results.
  
  // e.g.
  // document.getElementById("getStatus").innerHTML = gdir.getStatus().code;
  // and yada yada yada...
}

function addFavorites()
{
  siteUrl="http://wwwlecodejava.com";
  siteTitle="Seine Saint Denis Télévision";
  
  if (navigator.appName != 'Microsoft Internet Explorer')
    window.sidebar.addPanel(siteTitle, siteUrl,"");
  else
    window.external.AddFavorite(siteUrl, siteTitle);
}
