// JavaScript Document
	var iconD = new GIcon();
	iconD.image = "http://www.visoterra.com/images/visoterre_1.gif";
	iconD.iconSize = new GSize(32, 32);
	iconD.iconAnchor = new GPoint(16, 16);
	iconD.infoWindowAnchor = new GPoint(12, 8);
	
	var iconH = new GIcon();
	iconH.image = "http://www.visoterra.com/images/visoterre_H1.gif";
	iconH.iconSize = new GSize(32, 32);
	iconH.iconAnchor = new GPoint(16, 16);
	iconH.infoWindowAnchor = new GPoint(12, 8);
	
	var iconR = new GIcon();
	iconR.image = "http://www.visoterra.com/images/visoterre_R1.gif";
	iconR.iconSize = new GSize(32, 32);
	iconR.iconAnchor = new GPoint(16, 16);
	iconR.infoWindowAnchor = new GPoint(12, 8);
	
	var iconA = new GIcon();
	iconA.image = "http://www.visoterra.com/images/visoterre_A1.gif";
	iconA.iconSize = new GSize(32, 32);
	iconA.iconAnchor = new GPoint(16, 16);
	iconA.infoWindowAnchor = new GPoint(12, 8);
	
	var currentMarker = false;
	var currentHtmlCode = false;
		
	var updating=false;
		
	var openingMarker = false;
	
	var googleMap;
	
	function load() {
					if (GBrowserIsCompatible()) {
						googleMap = new GMap2(document.getElementById("googleMap"));
						
						googleMap.addControl(new GMapTypeControl());
						googleMap.addControl(new GSmallMapControl());
						
						googleMap.addControl(new GOverviewMapControl(new GSize(150,150)));
					
						GEvent.addListener(googleMap,"moveend",updatePlace);
						GEvent.addListener(googleMap,"dragstart",disableCurrentMarker);
						positionne();
						
						adsManagerOptions = "";
						adsManagerOptions.channel = "0645727051";
						var Gads = new GAdsManager(googleMap,  "ca-pub-5985637799635016", adsManagerOptions)
						Gads.enable();

						//GEvent.addListener(googleMap,"zoomend",updateZoom(googleMap));
						//updatePlace(googleMap);
					}
	} 
		
	function updatePlace() {
			if (!updating) {
				dataWait(true,"Mise à jour du nombre d'annonces. Merci de patienter.");
				var zoomlevel = googleMap.getZoom();
				var bounds = googleMap.getBounds();
				var latlon0 = bounds.getNorthEast();
				var latlon1 = bounds.getSouthWest();
				<!--alert('coucou '+latlon1.lat()+' '+latlon0.lat()+' '+latlon1.lng()+' '+latlon0.lng()); -->
				
				if (document.getElementById("hotels").checked) {
					type1=1;	
				} else {
					type1=0;	
				}
				
				if (document.getElementById("restaurants").checked) {
					type2=1;	
				} else {
					type2=0;	
				}
				
				if (document.getElementById("autres").checked) {
					type3=1;	
				} else {
					type3=0;	
				}
				
				if (document.getElementById("geo").checked) {
					geo=1;	
				} else {
					geo=0;	
				}
				
				if (document.getElementById("photos").checked) {
					photos=1;	
				} else {
					photos=0;	
				}
				
				var url = "http://www.visomap.com/proxy.php?proxy_url="+escape("http://www.visoterra.com/dataMap.php?type1="+type1+"&type2="+type2+"&type3="+type3+"&geo="+geo+"&photos="+photos+"&lat1="+latlon1.lat()+"&lat2="+latlon0.lat()+"&long1="+latlon1.lng()+"&long2="+latlon0.lng()+"&zoomlevel="+zoomlevel);
				googleMap.clearOverlays();			
				sndReq(url);
				dataWait(false,"");
				addMainMarker();
			}
	}
		
	function dataWait(status,msg) {
			updating=status;
			//if(msg) infobox.innerHTML=msg;
			if (status==true) {
				document.getElementById("infobox").style.display='block';
			}
			else {
				document.getElementById("infobox").style.display='none';
			}
	}
		
	function disableCurrentMarker() {
			openingMarker = false;
	}
		//]]>

	function createRequestObject(url) {
		req = false;
		// branch for native XMLHttpRequest object
		if(window.XMLHttpRequest) {
			try {
					req = new XMLHttpRequest();
		  }
		  catch(e) {
					req = false;
		  }
		// branch for IE/Windows ActiveX version
		} else if(window.ActiveXObject) {
			try {
				req = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch(e) {
				try {
					req = new ActiveXObject("Microsoft.XMLHTTP");
				} catch(e) {
					req = false;
			}
			}
	  }
		return req;
	}
	
	var http = createRequestObject();
	var httpisbusy=false;
	
	function sndReq(url) {
		if (http) {
			if(httpisbusy==true) {
				http.onreadystatechange = function () {};
				http.abort();
				httpisbusy=false;
			}
			//try {
				http.open('get', url);
				http.onreadystatechange = handleResponse;
				http.send(null);
				httpisbusy=true;
				
			//}
			//catch (ex) {
				//alert('Erreur inclusion');
			//}
		}
		
		if (openingMarker) {
			currentMarker.openInfoWindowHtml(currentHtmlCode);
			openingMarker = false;
		}
	}
	
	function addPlace(latitude,longitude,type,text,openHTML) {
		
		point = new GLatLng(latitude,longitude);
		switch (type) {
			case '1':
				marker=createMarker(point,text,iconH);
				googleMap.addOverlay(marker);
				break;
			case '2':
				marker=createMarker(point,text,iconR);
				googleMap.addOverlay(marker);
				break;
			case '3':	
				marker=createMarker(point,text,iconA);
				googleMap.addOverlay(marker);
				break;
			default:
				marker=createMarker(point,text,iconD);
				googleMap.addOverlay(marker);
				break;
		}
		if (openHTML==1) {
			marker.openInfoWindowHtml(text);
		}
	}
	
	function handleResponse() {
		if(http && http.readyState == 4){
				httpisbusy=false;
				eval(http.responseText);						
		}
	}
	
	function createMarker(point, htmlcode, icon) {
				  var marker = new GMarker(point, icon);
				  GEvent.addListener(marker, "click", function() {
					openingMarker = true;
					currentMarker = marker;
					currentHtmlCode = htmlcode;
					marker.openInfoWindowHtml(htmlcode);
				  });
				  return marker;
	}
	
	function updateSelectedTypes() {
		updatePlace();

	}