
var gmarkers = [];
var i = 0;
var map;
var baseIcon;

 function load()
 {
	 if (GBrowserIsCompatible())
	 {
		map = new GMap2(document.getElementById("map"));

		mapControl=new GLargeMapControl();
		typeControl=new GMapTypeControl();
		scaleControl = new GScaleControl()
		map.addControl(mapControl);
		map.addControl(typeControl);
		map.addControl(scaleControl);
		map.setCenter(new GLatLng( 0,0), 6);

		baseIcon = new GIcon();
		baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
		baseIcon.iconSize = new GSize(20, 34);
		baseIcon.shadowSize = new GSize(37, 34);
		baseIcon.iconAnchor = new GPoint(9, 34);
		baseIcon.infoWindowAnchor = new GPoint(9, 2);
		baseIcon.infoShadowAnchor = new GPoint(18, 25);

	}
	else
		alert("Sorry, the Google Maps API is not compatible with this browser");
 }
 
 
 
 

	function loadMapFromXML(xmlfile)
	{
		  map.clearOverlays();
		  var request = GXmlHttp.create();
		  request.open("GET", xmlfile, true);
		  request.onreadystatechange = function()
			  {
				  if (request.readyState == 4) 
				  {
					  var xmlDoc = GXml.parse(request.responseText);
					  var markers = xmlDoc.documentElement.getElementsByTagName("marker");

					  for (i = 0; i < markers.length; i++) 
					  {
						var lat = parseFloat(markers[i].getAttribute("lat"));
						var lng = parseFloat(markers[i].getAttribute("lng"));
						var point = new GLatLng(lat,lng);
						var html = markers[i].getAttribute("html");
						var societe = markers[i].getAttribute("societe");
						var soc_id = markers[i].getAttribute("id");
						var tel = markers[i].getAttribute("tel");
						var adresse = markers[i].getAttribute("adresse");
						var cp = markers[i].getAttribute("cp");
						var ville = markers[i].getAttribute("ville");
						var pays = markers[i].getAttribute("pays");
						var email = markers[i].getAttribute("email");
						var web = markers[i].getAttribute("web");

						var html="<table border=0 cellspacing=0 cellpadding=0 width=300>";
						if(societe!='')
							html+="<tr><td class='titre'><b>"+societe+"</b></td></tr>";
						if(tel!='')
							html+="<tr><td class='texte'>"+tel+"</td></tr>";
						if(adresse!='')
							html+="<tr><td class='texte'>"+adresse+"</td></tr>";

						if(cp!=''|| ville!='' || pays!='')
							html+="<tr><td class='texte'>"+cp+", "+ville+", "+pays+"</td></tr>";
						if(web!='')
							html+="<tr><td class='titre'>Site web :&nbsp;<a href='"+web+"' target='_blank' class='lien'>"+web+"</a></td></tr>";
						if(email!='')
							html+="<tr><td class='titre'>Email :&nbsp;<a href='mailto:"+email+"' target='_blank' class='lien'>"+email+"</a></td></tr>";

						html+="</table><tr>"

						var marker = createMarker(point,societe,html);
						map.addOverlay(marker);
					  }

					   //La bounding est définie
						var bound = xmlDoc.documentElement.getElementsByTagName("bound");
					   if(bound.length==1)
					   {

							var minLat = parseFloat(bound[0].getAttribute("minLat"));
							var maxLat = parseFloat(bound[0].getAttribute("maxLat"));
							var minLng = parseFloat(bound[0].getAttribute("minLng"));
							var maxLng = parseFloat(bound[0].getAttribute("maxLng"));

							var rectObj = new GLatLngBounds(new GLatLng(minLat,minLng), new GLatLng(maxLat,maxLng));
							var zoom = map.getBoundsZoomLevel(rectObj);
							map.setCenter(new GLatLng( (minLat+maxLat)/2,(minLng+maxLng)/2), zoom);
					   }


				}
			}
		  request.send(null);
	}


	 // A function to create the marker and set up the event window
	function createMarker(point,name,html) {

	    var icon = new GIcon(baseIcon);  
		icon.image = "/image/arrow.png";
		var marker = new GMarker(point,icon);
		GEvent.addListener(marker, "click", function() {
			  marker.openInfoWindowHtml(html);
		});

		gmarkers[i] = marker;

		// add a line to the side_bar html
		return marker;
	}


	 // A function to create the marker and set up the event window
	function createReference(point,name,html) {

	    var icon = new GIcon(baseIcon);  
		icon.image = "/image/arrow.png";
		var marker = new GMarker(point,icon);
		GEvent.addListener(marker, "click", function() {
			  marker.openInfoWindowHtml(html);
		});

		map.openInfoWindowHtml(point,html);

		gmarkers[i] = marker;

		return marker;
	}

