﻿function go_itin_carte(adresse,latitude,longitude,lat_2,lng_2,image_marker,societe){
		var directionsService = new google.maps.DirectionsService();
		var directionsRenderer = new google.maps.DirectionsRenderer({suppressMarkers:true});
		var marker1;
		var marker2;
        map = new google.maps.Map(document.getElementById("carte_google"), {
          zoom: 8,
          center: new google.maps.LatLng(latitude,longitude),
          mapTypeId: google.maps.MapTypeId.ROADMAP
        });
		var lien_img1 = 'http://www.ruedesloisirs.com/images/icon/prest1.png';
		var image1 = new google.maps.MarkerImage(lien_img1, new google.maps.Size(32, 32), new google.maps.Point(0,0), new google.maps.Point(8, 16));
		var title1 = "Votre adresse : " + adresse;			
        marker1 = new google.maps.Marker({
			map: map,
			position: new google.maps.LatLng(latitude,longitude),
			icon: image1, 
			title: title1,
			draggable: false
        });		
		var lien_img2 = 'http://www.ruedesloisirs.com/images/icon/map-'+image_marker+'.png';
		var image2 = new google.maps.MarkerImage(lien_img2, new google.maps.Size(32, 32), new google.maps.Point(0,0), new google.maps.Point(0, 24));
		marker2 = new google.maps.Marker({
          map: map,
          position: new google.maps.LatLng(lat_2,lng_2),
			icon: image2, 
			title: societe,
			draggable: false
        });
        var request = {
          origin: marker1.getPosition(),
          destination: marker2.getPosition(),
          travelMode: google.maps.DirectionsTravelMode.DRIVING
        };
        directionsService.route(request, function(result, status) {
          if (status == google.maps.DirectionsStatus.OK) {
            directionsRenderer.setMap(map);
            directionsRenderer.setDirections(result);
          }
        });
		go_itin_texte(latitude,longitude,lat_2,lng_2);
}
function go_itin_texte(latitude,longitude,lat_2,lng_2){
var start = latitude+", "+longitude;
var end = lat_2+','+lng_2; 
var directionsService = new google.maps.DirectionsService();
var request = {origin:start,destination:end,region:"fr", travelMode: google.maps.DirectionsTravelMode.DRIVING, unitSystem: google.maps.DirectionsUnitSystem.METRIC}//, provideTripAlternatives: true };
	document.getElementById('carte_itineaire').innerHTML = "";
	directionsDisplay = new google.maps.DirectionsRenderer();
	directionsDisplay.setPanel(document.getElementById("carte_itineaire"));
	directionsService.route(request, function(result, status) {if (status == google.maps.DirectionsStatus.OK) {directionsDisplay.setDirections(result);}});	
}
function init_gmap_vitrine(societe,latitude,longitude,image_marker,zoom,contenu_c){
    geocoder = new google.maps.Geocoder();
    var latlng = new google.maps.LatLng(latitude,longitude);
    var myOptions = {
      zoom: zoom,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.HYBRID
    }
    map = new google.maps.Map(document.getElementById("carte_google"), myOptions);
	var image = new google.maps.MarkerImage('images/icon/map-'+image_marker+'.png', new google.maps.Size(32, 32), new google.maps.Point(0,0), new google.maps.Point(0, 24));
	var marker = new google.maps.Marker({position: myOptions.center,title:societe,map: map,contenuInfoBulle: contenu_c, icon: image}); 
	
	google.maps.event.addListener(marker, 'click', function() {
			if (!infowindow) {
					infobulle.setContent(this.contenuInfoBulle);
					infobulle.open(map,this);   
				}
		});	
		
	document.getElementById('latitude').value = latitude;
	document.getElementById('longitude').value = longitude;	
}  
function codeAddress(adresse,latitude,longitude,image_marker,societe) {
    geocoder.geocode( { 'address': adresse}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
				document.getElementById('lat').value = results[0].geometry.location.lat();
				document.getElementById('lng').value = results[0].geometry.location.lng();
        map.setCenter(results[0].geometry.location);
        var marker = setmarker(results[0].geometry.location,adresse);
		go_itin_carte(adresse,results[0].geometry.location.lat(),results[0].geometry.location.lng(),latitude,longitude,image_marker,societe)
      } else {
        alert("Le geocodage n\'a pu etre effectue pour la raison suivante: " + status);
      }
    });
}
function imagemarkeradr() {
	var icon_rdl = 'images/icon/icon-membre.png'
	return new google.maps.MarkerImage(icon_rdl, new google.maps.Size(32, 32), new google.maps.Point(0,0), new google.maps.Point(8,16));
}
function setmarker(position_marker,adresse) {
	var marker = new google.maps.Marker({
            map: map,
			icon: imagemarkeradr(), 
            position: position_marker,
			title: ('Votre adresse : '+adresse),
			draggable : true
        });
	google.maps.event.addListener(marker, 'drag', function() {
    geocoder.geocode({'latLng': marker.getPosition()}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
        if (results[0]) {
          $('#lat').val(marker.getPosition().lat());
          $('#lng').val(marker.getPosition().lng());
        }
      }
    });
  });	
	return marker;
}
function cree_infobulle(societe,fiche,alias,activite,adresse,cp,ville,tel,lat_2,lng_2,sub_gm)	{		
	if (alias != '' ){			
		var logo = "<img src=\"../annonces/"+fiche+"/logo.jpg\">";
		var lien_pw = "Sa page web : <a target=\"_blank\" href=\"http://www." + alias + ".ruedesloisirs.com\">www." + alias + ".ruedesloisirs.com</a><br>";
	} else {
		var logo = "<img src=\"../images/carte_identite.jpg\">";
		var lien_pw = "";		
	}	
	/*
	if (sub_gm == '0' ){
		var plusInfos = "<p><a title=\"Voir l'itinéraire sur la carte\" alt=\"Voir l'itinéraire sur la carte\" onclick=\"go_itin_carte('"+ addslashes(societe) + "','" + fiche + "','" + alias + "','" + activite + "','" + addslashes(adresse) + "','" + cp + "','" + addslashes(ville) + "','" + tel  + "','" + lat_2 + "','" + lng_2 + "');\">Itinéraire Carte</a> ou <a title=\"Voir l'itinéraire sous forme de texte\" alt=\"Voir l'itinéraire sous forme de texte\" onclick=\"go_itin_texte('" + lat_2 + "','" + lng_2 + "');\">Itinéraire Texte</a></p>";
	} else {
		var plusInfos = "<p><a title=\"Voir l'itinéraire sous forme de texte\" alt=\"Voir l'itinéraire sous forme de texte\" onclick=\"go_itin_texte('" + lat_2 + "','" + lng_2 + "');\">Itinéraire Texte</a></p>";
	}	
	*/
	var retour = "<div id=\"infobulle\">" + dom_contrat + " à proximité :<br><div style=\"float:left;width:100px;\">"+logo+"</div><div style=\"width:250px;float:left;padding-left:10px;\"><table style=\"width:250px;\" class=\"left\"><tr><td><span>"+societe+"</span><br>"+adresse+"<br>"+cp+" - "+ville+"<br><span class=\"bold\">Tel :</span> "+tel+"</td></tr></table></div><div class=\"clear\"></div>"+lien_pw+"<span>Activité(s) : </span>"+activite+"<br>"/*+plusInfos*/+"</div>";
	return retour;
}
function addslashes (str) {
    return (str+'').replace(/[\\"']/g, '\\$&').replace(/\u0000/g, '\\0');
}
function rech_gmap(id_contrat,prox,image_marker_r,map,nbaf)	{	
	//var sel = document.getElementById('type_rech');
	//var type_rech = sel.value;
	$.ajax({
		type: 'post',
		url: '../ajax/ajax_rech_prox.php',  data: 'id=' + id_contrat + '&dist_rech=' + prox + '&nbaf=' + nbaf  + '&type=' + type_rech,
		success: function(results) { 
			var chaineResult = results;
			var tab = chaineResult.split("|");
			for(i = 0; i < tab.length - 1; i++)	{
					var tab2 = tab[i].split("{");
					var lat2 = tab2[0];
					var lng2 = tab2[1];
					var fiche = tab2[2];					
					var societe = stripslashes(tab2[3]);//.replace(/("|'|\\)/g, "\\$1");
					var activite = tab2[4];					
					var alias = tab2[5];
					var adresse = stripslashes(tab2[6]);				
					var cp = tab2[7];
					var ville = tab2[8];					
					var tel = tab2[9];
					var title = dom_contrat + " à proximité : " + societe;	
					if (alias != '' ){			
						var logo = "<img src=\"../annonces/"+fiche+"/logo.jpg\">";
						var lien_pw = "Sa page web : <a target=\"_blank\" href=\"http://www." + alias + ".ruedesloisirs.com\">www." + alias + ".ruedesloisirs.com</a><br>";
					} else {
						var logo = "<img src=\"../images/carte_identite.jpg\">";
						var lien_pw = "";		
					}	
					var contenu = "<div id=\"infobulle\">" + dom_contrat + " à proximité :<br><div style=\"float:left;width:100px;\">"+logo+"</div><div style=\"width:250px;float:left;padding-left:10px;\"><table style=\"width:250px;\" class=\"left\"><tr><td><span>"+societe+"</span><br>"+adresse+"<br>"+cp+" - "+ville+"<br><span class=\"bold\">Tel :</span> "+tel+"</td></tr></table></div><div class=\"clear\"></div>"+lien_pw+"<span>Activité(s) : </span>"+activite+"<br>"/*+plusInfos*/+"</div>";
				
					var point = new google.maps.LatLng(lat2, lng2);
					var image_heb = new google.maps.MarkerImage(('../images/icon/map-'+image_marker_r+'.png'), new google.maps.Size(32, 32), new google.maps.Point(0,0), new google.maps.Point(0, 24));
					var marker = new google.maps.Marker({
						map: map,
						icon: image_heb, 
						position: point,
						title: title,
						contenuInfoBulle: contenu,
						draggable : false
					});	
					/* Affichage de l'infowindow sur le marker avec l'adresse récupérée */
					google.maps.event.addListener(marker, 'click', function() {
						if (!infowindow) {
								infobulle.setContent(this.contenuInfoBulle);
								infobulle.open(map,this);           

							}
					});	
			}	
		}
	}); 
}
function stripslashes (str) {
    return (str+'').replace(/\\(.?)/g, function (s, n2) {
        switch (n2) {
            case '\\':
                return '\\';
            case '0':
                return '\u0000';
            case '':
                return '';
            default:
                return n1;
        }
    });
}
