﻿
// Variables globales
var	direction;
var	geoadresse;
var	geoarrivee;
var	div_depart_imprim;
var langue = "fr";

// Fonction d'initialisation de la map + placement des icônes
function printItineraire(depart) {
	var	chemin = "from: " + depart + " to: 1 Rue 68770 Ammerschwihr";
	direction.load(chemin, { "locale": "fr_FR" });
	if($("depart_imprim"))
		$("gmap_imprim").style.display = 'block';
}
function initialize(div_map, div_itineraire, lat, lng) {
	
	if (GBrowserIsCompatible()) {
		
		var	icone = new GIcon();
		var	center = new GLatLng(lat, lng);
		var	map = new GMap2($(div_map));
		
		map.setCenter(center, 9);
		map.setMapType(G_NORMAL_MAP);
		map.enableContinuousZoom();

		map.setUIToDefault();
		
		direction = new GDirections(map, $(div_itineraire));
		GEvent.addListener(direction, "load", onGDirectionsLoad);
		GEvent.addListener(direction, "error", handleErrors);
		
		icone.iconSize = new GSize(70, 52);
		icone.image = "../images/icone-ville-de-lyon-BO.png";
		icone.shadow = "../images/shadow-BO.png";
		icone.shadowSize = new GSize(140, 60);
		icone.iconAnchor = new GPoint(33, 49);
		
		var	marker = new GMarker(new GLatLng(48.1253917,7.2818637), {icon:icone});
		map.addOverlay(marker);
	}
}

// Fonction d'animation pour placer la carte à un endroit donné
function animate() {    
    map.panTo(new GLatLng(48.1254,7.284));
}
function itineraire(langue) {

	if ($("adresse_itineraire").value == "") {
		$("precision").style.display='none';
		$("introuvable").style.display='none';
		$("imprim_form").style.display='none';
		new Effect.Appear("erreur", {duration:0.5, fps:25, from:0, to:1});
	}
	else {
		geocoder = new GClientGeocoder();
		geocoder.getLatLng($("adresse_itineraire").value, function (coord) {
			if(!coord) {
				$("precision").style.display='none';
				$("erreur").style.display='none';
				$("imprim_form").style.display='none';
				$("introuvable").style.display='none';
				new Effect.Appear("introuvable", {duration:0.5, fps:25, from:0, to:1});
			}
			else {
				var locale = "fr_FR";
				if(langue == "fr")
					locale = "fr_FR";
				else if(langue == "en")
					locale = "en_EN";
				else if(langue == "de")
					locale = "al_AL";
				
				chemin = "from: " + $("adresse_itineraire").value + " to: 1 Rue 68770 Ammerschwihr";
				direction.load(chemin, { "locale": locale });
				
				$("erreur").style.display='none';
				$("introuvable").style.display='none';
				$("precision").style.display='none';
				$("imprim_form").style.display = 'block';
			}
		});
	}
}
// Fonction lançant la géolocalisation
function lance_requette(arrivee)
{
	new Ajax.Request('geoIP.php', {
		asynchronous:true,
		method: 'get',
		onSuccess: function(t) {
			eval(t.responseText);
			
			if((GEOlat != 0) && (GEOlng != 0)) {
				printItineraire('depart', arrivee, 'erreur', GEOlat, GEOlng);
			}
			else {
				printItineraire('depart', arrivee, 'erreur');
			}
		},
		onLoading: function(){
			$('loading').innerHTML = '<img src="images/_interface/ajax-loader.gif" alt="">';
		},  
		onComplete: function(){  
			$('loading').innerHTML = '';
		}
	});
}
// Fonction effectuant l'itinéraire à partir d'une géolocalisation
function showAddress(response) {

	if (!response || response.Status.code != 200) {
		alert("Status Code:" + response.Status.code);
	}
	else {
		place = response.Placemark[0];
		geoadresse = place.address;
		var	chemin = "from: " + geoadresse + " to: " + geoarrivee;
		direction.load(chemin, { "locale": "fr_FR" });
		if ($("imprim_form"))
			$("imprim_form").style.display = 'block';
	}
}
// retour des erreurs
function handleErrors(){
	if (direction.getStatus().code == G_GEO_UNKNOWN_ADDRESS) {
		$("erreur").style.display='none';
		$("introuvable").style.display='none';
		$("imprim_form").style.display='none';
		new Effect.Appear("precision", {duration:0.5, fps:25, from:0, to:1});
	}
}

// Indispensable (même vide)
	
function onGDirectionsLoad(){ 
//contenu
}
