var tinyIcon = new Array;

function gm_load() {
	
  if (GBrowserIsCompatible()) {
  	
    map = new GMap2(document.getElementById("googlemap"));
    // Insertion du zoom
    map.addControl(new GSmallZoomControl());
    map.addControl(new GHierarchicalMapTypeControl());
    map.setCenter(new GLatLng(0, 0), 1);
    
    addAllMarker(tabCoord);
    
  }
  tabCoord= new Array;
}

function addAllMarker(tabCoord) {
	
	// Creation des icones
	tinyIcon[1] = new GIcon();
	tinyIcon[1].image = "/style/googlemap/marker_green.png";
	tinyIcon[1].shadow = "/style/googlemap/marker_shadow.png";
	tinyIcon[1].iconSize = new GSize(12, 20);
	tinyIcon[1].shadowSize = new GSize(22, 20);
	tinyIcon[1].iconAnchor = new GPoint(6, 20);
	tinyIcon[1].infoWindowAnchor = new GPoint(5, 1);
	
	tinyIcon[2] = new GIcon();
	tinyIcon[2].image = "/style/googlemap/marker_yellow.png";
	tinyIcon[2].shadow = "/style/googlemap/marker_shadow.png";
	tinyIcon[2].iconSize = new GSize(12, 20);
	tinyIcon[2].shadowSize = new GSize(22, 20);
	tinyIcon[2].iconAnchor = new GPoint(6, 20);
	tinyIcon[2].infoWindowAnchor = new GPoint(5, 1);
	
	tinyIcon[3] = new GIcon();
	tinyIcon[3].image = "/style/googlemap/marker_black.png";
	tinyIcon[3].shadow = "/style/googlemap/marker_shadow.png";
	tinyIcon[3].iconSize = new GSize(12, 20);
	tinyIcon[3].shadowSize = new GSize(22, 20);
	tinyIcon[3].iconAnchor = new GPoint(6, 20);
	tinyIcon[3].infoWindowAnchor = new GPoint(5, 1);
	
	tinyIcon[4] = new GIcon();
	tinyIcon[4].image = "/style/googlemap/marker_red.png";
	tinyIcon[4].shadow = "/style/googlemap/marker_shadow.png";
	tinyIcon[4].iconSize = new GSize(12, 20);
	tinyIcon[4].shadowSize = new GSize(22, 20);
	tinyIcon[4].iconAnchor = new GPoint(6, 20);
	tinyIcon[4].infoWindowAnchor = new GPoint(5, 1);
	
	tinyIcon[5] = new GIcon();
	tinyIcon[5].image = "/style/googlemap/marker_red.png";
	tinyIcon[5].shadow = "/style/googlemap/marker_shadow.png";
	tinyIcon[5].iconSize = new GSize(12, 20);
	tinyIcon[5].shadowSize = new GSize(22, 20);
	tinyIcon[5].iconAnchor = new GPoint(6, 20);
	tinyIcon[5].infoWindowAnchor = new GPoint(5, 1);
	
	tinyIcon[6] = new GIcon();
	tinyIcon[6].image = "/style/googlemap/marker_blue.png";
	tinyIcon[6].shadow = "/style/googlemap/marker_shadow.png";
	tinyIcon[6].iconSize = new GSize(12, 20);
	tinyIcon[6].shadowSize = new GSize(22, 20);
	tinyIcon[6].iconAnchor = new GPoint(6, 20);
	tinyIcon[6].infoWindowAnchor = new GPoint(5, 1);
	
	var minLat="";
	var maxLat="";
	var minLng="";
	var maxLng="";
	
	for(i=0;i<tabCoord.length;i++) {
		
		var coord = tabCoord[i][0].split(';'); 
		
		if(minLat=="" || minLat>coord[0]) minLat=coord[0];
		if(maxLat=="" || maxLat<coord[0]) maxLat=coord[0];
		
		if(minLng=="" || minLng>coord[1]) minLng=coord[1];
		if(maxLng=="" || maxLng<coord[1]) maxLng=coord[1];
		
		var point = new GLatLng(coord[0], coord[1]);
		map.addOverlay(addMarker(point,tabCoord[i][1],tabCoord[i][2]));
		
	}

	var centerLat = (parseFloat(minLat) + parseFloat(maxLat)) / 2;
	var centerLng = (parseFloat(minLng) + parseFloat(maxLng)) / 2;
	var diffLat = parseFloat(maxLat) - parseFloat(minLat);
	var diffLng = parseFloat(maxLng) - parseFloat(minLng);
	
	
	if(diffLng>=0 && diffLng<5)
		var zoomLng = 7;
	else if(diffLng>=5 && diffLng<11)
		var zoomLng = 6;
	else if(diffLng>=11 && diffLng<21)
		var zoomLng = 5;
	else if(diffLng>=21 && diffLng<43)
		var zoomLng = 4;
	else if(diffLng>=43 && diffLng<82)
		var zoomLng = 3;
	else if(diffLng>=82 && diffLng<166)
		var zoomLng = 2;
	else 
		var zoomLng = 1;

	if(diffLat>=0 && diffLat<3)
		var zoomLat = 7;
	else if(diffLat>=3 && diffLat<5)
		var zoomLat = 6;
	else if(diffLat>=5 && diffLat<12)
		var zoomLat = 5;
	else if(diffLat>=12 && diffLat<22)
		var zoomLat = 4;
	else if(diffLat>=22 && diffLat<39)
		var zoomLat = 3;
	else if(diffLat>=39 && diffLat<61)
		var zoomLat = 2;
	else 
		var zoomLat = 1;
	
	//alert(diffLat);
	
	if(zoomLng<zoomLat) var zoom = zoomLng;
	else var zoom = zoomLat;
	
	if(tabCoord.length==1 && tabCoord[0][1]==0) var zoom = 12;
	
	map.setCenter(new GLatLng(centerLat, centerLng), zoom);
	
}

function addMarker(point,concert,statut) {
		
	// Ajout le marker
	var marker = new GMarker(point,{ icon:tinyIcon[statut] });
	if(concert>0) {
		GEvent.addListener(marker, 'click', function() {
	 		//marker.openInfoWindowHtml(libelle);
	 		map.setCenter(point, map.getZoom());
	 		infoConcert(concert);
	  });
	}
  return marker;
	
}
