var map = null;
var centerX = 43.569447;// latitude pizza nino
var centerY = 7.075753;// longitude pizza nino
var geocoder = null;
var markers = [
{
	'latitude':43.569726,
	'longitude':7.074101,
	'description':'parking à 5 minutes à pied de pizza-nino'
},
{
	'latitude':43.569447,
	'longitude':7.075753,
	'description':'Pizza Nino'
}
];




function initialize() {
  if (GBrowserIsCompatible()) {
	map = new GMap2(document.getElementById("map"));
	map.setCenter(new GLatLng(centerX, centerY), 15);
	map.addControl(new GMapTypeControl());
	map.addControl(new GLargeMapControl());
	
	//tracé d'itinéraire de pizza nino à adresse du client
	gdir = new GDirections(map, document.getElementById("directions"));
   	GEvent.addListener(gdir, "load", onGDirectionsLoad);
    GEvent.addListener(gdir, "error", handleErrors);
    
    //afficher le/les parking à proximité
    //placeNinoNparking;
    addMarker(markers[0].latitude, markers[0].longitude, markers[0].description, 0);
    addMarker(markers[0].latitude, markers[1].longitude, markers[1].description, 1);
    
  }
}


function setDirections(fromAddress, toAddress, locale) {
      gdir.load("from: " + fromAddress + " to: " + "Avenue de la Liberté/D6007 @43.569316, 7.075638", { "locale": locale});
     
}

function handleErrors(){
	   if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
	     alert("l'adresse demandée n'a pu être géolocalisée. Soit l'adresse est inéxacte, soit elle est trop récente pour avoir pu être enregistrée sur les serveurs.\nError code: " + gdir.getStatus().code);
	   else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
	     alert("A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.\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_UNAVAILABLE_ADDRESS)  
	     alert("L'adresse fournie ne peut être utilisée pour vous localiser, ceci est apparemment dû à des clauses de confidentialité du service de géolocalisation.\n Error code: " + gdir.getStatus().code);
	     
	   else if (gdir.getStatus().code == G_GEO_BAD_KEY)
	     alert("votre clé googlemap est invalide, veuillez insérer la bonne clé. \n Error code: " + gdir.getStatus().code);

	   else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
	     alert("l'itinéraire n'a pu être tracé.\n Error code: " + gdir.getStatus().code);
	    
	   else alert("une erreur inconnue s'est produite.");
	   
}

function onGDirectionsLoad(){ 
      // Use this function to access information about the latest load() results.
    $('#loading').css('display','none');
	  	//document.getElementById("getStatus").value = gdir.getStatus().code;
  	 
	}


  
function placeNinoNparking(){
	for(id in markers) {
		addMarker(markers[id].latitude, markers[id].longitude, markers[id].description, id);
	}
	return false;
}
  
function addMarker(latitude, longitude, description, id) {
		var baseIcon = new GIcon();
		var point = new GLatLng(latitude, longitude);
		baseIcon.iconSize = new GSize(30, 30);
		baseIcon.shadowSize = new GSize(20, 23);
		baseIcon.iconAnchor = new GPoint(20, 23);
		baseIcon.infoWindowAnchor = new GPoint(9, 2);
		baseIcon.infoShadowAnchor = new GPoint(18, 25);
		
		// marker parking 
		switch(id){
		case 0:
			baseIcon.image = "http://www.pizza-nino.com/parking.jpg";
		break;
		case 1:
			baseIcon.image = "pizza-jambon cru.png";
		break;
		}
		
		var marker = new GMarker(point, baseIcon);
		map.addOverlay(marker);

		GEvent.addListener(marker, 'click',function() {
		marker.openInfoWindow(description);
		});
		
}




window.onload = initialize;

