// Fonction qui permet de positionner la carte suivant le choix d'une localite
function showAddress() {
	var address = document.getElementById("adresse_concessionnaire").value;
	if (address!=""){
		address = address + ", " + pays; 
		if (geocoder) {
		  geocoder.geocode( { 'address': address}, function(results, status) {
			if (status == google.maps.GeocoderStatus.OK) {
			  tb_show_mask();
			  map.setCenter(results[0].geometry.location);
			  map.setZoom(11);
  			  zoom_level = 11;
			  
			  AfficheConcessionnaires(-1);
			  //setTimeout("OnChange(-1)",1000);
			} else {
				alert($("#txt_adresse_non_trouvee").val());
				//alert("Geocode was not successful for the following reason: " + status);
			}
		  });
		}
	}
}
//Fonction permettant la creation d'un marqueur
function createMarker(id, type_icone) {
    var latlng = new google.maps.LatLng(tab_concessionnaires[id].latitude, tab_concessionnaires[id].longitude);
	if (type_icone == "custom"){
		// Creation du marker
		var marker = new google.maps.Marker({
			position: latlng, 
			map: map,
			icon: image
		});
		// Ajout de l'évenement
		google.maps.event.addListener(marker, 'click', function() {
			AfficheConcessionnaires(tab_concessionnaires[id].id)
		});
		
		
	}else{
		// Creation du marker
		var marker = new google.maps.Marker({
			position: latlng, 
			map: map,
			icon: image2
		});
		
		concess_html = "";
		concess_html = concess_html + "<div class='info_bulle'>";
		concess_html = concess_html + 	"<div class='concessionnaire_titre'>&nbsp;" + tab_concessionnaires[id].label + "</div>";
		concess_html = concess_html + 	"<div class='revendeur_adresse'>";
		concess_html = concess_html + 		tab_concessionnaires[id].adresse;
		concess_html = concess_html + 	"</div>";
		concess_html = concess_html + "</div>";

		// Info bulle
		var infowindow = new google.maps.InfoWindow({
			content: concess_html
		});
		if (old_info_window != ""){
			old_info_window.close();
		}
		old_info_window = infowindow;
		infowindow.open(map,marker);

		
	}
	return marker;
}

// Fonction apperler à chaque fois que la carte est déplacer
function OnChange(id_conc){

	/*//recupère les coins
	var bounds = map.getBounds();
	var southWest = bounds.getSouthWest();  
	var northEast = bounds.getNorthEast();
		
	//recupère les infos coins
	var NE_lat = northEast.lat().toFixed(7);
	var NE_lng = northEast.lng().toFixed(7);
	var SW_lat = southWest.lat().toFixed(7);
	var SW_lng = southWest.lng().toFixed(7);*/
	
	
	// requete Ajax pour récupèrer la liste des revendeurs
	$.ajax({
	   type: "POST",
	   url: "../_ajax/recherche_concessionnaires.asp",
	   data: "lng=" + codeLangue + "&id_conc="+id_conc,
	  // data: "ne_lat=" + NE_lat + "&ne_lng=" + NE_lng + "&sw_lat=" + SW_lat + "&sw_lng=" + SW_lng + "&lng=" + codeLangue + "&id_conc="+id_conc,
	   success: function(msg){
			if (msg != ""){
				// L'Ajax renvoie une structure de point ainsi que des instructions JS
				eval(msg);
			}
	   }
	});	 
}

// Fonction permettant de zoomer sur la carte
function Zoomcarte(signe){
	tb_show_mask();
	if (signe == "+"){
		if (zoom_level != 17){
			zoom_level = zoom_level + 1;
		}
	}else{
		if (zoom_level != 1){
			zoom_level = zoom_level - 1;
		}
	}
	map.setZoom(zoom_level);
	tb_remove();
	//setTimeout("OnChange(-1)",1000);
}

// Fonction permettant de changer le type de carte
function TypeCarte(signe){
	switch (signe) {                           
		case "plan":
			map.setMapTypeId(google.maps.MapTypeId.ROADMAP);
			break;
		case "satellite":
			map.setMapTypeId(google.maps.MapTypeId.SATELLITE);
			break;
		case "mixte":
			map.setMapTypeId(google.maps.MapTypeId.HYBRID);
			break;
	}
}
	

