function mysqlToDate(timestamp) {
  //function parses mysql datetime string and returns javascript Date object
  //input has to be in this format: 2007-06-05 15:26:02
  var regex=/^([0-9]{2,4})-([0-1][0-9])-([0-3][0-9]) (?:([0-2][0-9]):([0-5][0-9]):([0-5][0-9]))?$/;
  var parts=timestamp.replace(regex,"$1 $2 $3 $4 $5 $6").split(' ');
  return new Date(parts[0],parts[1]-1,parts[2],parts[3],parts[4],parts[5]);
}

function loadGmap()
{
	if (GBrowserIsCompatible())
	{
		var map = new GMap2(document.getElementById("map"));
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(20, 20), 2);

		function creerMarker(point, nom, description, creation, dernieresynchro)
		{
			var centre = nom + "<br />" + description;
			var creationDate = mysqlToDate(creation);
			var dernieresynchroDate = mysqlToDate(dernieresynchro);
			var dates = "Date de création:" + creationDate.toLocaleDateString();
			dates += "<br />Date de dernière synchronisation:" + dernieresynchroDate.toLocaleDateString();
			var marker = new GMarker(point);
			var infoTabs = [
			new GInfoWindowTab("Centre", centre),
			new GInfoWindowTab("Dates", dates) 
			];
			GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowTabsHtml(infoTabs);
			});
			return marker;
		}

		GDownloadUrl("js/donnees.xml", function(data)
		{
			var xml = GXml.parse(data);
			var markers = xml.documentElement.getElementsByTagName("marker");
			for (var i = 0; i < markers.length; i++) {
			var point = new GLatLng(parseFloat(markers[i].getAttribute("Latitude")), parseFloat(markers[i].getAttribute("Longitude")), 9);
			var marker = creerMarker(point, markers[i].getAttribute("Nom"), markers[i].getAttribute("Description"), markers[i].getAttribute("Creation"), markers[i].getAttribute("DerniereSynchro") );
			map.addOverlay(marker);
		}
		});
	}
}