	var map;
	var infoOpen;
	var mapmarkers=new Array();
	var slideshow;
	var oldmarker_iconurl='';
	var oldindex=-1;

	// Create a base icon for all of our markers that specifies the
	// shadow, icon dimensions, etc.
	var 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);

	var selected = null;
	var infoWindow=null;


	function createMarker(point, index, html) {
	  // Create a lettered icon for this point using our icon class
	//  var letter = String.fromCharCode("A".charCodeAt(0) + index);
	  var icon = new GIcon(baseIcon);
	  //icon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";
	//  icon.image = "http://www.google.com/mapfiles/markerA.png";
		icon.image = "http://www.opt.be/images/public/arrow.gif";
		icon.shadow = "";
	  var marker = new GMarker(point, icon);
	  html=html.replace(/&gt;/g,'>');
	  html=html.replace(/&lt;/g,'<');
	/*GEvent.addListener(map, "click", function(overlay,point) {
		if (overlay==null) select(null);
	});*/

	//  GEvent.addListener(marker, "click", function() {
	//	  marker.openInfoWindowHtml(html);
	// });
	  GEvent.addListener(marker, "click", function() {
		if (oldindex != index) {
			if (oldmarker_iconurl != '') {
			  oldmarker.setImage(oldmarker_iconurl);
			}
			oldmarker=marker;
			oldmarker_iconurl=marker.getIcon().image;
	//		marker.setImage("http://www.google.com/mapfiles/markerB.png");
			marker.setImage("http://www.opt.be/images/public/animated_arrow.gif");
			oldindex=index;
			slideshow.pushgoTo(index);
		}

	  });

	  return marker;
	}

	function load(min_lat, max_lat, min_longi, max_longi) {
		if (GBrowserIsCompatible()) {
			map = new GMap2(document.getElementById("map"));
			map.addControl(new GSmallMapControl());
			map.addControl(new GMapTypeControl());
			map.setCenter(new GLatLng((max_lat+min_lat)/2, (max_longi+min_longi)/2) ,
							map.getBoundsZoomLevel(new GLatLngBounds(new GLatLng(min_lat, min_longi),new GLatLng(max_lat, max_longi))));
			map.enableContinuousZoom();
			infoOpen=false;
			refreshMap();
		}
	}

	function showWaitMessage() {
		var message_div = document.getElementById("message_div");
		var google_map = document.getElementById("map");
		if (message_div != null && google_map != null) {
			message_div.innerHTML = "<img src=\"/images/public/loading.gif\"/> Veuillez patienter";
			google_map.appendChild(message_div);
			message_div.style.zIndex = parseInt(google_map.style.zIndex + 1);
			message_div.style.position = 'absolute';
			message_div.style.top = ((google_map.offsetHeight - message_div.offsetHeight) / 2) + "px";
			message_div.style.left = ((google_map.offsetWidth - message_div.offsetWidth) / 2) + "px";
			message_div.style.visibility = 'visible';
		}
	}
	function hideWaitMessage() {
		var message_div = document.getElementById("message_div");
		if (message_div != null) {
			message_div.style.zIndex = 0;
			message_div.style.visibility = 'hidden';
		}
	}
	function LocateOnMap(i) {
	map.setCenter(mapmarkers[i].getPoint());

	GEvent.trigger(mapmarkers[i],"click");
	//alert('ok');
	}

	function refreshMap() {
		map.closeInfoWindow();

		currentquery = document.getElementById('CATEGORIE').value;
		currentregion = document.getElementById('REGION').value;
		currentclangue = document.getElementById('CLANGUE').value;
		showWaitMessage();
		map.clearOverlays();
	      
	/*var point = new GLatLng(<?= $LAT?>,<?= $LONGI?>);
	map.addOverlay(new GMarker(point));
	*/

	var bounds = map.getBounds();
	if (currentquery > 0) {
	//  GDownloadUrl('/tourisme/xmlch.php?QUERY='+currentquery+'&CLANGUE='+currentclangue+'&REGION='+currentregion+'&MIN_LAT='+bounds.getSouthWest().lat()+'&MIN_LONGI='+bounds.getSouthWest().lng()+'&MAX_LAT='+bounds.getNorthEast().lat()+'&MAX_LONGI='+bounds.getNorthEast().lng()+'&LAT=<?= $LAT ?>&LONGI=<?= $LONGI ?>',
	  GDownloadUrl('/tourisme/xmlch.php?CATEGORIE='+currentquery+'&CLANGUE='+currentclangue+'&REGION='+currentregion,
	    function(data, responseCode) {
	            
	      var xml = GXml.parse(data);
	      var markers = xml.documentElement.getElementsByTagName("marker");
	//      mapmarker.length = 0;
	    
	//      for (var i=0; i<markers.length; i++)
	//       if (currentOverlay!=markers[i]) map.removeOverlay(markers[i]);
	  
	    
	      var html='';
		var mySlideData = new Array();
	      for (var i = 0; i < markers.length; i++) {
	        var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
	                                parseFloat(markers[i].getAttribute("lng")));
	//      html=html.replace(/&gt;/g,'>');
	//      html=html.replace(/&lt;/g,'<');
	var data= new Array();
	data[0]=markers[i].getAttribute("photo_url");
	data[1]='http://www.opt.be/'+markers[i].getAttribute("url");
	data[2]="text";
	data[3]=markers[i].getAttribute("title");

		mySlideData[i]=data;
	//alert(i);
	//	marker=new FFMarker(point,baseIcon,markers[i].getAttribute("title"),0,'m');
	 //       map.addOverlay(marker); //'marker :<b>'+i+'</b>'));
	        mapmarkers[i]=createMarker(point, i, markers[i].getAttribute("title") ); //'marker :<b>'+i+'</b>'));
	        map.addOverlay(mapmarkers[i]); //'marker :<b>'+i+'</b>'));
	//        html = html + '<li><a onclick="this.blur();return openInfoWindow(\'A\');" href="'+markers[i].getAttribute("url")+'" >'+markers[i].getAttribute("title")+'</a>  <a href="'+markers[i].getAttribute("url")+'">Plus d\'info</a></li>';
	        html = html + '<li><a href="http://www.opt.be/'+markers[i].getAttribute("url")+'" target="_blank">'+markers[i].getAttribute("title")+'</a> <input type="button" value="O&ugrave;?" onclick="LocateOnMap('+i+')" /></li>';
	        
	      }
	      
	    	var result = document.getElementById("result");

	      var responses = xml.documentElement.getElementsByTagName("response");

	    	result.innerHTML = '<h4>'+responses[0].getAttribute("message")+'</h4><ul>'+html+'</ul>';


	    	hideWaitMessage();
		slideshow = new showcaseSlideShow($('mySlideshow'), mySlideData);
	    }
	  )
	} else {
	 	hideWaitMessage();
	}
	}

