var geocoder;
var map;

function initialize() {
	if($('map_canvas') && $('map_canvas').title){
		geocoder = new google.maps.Geocoder();		
		
		var address = $('map_canvas').title;	
			
		var nomd = $('map_canvas').getAttribute('name');
		
		
		geocoder.geocode( { 'address': address}, function(results, status) {
		  if (status == google.maps.GeocoderStatus.OK) {
			  
			var latlng = new google.maps.LatLng(results[0].geometry.location);
			var myOptions = {
			  zoom: 15,
			  center: latlng,
			  mapTypeControl: false,
			  mapTypeId: google.maps.MapTypeId.ROADMAP
			};
			
			map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
				
			
			map.setCenter(results[0].geometry.location);
			var marker = new google.maps.Marker({
				map: map,
				title:nomd,
				position: results[0].geometry.location
			});	
			if(nomd){
				addressFormer = preg_replace('([0-9]{5})' , '<br />$1' ,address);
				var contentString = '<p class="adresse" style="height:75px;"><strong style="display:block;margin:0 0 3px 0;">'+nomd+'</strong>'+addressFormer+'<br /><a style="display:block;margin:3px 0 0 0;" href="http://maps.google.com/maps?saddr='+address+'" target="_blank">Itinéraire</a></p>';
				
				var infowindow = new google.maps.InfoWindow({
					content: contentString
				});	
				
				google.maps.event.addListener(marker, 'click', function() {
				  infowindow.open(map,marker);
				});	
			}
		  } else {
			alert("La Géolocalisation n'a pas fonctionné : " + status);
		  }
		});
		
		
	}
}

function preg_replace(string_pattern, string_pattern_replace, my_string)  {
	var new_string = String (my_string);
	var reg_exp= RegExp(string_pattern, "gi");
	return new_string.replace (reg_exp, string_pattern_replace);
}
	

document.observe("dom:loaded", initialize);
