 function createMarker(point,html,img,hint) {
		 
		 	var somfyIcon = new GIcon(G_DEFAULT_ICON);
			
			if (img != "")
			{
		 		somfyIcon.image = img;
				var marker = new GMarker(point, {icon:somfyIcon, title: hint});
			}
			else
			{
				var marker = new GMarker(point, {title: hint});
			}
			
			GEvent.addListener(marker, "click", function() {
			  //alert(html);
			  marker.openInfoWindowHtml(html);
			});
			return marker;
}
	
function createMap(dealers){ 
	
	if (GBrowserIsCompatible()) {
		
		// create the instance of GMap
		var map = new GMap2(document.getElementById("map"));
		
		map.addControl(new GLargeMapControl());
		// add map/satellite toggle 
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng('0','0'), 17);
		//gogglemaps V1 map.centerAndZoom(new GPoint('0','0'), 0);
		
		var bounds = new GLatLngBounds();
		
		for (var i in dealers){
		    var obj = dealers[i];
			var mylat = "";
			var mylng ="";
			if(obj.lat !=0 && obj.lng !=0) {
				var point = new GLatLng(obj.lat,obj.lng);
				var point_pos = new String(obj.lat).indexOf(".");
				//alert('loading '+ obj.name);
				// create the marker 
				//var marker = new GMarker(point);
				var html_marker='<table><tr><td><table style="text-align: left; width: 260px;" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td width="90px;"><span style="font-weight: bold;">Coordinates :</span></td><td></td></tr><tr><td>Adresse :</td><td><span><b>'+obj.name+'</b></span></td></tr>';
				if(obj.address !='') html_marker+='<tr><td></td><td><span>'+obj.address+'</span></td></tr>';
				//if(obj.address2 !='') html_marker+='<tr><td></td><td>'+obj.address2+'</td></tr>';
				if(obj.zipcode !='') html_marker+='<tr><td></td><td>'+obj.zip+' '+obj.city+'</td></tr>';
				if(obj.url !='') html_marker+='<tr><td></td><td><a href="'+obj.url+'" style="text-decoration:underline;">voir le restaurant</a></td></tr>';
				html_marker+='</td></tr></table>';							
				
				var marker = createMarker(point, html_marker,"",obj.name);
				
				
				// Add the marker as an overlay 
				map.addOverlay(marker); 				
				bounds.extend(point);
				map.setZoom(map.getBoundsZoomLevel(bounds)-4);
			}
		}
		
			map.setZoom(map.getBoundsZoomLevel(bounds));
	
			  // ===== determine the centre from the bounds ======
			 map.setCenter(bounds.getCenter());
	}
	else
	{
		document.getElementById("map").innerHTML = "dealerlocator.googlemaps.GMapsBrowserKO" ;
	}

}

function createMapForCustomer(obj) {

	if (GBrowserIsCompatible()) {
		
		// create the instance of GMap
		var map = new GMap2(document.getElementById("map"));		
		map.addControl(new GLargeMapControl());
		// add map/satellite toggle 
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(obj.lat,obj.lng), 17);
		//gogglemaps V1 map.centerAndZoom(new GPoint('0','0'), 0);
		
		var bounds = new GLatLngBounds();	

		var mylat = "";
		var mylng ="";
		var point = new GLatLng(obj.lat,obj.lng);
		//var point_pos = new String(obj.lat).indexOf(".");
		//if(point_pos > 0) mylat = "";				
		
		// create the marker 
		//var marker = new GMarker(point);
		var html_marker='<table><tr><td><table style="text-align: left; width: 260px;" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td>Adresse :</td><td><span><b>'+obj.name+'</b></span></td></tr>';
		if(obj.address !='') html_marker+='<tr><td></td><td><span>'+obj.address+'</span></td></tr>';
		if(obj.zipcode !='') html_marker+='<tr><td></td><td>'+obj.zip+' '+obj.city+'</td></tr>';
		if(obj.url !='') html_marker+='<tr><td></td><td><a href="'+obj.url+'">voir le restaurant</a></td></tr>';
		html_marker+='</td></tr></table>';							
		
		var marker = createMarker(point, html_marker,"",obj.name);		
		
		// Add the marker as an overlay 
		map.addOverlay(marker); 		
		bounds.extend(point);
		map.setZoom(map.getBoundsZoomLevel(bounds)-4);
		
		// ===== determine the centre from the bounds ======
		map.setCenter(bounds.getCenter());	
		
		window.map = map;
	}
	else
	{
		document.getElementById("map").innerHTML = "GMapsBrowserKO" ;
	}
}

function zoomCustomer(map,obj) {
	var point = new GLatLng(obj.lat,obj.lng);
	map.setCenter(point);
	map.setZoom(map.getBoundsZoomLevel(bounds)+3);
	//map.panTo(point);
}


function showSingleMap() {	
	jQuery('#basicModalContent').modal({
				closeHTML: "<a href='#' title='Close' class='modalClose'>x</a>",
				position: ["15%",],
				overlayId: 'modalOverlay',
				containerId: 'modalContainer',
				onOpen: mapLayer.open,				
				onClose: mapLayer.close
			});
	
	if(!_isMapLoaded) {
		createMapForCustomer(mess);
		testMap=setTimeout("getSingleMap()",1000);		
		//_isMapLoaded = true;
	}			
}

function getSingleMap() {
	if(window.map) {
			//alert(window.map.getCenter());
			window.map.checkResize();
			zoomCustomer(window.map,mess);
		}
}

var mapLayer={
	open: function (dialog) {
		// add padding to the buttons in firefox/mozilla
		dialog.overlay.fadeIn('slow', function () {
			dialog.data.hide();
			dialog.container.fadeIn('fast', function () {
				dialog.data.slideDown('fast');
				myDialog = dialog;				
			});
		});	
			
	},
	close: function (dialog) {
		dialog.container.slideUp('fast', function () {
			dialog.container.hide('fast', function () {
				dialog.overlay.fadeOut('slow', function () {
					jQuery.modal.close();	
				});
			});
		});
	}
};
	