// Fonction permettant d'afficher les concessionnaires
function AfficheConcessionnaires(id_c){
	// init
	var concess_html = "";
	var id_tab_courant = "";

	//efface les marqueurs actuelles
	map.clearMarkers();

	// on boucle sur notre structe du point
	for (var i = 0; i < tab_concessionnaires.length; i++) {

		// On place le point
		if (id_c == tab_concessionnaires[i].id){
			map.addMarker(createMarker(i, "pointer"));
			// html
			concess_html = concess_html + "<div  id='item_" + i + "' class='concessionnaire_selected'>";
			if(tab_concessionnaires[i].web != "")
			{
				concess_html = concess_html + 		"<div class='concessionnaire_titre_selected'>&nbsp;<a href='" + tab_concessionnaires[i].web +"' target='_blank'>" + tab_concessionnaires[i].label + "</a></div>";
			}else{
				concess_html = concess_html + 		"<div class='concessionnaire_titre_selected'>&nbsp;" + tab_concessionnaires[i].label + "</div>";
			}

			concess_html = concess_html + 		"<div class='revendeur_adresse'>";
			concess_html = concess_html + 			tab_concessionnaires[i].adresse;
			concess_html = concess_html + 			"<table  width='200px'>";
			concess_html = concess_html + 			"<tr>";
			concess_html = concess_html + 			"<td>";
			concess_html = concess_html + 			"<table>";
			if(tab_concessionnaires[i].tel != "")
			{
				concess_html = concess_html + 			"<tr><td><b>" + $("#txt_tel").val() + " :</b></td><td>" + tab_concessionnaires[i].tel +  "</td></tr>";					
			}
			if(tab_concessionnaires[i].fax != "")
			{
				concess_html = concess_html + 			"<tr><td><b>" + $("#txt_fax").val() + " :</b></td><td>" + tab_concessionnaires[i].fax +  "</td></tr>";					
			}
			if(tab_concessionnaires[i].mail != "")
			{
				concess_html = concess_html + 			"<tr><td colspan='2'><b>" + $("#txt_mail").val() + " :</b></td></tr><tr><td colspan='2'><a href='mailto:" + tab_concessionnaires[i].mail +"'>" + tab_concessionnaires[i].mail +  "</a></td></tr>";					
			}
			if(tab_concessionnaires[i].web != "")
			{
				concess_html = concess_html + 			"<tr><td colspan='2'><b>" + $("#txt_site_web").val() + " :</b></td></tr>";					
				concess_html = concess_html + 			"<tr><td colspan='2'><a href='" + tab_concessionnaires[i].web +"' target='_blank'>" + tab_concessionnaires[i].web +  "</a></td></tr>";					
			}
			concess_html = concess_html + 			"</table>";
			concess_html = concess_html + 			"</td>";
			concess_html = concess_html + 			"<td align='right'>";
			concess_html = concess_html + 				"<div class='localiser' onclick='ZoomConcessionnaires(" + i + ")'>";
			concess_html = concess_html + 					$("#txt_zoomer").val();
			concess_html = concess_html + 				"</div>";
			concess_html = concess_html + 			"</td>";
			concess_html = concess_html + 		"</tr>";
			concess_html = concess_html + 		"</table>";
			concess_html = concess_html + 		"</div>";
			concess_html = concess_html + 	"</div>";
			var latlng = new google.maps.LatLng(tab_concessionnaires[i].latitude, tab_concessionnaires[i].longitude);
			map.setCenter(latlng);
			id_tab_courant = i;
			
		}else{
			map.addMarker(createMarker(i, "custom"));
			// html
			concess_html = concess_html + "<div  id='item_" + i + "' class='concessionnaire'>";
			concess_html = concess_html + 		"<div class='concessionnaire_titre'>&nbsp;" + tab_concessionnaires[i].label + "</div>";
			concess_html = concess_html + 		"<div class='revendeur_adresse'>";
			concess_html = concess_html + 			"<table width='200px'>";
			concess_html = concess_html + 				"<tr>";
			concess_html = concess_html + 					"<td>";
			concess_html = concess_html + 						tab_concessionnaires[i].adresse;
			concess_html = concess_html + 					"</td>";
			concess_html = concess_html + 					"<td align='right'>";
			concess_html = concess_html + 						"<div class='localiser' onclick='ZoomConcessionnaires(" + i + ")'>";
			concess_html = concess_html + 							$("#txt_zoomer").val();
			concess_html = concess_html + 						"</div><br />";
			concess_html = concess_html + 						"<div class='localiser' onclick='AfficheConcessionnaires(" + tab_concessionnaires[i].id + ")'>";
			concess_html = concess_html + 							$("#txt_localiser").val();
			concess_html = concess_html + 						"</div>";
			concess_html = concess_html + 					"</td>";
			concess_html = concess_html + 				"</tr>";
			concess_html = concess_html + 			"</table>";
			concess_html = concess_html + 		"</div>";
			concess_html = concess_html + 	"</div>";
		}
     }
	 $("#list_concessionnaire").html(concess_html);
	 if (id_tab_courant != ""){
		$('#list_concessionnaire').scrollTo("#item_" + id_tab_courant,1500);
	 }
	 tb_remove();
}

function ZoomConcessionnaires(id_conc){
	tb_show_mask();
    var latlng = new google.maps.LatLng(tab_concessionnaires[id_conc].latitude, tab_concessionnaires[id_conc].longitude);
	map.setCenter(latlng);
    map.setZoom(11);
    zoom_level = 11;
	setTimeout("AfficheConcessionnaires("+tab_concessionnaires[id_conc].id+")",1000);
}

function RetourCarte(){
	tb_show_mask();
	map.setCenter(latlng_start);
    map.setZoom(zoom_level_start);
    zoom_level = zoom_level_start;
	setTimeout("AfficheConcessionnaires(-1)",1000);
}
