function printDirections(){

	if (closestAddr != null){
		reg = / /g;
		var from = closestAddr[1].replace(reg, '+');
		var to 	 = closestAddr[2].replace(reg, '+');
		window.open('http://maps.google.ca/maps?f=d&hl=fr&saddr='+from+'&daddr='+to+'&z=14&om=1&pw=2','name','status=no,menubar=no,directories=no');
	}
}

function getClosest(init){

	if (typeof init == "undefined") init = false;

	//Lire les adresses destinations
	if (init){
		var fromPostal = document.getElementById("fromPostal");
		if (fromPostal.value.length > 0){
			//Initialiser les variables
			listAddr = null;
			if (mapDirections != null)
				mapDirections.clear();
			mapDirections = null;
			closestAddr   = null;
			
			//Afficher le loading
			var loading = document.getElementById('loading');
			loading.style.display = "";
			
			getInfos(location.href+'?dmAction=getAddresses', null, function(rAct){
				
				if (rAct.readyState == 4 && rAct.status == 200){
					//alert(rAct.responseText);
					listAddr = rAct.responseText.split('|');
					listAddr.pop();
	
					getClosest();
				}
			});
		}
	}
	//Calculer la distance entre l'adresse client versus la premiere adresse du tableau de destinations
	else{
		var directions = document.getElementById("directions");
		var fromPostal = document.getElementById("fromPostal");
		curAddr        = listAddr.shift();
	
		if (mapDirections != null)
			mapDirections.clear();
		else{
			mapDirections = new GDirections(map, directions);
			GEvent.addListener(mapDirections, "load", function() {
				
				if (closestAddr == null || closestAddr[0] > mapDirections.getDistance().meters){
					closestAddr = new Array();
					closestAddr[0] = mapDirections.getDistance().meters;
					closestAddr[1] = fromPostal.value;
					closestAddr[2] = curAddr;
				}

				//Si il reste des addresse a calculer, relancer la fonction
				if (listAddr.length > 0)
					getClosest();
				//Si l'addresse la plus proche à été trouvé, charger les itineraires
				else{
					GEvent.clearListeners(mapDirections, "load");
					mapDirections.load("from:"+closestAddr[1] + " to:" + closestAddr[2], {locale : "fr_CA"});
					
					//Afficher le loading
					var loading = document.getElementById('loading');
					loading.style.display = "none";
				}

			});
		}

		mapDirections.load("from:"+fromPostal.value + " to:" + curAddr);
	}
}


