  	var circle;
	var centerMarker;
	var circleUnits;
	var map;
	var geocoder = null;
    var nbdebiens;
    
    
    /*******************************************
    *	Crée la map et le geocoder et fait 
    *	appel à chercher().
    *******************************************/
    function initialize() {
    	
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map_canvas"));
        map.setCenter(new GLatLng(50.745689,4.684532),10);
 		map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
		geocoder = new GClientGeocoder();
		nbdebiens=0;
    	chercher(geocoder,map);
    	  }
    }
    
    
    /*******************************************
    *	teste une adresse et écrit Oui ou Non 
    *	(à intégrer avec du code php)
    *******************************************/
    function initBien(){
      $('bienfound').innerHTML = '<img src="'+wwwroot+'/administrer/images/puce-blanche.gif" alt="" />';
      $('bienfound').innerHTML += '<input type="hidden" class="cases" name="map_found" value="0" />';
      $('bienfound').innerHTML += '<input type="hidden" class="cases" name="map_latlng" value="" />';	
    }
    
    function verifbien(){
    	var adresse = $('map_addresse').value;
    	var codepostal = $('map_codepostal').value;
    	var ville = $('map_ville').value;
    	var achercher = adresse+' '+codepostal+' '+ville;
			var geocoder = new GClientGeocoder();
			var inputfound = '<input type="hidden" class="cases" name="map_found" value="';
			var inputfound2 = '"/>';
			var inputlatlng = '<input type="hidden" class="cases" name="map_latlng" value="';
			
			
			if (geocoder) {
        geocoder.getLatLng(
          achercher,
          function(point) {
            if (!point) {
            	//console.log("non");
              $('bienfound').innerHTML = '<img src="'+wwwroot+'/administrer/images/puce-blanche.gif" alt="" />';
              $('bienfound').innerHTML += inputfound+'0'+inputfound2;
              $('bienfound').innerHTML += inputlatlng+inputfound2;
            } else {
            	//console.log("oui");
            	$('bienfound').innerHTML = '<img src="'+wwwroot+'/administrer/images/puce-verte.gif" alt="" />'+point;
            	$('bienfound').innerHTML += inputfound+'1'+inputfound2;
            	$('bienfound').innerHTML += inputlatlng+point+inputfound2;
         	  }
	    		}
  	  	);
    	}
    	// Reste à entrer les infos dans la base
    }
    
    /*
function verifbien(){
    	alert('1');
    	var adresse = $('map_addresse').value;
    	var codepostal = $('map_codepostal').value;
    	alert('2');
    	var ville = $('map_ville').value;
    	var achercher = adresse+' '+codepostal+' '+ville;
    	alert('3');
		var geocoder = new GClientGeocoder();
		var inputfound = '<input type="hidden" class="cases" name="map_found" value="';
		alert('4');
		var inputfound2 = '"/>';
		var inputlatlng = '<input type="hidden" class="cases" name="map_latlng" value="';
		
		alert('5');
		
		if (geocoder) {
          geocoder.getLatLng(
            achercher,
            function(point) {
              if (!point) {
              	//console.log("non");
                $('bienfound').innerHTML="Non"; 
                $('bienfound').innerHTML+= inputfound+'0'+inputfound2;
                $('bienfound').innerHTML+= inputlatlng+'(0,0)'+inputfound2;
              } else {
              	//console.log("oui");
            	$('bienfound').innerHTML="Oui";
            	$('bienfound').innerHTML+= inputfound+'1'+inputfound2;
            	$('bienfound').innerHTML+= inputlatlng+point+inputfound2;
           	  }
		    }
    	  );
      	}
      	
      	// Reste à entrer les infos dans la base
    	
    }
*/
  
  	/*******************************************
    *	Recupere la ville et appelle drawCircle() 
    *	(à intégrer avec du code php)
    *******************************************/
  	function callCircle(){
  		situerlaville(geocoder,map);
  		
  		setTimeout(function(){ 
  			centerMarker=$('villerayon').retrieve('pointVille'); 
  			//console.log(centerMarker, $('villerayon').retrieve('pointVille')); 
  			drawCircle();
  		}, 500);
    	
  	}
  
  	/*******************************************
    *	Permet d'associer un evenement au click 
    *	sur la map
    *******************************************/
  	function aroundlistenner(address, map){
  	 var retour=null;
  	 GEvent.addListener(map,"click", function(overlay, latlng) {     
		  if (latlng) { 
		  	//centerMarker = latlng;
		  	//drawCircle();
		  	/*
			var myHtml = "Vous êtes à cette coordonnée : " + map.fromLatLngToDivPixel(latlng);
			map.openInfoWindow(latlng, myHtml);
			*/
		  }
		});	
  	}
      
    /*******************************************
    *	Permet de placer un marqueur sur la map
    *	sur la map
    *******************************************/
    function showAddress(geocoder,map,address,number,message,titre,img,prix,accroche,latlng,vendu,loue) {
    var lien = "<a href=\""+message+"\" title=\""+titre+"\" >Voir ce bien</a>";
    var image = "<a href=\""+message+"\" title=\""+titre+"\"><img src=\""+wwwroot+"upload/"+ img +"\" alt=\""+titre+"\" /></a>";
	//var prixa = "<b>"+prix+"</b>"; 
	
	
	var monprix = prix;
	var prix = "";
	
	if (vendu=="1"){
		prix = "<b>VENDU<b>";
		}
	else if (loue=="1"){
		prix = "<b>LOU&Eacute;<b>";
		}
	else if ((loue!="1")&&(vendu!="1")){
		prix = "<b>"+monprix+"</b>";
		}
	
	lien = "<table><tr><td>"+ image + "</td><td style=\"padding-left:3px;\"> <h2>"+lien +"</h2>" +accroche+ "<br />"+prix+"</td></tr></table>";
      aroundlistenner(address, map);
      if (latlng!=""){
      	//console.log(latlng);
      	place_marqueur(latlng,prix,number,lien,address);
      } else {
		  if (geocoder) {
			geocoder.getLatLng(
			  address,
			  function(point) {
				if (!point) {
				  //alert(address + " introuvable !");
				} else {
					//console.log(point);
					place_marqueur(point,prix,number,lien,address);	
				}
			  });    
				  
				
			  }
			
		  }
      }
      
   
   /*
       var lenom = function(param1, param2) {
   if(typeof param2 == 'function') param2('test');
 }
 
 lenom('test', function(leparam){ alert(leparam); } );
    */

	/*******************************************
    *	Place un marqueur associe a une icone
    *	sur la map
    *******************************************/
	function place_marqueur(monpoint,prix,number,lien,address){
	
		monpoint = monpoint.substring(1,monpoint.length-1);
		var monpointemp = monpoint.split(',');
		var lat = monpointemp[0];
		monpointemp = monpointemp[1];
		var lng = monpointemp.substring(1,monpoint.length);

		var pointm = new GPoint(lng,lat);
		
		var prixa=prix.split(' ');
		var monprix = prixa[0];
		var simapicon = new GIcon();	
		
		simapicon.image = "images/simapicon.gif";
		simapicon.iconSize = new GSize(40, 46);
		simapicon.iconAnchor = new GPoint(20, 46);
		simapicon.infoWindowAnchor = new GPoint(5, 1);
		
		markerOptions = { icon:simapicon };
		
	  var marker = new GMarker(pointm, markerOptions);
	  marker.value = number;
	 
			
			 map.addOverlay(marker);


	  
		GEvent.addListener(marker,"click", function() {
		var myHtml = "<b>" + number + "</b><br/>" + address; 
		marker.openInfoWindowHtml(lien,myHtml);
		}
		);
	}
	
	
	
	/*******************************************
    *	Change la valeur d'une checkbox
    *	(à intégrer avec du code php)
    *******************************************/
	function changeValeur(param){
		if ($(param).value == '0')
			$(param).value = '1';
		else if ($(param).value == '1')
			$(param).value = '0';
		initialize();
	}
	
	/*******************************************
    *	Trace un cercle sur la map
    *	(à intégrer avec du code php)
    *******************************************/
	function drawCircle() {
		var oRadius = document.getElementById('radiusInput');
		oRadius.value = oRadius.value ? oRadius.value : 500;
		
		if (oRadius.value.match(/[^\d.]/)) {
			alert("Entrez une valeur en km.");
			return;
		}
		if (oRadius.value > 9999) {
		}
	
		circleRadius = oRadius.value;
		
		doDrawCircle();
	}
	
	
	function doDrawCircle(){
	
		if (circle) {
			map.removeOverlay(circle);
		}
	
	
		if (centerMarker) {
			map.setCenter(centerMarker)
		}
		else {
			centerMarker = new GMarker(map.getCenter(),{draggable:true});
			GEvent.addListener(centerMarker,'dragend',drawCircle)
			map.addOverlay(centerMarker);
		}
	
		var center = map.getCenter();
	
		var bounds = new GLatLngBounds();
		
		var circlePoints = Array();
	
		with (Math) {
			
			var d = circleRadius/6378.8;	// radians
				
			var lat1 = (PI/180)* center.lat(); // radians
			var lng1 = (PI/180)* center.lng(); // radians
	
			for (var a = 0 ; a < 361 ; a++ ) {
				var tc = (PI/180)*a;
				var y = asin(sin(lat1)*cos(d)+cos(lat1)*sin(d)*cos(tc));
				var dlng = atan2(sin(tc)*sin(d)*cos(lat1),cos(d)-sin(lat1)*sin(y));
				var x = ((lng1-dlng+PI) % (2*PI)) - PI ; // MOD function
				var point = new GLatLng(parseFloat(y*(180/PI)),parseFloat(x*(180/PI)));
				circlePoints.push(point);
				bounds.extend(point);
			}
	
			if (d < 1.5678565720686044) {
				circle = new GPolygon(circlePoints, '#89313C', 2, 1, '#89313C', 0.25);	
			}
			else {
				circle = new GPolygon(circlePoints, '#000000', 2, 1);	
			}
			map.addOverlay(circle); 
	
			map.setZoom(map.getBoundsZoomLevel(bounds));
		}
	}

	
	var retourville = null;
	
	/*******************************************
    *	Geolocalise une ville sur la map et stocke la latlng
    *	(à intégrer avec du code php)
    *******************************************/
	function situerlaville(geocoder,map){
		var ville = $('villerayon').value;		
		
		if (geocoder) {
          geocoder.getLatLng(
            ville,
            function(point) {
              if (!point) {
                //alert(ville + " introuvable !");
              	$('villerayon').store('pointVille', null);
              } else {
            	$('villerayon').store('pointVille', point);
           	  }
		    }
    	  );
      }
    }    
    
    
    /*******************************************
    *	Recupere les infos dans la page et appelle showAddress()
    *	(à intégrer avec du code php)
    *******************************************/    
	function chercher(geocoder,map){
		var accroches = $$('.accroche');
		var latlngs = $$('.latlng');
		var addresses = $$('.address');
		var links = $$('.link');
		var titres = $$('.titre');
		var imgs = $$('.img');
		var prixs = $$('.prix');
		var vendus = $$('.vendu');
		var loues = $$('.loue');
		var i=0;
		addresses.each(function(adre){
			if (prixs[i].value!=""){
				showAddress(geocoder,map,adre.value,i+1,links[i].value,titres[i].value,imgs[i].value,prixs[i].value,accroches[i].value,latlngs[i].value,vendus[i].value,loues[i].value);
			}
			else {
			 	//console.log("Bien ignoré");
			}
			i++;
		});
		
		

	}
      