var clickHandler;
var map;
var lat;
var lng;
var locations;
var bounds;
var geocoder;
var pointsfound;
$(document).ready(function() {

if (document.getElementById("googlemap"))
{
		var mapEl=document.getElementById("googlemap");
		mapEl.style.width="100%";
		mapEl.style.height="500px";
		
    if (GBrowserIsCompatible() && document.getElementById("googlemap")!=null) {
        map = new GMap2(document.getElementById("googlemap"));
        map.addControl(new GSmallMapControl());
		map.setCenter(new GLatLng(0, 0), 13);
		geocoder = new GClientGeocoder();
		pointsfound=new Array();
    }
}
});


function processLocations(content) {
    eval("locations = "+content);
    var ready=false;
	$.each(locations,function(index,element){
		geocoder.getLatLng(
			element.address_google,
			function(point) {
			  if (!point) {
				//alert(element.address_google + " non trouvée");
			  } else {
				//MM_preloadImages(element.visuel);
				pointsfound.push(point);
				var marker = new GMarker(point);
				map.addOverlay(marker);
			  	GEvent.addListener(marker, 'mouseover', function() {
					var buffer='';
					if(element.visuel!=null && element.visuel!='')
					{
						buffer+='<img height="100px" class="setFloatLeft" src="'+element.visuel+'" border="0"/>';
					}
					if(element.title!=null)
					{
						buffer+='<span class="txtgrasbleu">'+element.title+'</span><br/><br/>';
					}
					if(element.resume!=null )
					{
						buffer+='<div style="width:250px;text-align:justify">'+element.resume+'</div>';
					}
					if(element.address_reelle!=null )
					{
						buffer+='<br/><div style="clear:both;font-weight:bold">'+element.address_reelle+'</div>';
					}
					if(element.lien_web!=null )
					{
						buffer+='<br/><div>';
						buffer+='<a class="txtgrasbleu" target="_blank" href="'+element.lien_web+'">';
						if(element.lien_web_title!=null )
						{
							buffer+=element.lien_web_title;
						}
						else
						{
							buffer+='lien';
						}
						buffer+='</a></div>';
					}
					
            		marker.openInfoWindowHtml(buffer);       
        		});
				if(index==locations.length-1)
				{
					ready=true;
				}
				if(ready) {
					zoomShowAll();
				}
			  }
			});
		 
    });
}

function moveMapTo(index) {
    map.panTo(new GLatLng(locations[index].latitude, locations[index].longitude));
}

function zoomShowAll() {
	
    bounds = new GLatLngBounds();
    map.setCenter(new GLatLng(0,0),0);
	for(var i=0;i<pointsfound.length;i++){
		 bounds.extend(pointsfound[i]);
	}
    map.setZoom(map.getBoundsZoomLevel(bounds));
    var clat = (bounds.getNorthEast().lat() + bounds.getSouthWest().lat()) /2;
    var clng = (bounds.getNorthEast().lng() + bounds.getSouthWest().lng()) /2;
    map.setCenter(new GLatLng(clat,clng));
}


