var map = null;
		var geocoder = null;
		var trouve = false;
		var address = '';
		var mgr = null;
		var pos = null;
		var fpos = null;
		
		var car = new GIcon();
	    car.image = root + "src/n/car.png";
	    car.shadow = root + "src/n/shadow-car.png";
	    car.iconSize = new GSize(16.0, 16.0);
	    car.shadowSize = new GSize(25.0, 16.0);
	    car.iconAnchor = new GPoint(8.0, 8.0);
	    car.infoWindowAnchor = new GPoint(8.0, 8.0);
	    
	    var croix = new GIcon();
	    croix.image = root + "src/n/cross.png";
	    croix.shadow = root + "src/n/shadow-cross.png";
	    croix.iconSize = new GSize(16.0, 16.0);
	    croix.shadowSize = new GSize(25.0, 16.0);
	    croix.iconAnchor = new GPoint(8.0, 8.0);
	    croix.infoWindowAnchor = new GPoint(8.0, 8.0);
					
		var cons = new Array();
		
		function toggleVue(vue) {
			$('cartepro').style.display = 'none';
			$('listepro').style.display = 'none';
			$(vue + 'pro').style.display = 'block';
			
			$('togcarte').style.textDecoration = 'underline';
			$('togliste').style.textDecoration = 'underline';
			$('tog' + vue).style.textDecoration = 'none';
		}
		
	    function load() {
	      setTimeout('testMap()',8000);
	      if (true	 && GBrowserIsCompatible()) {
	      	document.getElementById('mapload').style.display='none';
	        map = new GMap2(document.getElementById("map"));
	        map.setCenter(new GLatLng(45.857, 3.841), 6);	
	        map.setMapType(G_NORMAL_MAP);	
	         map.addControl(new  GMapTypeControl());    
	        map.addControl(new GLargeMapControl());        
   
	       	geocoder = new GClientGeocoder();	
	       
	       setupCons();
	       
	      }
	      else {
	     	 document.getElementById('mapload').innerHTML='<b>Erreur de chargement</b>.<br/> Votre navigateur n\'est pas compatible ou le service Google Maps n\'est pas accessible.<br/><br/><a href="#geo" onclick="reload();return false;">Réessayer</a>';
	      }
	    }
	    
	    
	    
	    function setupCons() {
			mgr = new MarkerManager(map);
			getCons();
	       	mgr.addMarkers(cons,1);
			mgr.refresh();  
		}
	    
	    function reload() {
	    	document.getElementById('mapload').innerHTML = '<img src="' + root + 'src/n/spinner.gif" /><br/><b>Chargement de la carte...</b>';
	    	load();
	    	return false;
	    }
	    
	    function testMap() {
	    	if(map == null) {
	    		document.getElementById('mapload').innerHTML='<b>Erreur de chargement</b>.<br/>	Votre navigateur n\'est pas compatible ou le service Google Maps n\'est pas accessible.<br/><br/><a href="#geo" onclick="reload();return false;">Réessayer</a>';
	    	}
	    }
	    
	    function getAddress() {	       
	      for(i=0;i<cons.length;i++) {
	      	map.addOverlay(createMarker(new GLatLng(cons[i][0],cons[i][1]),cons[i][2]));
	      }
	    }
	        
	    function createMarker(point, txt) {
		  var marker = new GMarker(point);
		  GEvent.addListener(marker, "click", function() {
		    marker.openInfoWindowHtml(txt);
		  });
		  return marker;
		}
		
		
		
		
		
		
		var succesSearch = function(t) {
			if (t.responseText == 'erreur') {
				$('txtresultats').innerHTML = 'Erreur...';
			}
			else {
				var resp = t.responseText.split('-----|||-----');
    			$('txtresultats').innerHTML = resp[1];
    			//$('resultats').innerHTML = resp[1];
    			$('resultats').innerHTML = resp[2];
    			eval(resp[0]);
    			map.redraw();
			}
			
		}
		    					
		var erreurSearch = function(t) {
			$('txtresultats').innerHTML ='Erreur lors de l\'appel';
		}
		
		function searchCons(lat,lng) {
		  var marker = null;
		  new Ajax.Request(root + 'geocons.php?lat='+lat+'&long='+lng+'&rayon='+$('rayon').value+'&type='+$('type').value+'&distributeur='+$('distributeur').value+'&reparateur='+$('reparateur').value, 
					{asynchronous:false,method:'get',
					 onSuccess: succesSearch,
		    		 onFailure: erreurSearch
					}
			);
		}
	    
		function findCons(lat,lng) {
			mgr.clearMarkers();							
			cons = new Array();
			searchCons(lat,lng);
	       	mgr.addMarkers(cons,1);
			mgr.refresh();
		}
		
		var succes = function(t) {
		if(t.responseText == 'introuvable') {
			$('txtresultats').innerHTML = 'Adresse introuvable';
		}
		else if (t.responseText == 'erreur') {
			$('txtresultats').innerHTML = 'Erreur...';
		}
		else {
			
			$('txtresultats').innerHTML = 'Adresse trouvée!';
			var data = t.responseText.split(',');
			
			if(map) {
				var zoom = 10;						        				
    			switch(parseInt($('rayon').value)) {
    				case 5:
    					zoom = 13;
    					break;
    				case 10:
    					zoom = 11;
    					break;
    				case 20:
    					zoom = 10;
    					break;
    				case 50:
    					zoom = 10;
    					break;
    				case 100:
    					zoom = 9;
    					break;
    				case 200:
    					zoom = 6;
    					break;
    				case 500:
    					zoom = 5;
    					break;
    				default:
    					zoom = 10;
    			}					
    			map.setZoom(zoom);		        				
    			map.panTo(new GLatLng(data[0], data[1]));
    			
    			findCons(data[0],data[1]);
    			
    			pos = mgr.addMarker(new GMarker(new GLatLng(data[0], data[1]),{icon: croix}),1);
    			
			}
			else {
				$('txtresultats').innerHTML = 'La carte n\'est pas chargée!'
			}
		}
		
	}
		    					
		var erreur = function(t) {
		 				$('txtresultats').innerHTML ='Erreur lors de l\'appel';
		 			}
		 			
		function rechAdresse() {
			$('txtresultats').innerHTML = '<img src="' + root + 'src/n/spinner.gif" style="vertical-align:middle"/> Recherche en cours...';
			var rue = $('rue').value;
			var cp = $('cp').value;
			var ville = $('ville').value;
			
			var query = encodeURI(rue)+','+encodeURI(cp)+','+encodeURI(ville)+',france';
			
			new Ajax.Request(root + 'geo.php?q='+query, 
					{asynchronous:true,method:'get',
					 onSuccess: succes,
		    		 onFailure: erreur
					}
			);
			//alert(test);
			
		}
		
		var entest = '';
		
		function rechAdresse2() {
			$('txtresultats').innerHTML = '<img src="' + root + 'src/n/spinner.gif" style="vertical-align:top"/> Recherche en cours...';
			var dep = $('dep2').value;
			var cp = $('cp2').value;
			var ville = $('ville2').value;
			entest = '';			
			
			if(ville.length > 0) {
				entest = 'ville';
				var query = encodeURI(ville)+',france';
			
				new Ajax.Request(root + 'geo.php?q='+query, 
						{asynchronous:true,method:'get',
						 onSuccess: succes2,
			    		 onFailure: erreur2
						}
				);
			}
			else if(cp.length > 0) {
				entest = 'cp';
				var query = encodeURI(cp)+',france';
			
				new Ajax.Request(root + 'geo.php?q='+query, 
						{asynchronous:true,method:'get',
						 onSuccess: succes2,
			    		 onFailure: erreur2
						}
				);
			}
			else if(dep != "all"){ 
				entest = 'dep';
				dep = $('dep2').options[$('dep2').selectedIndex].text;
				
				var query = encodeURI(dep.split('-')[0].replace(' ',''))+',france';
			
				new Ajax.Request(root + 'geo.php?q='+query, 
						{asynchronous:true,method:'get',
						 onSuccess: succes2,
			    		 onFailure: erreur2
						}
				);
				
				//map.setCenter(new GLatLng(46.857, 1.841), 5);	
				//findCons2('dep',$('dep2').value);
			}
			else {
				succes2('ok');
			}
			
		}
		
		var succes2 = function(t) {
			var dep = $('dep2').value;
			var cp = $('cp2').value;
			var ville = $('ville2').value;
						
			if(t.responseText && t.responseText == 'introuvable') {
				if(entest == 'cp') {
					$('txtresultats').innerHTML = 'Code postal introuvable';		
				}
				else if(entest == 'ville') { 
					if(cp.length > 0) {
						entest = 'cp';
						var query = encodeURI(cp)+',france';
					
						new Ajax.Request(root + 'geo.php?q='+query, 
								{asynchronous:true,method:'get',
								 onSuccess: succes2,
					    		 onFailure: erreur2
								}
						);
					}
					else {
						$('txtresultats').innerHTML = 'Ville introuvable';		
					}
				}
			}
			else if (t.responseText && t.responseText == 'erreur') {
				$('txtresultats').innerHTML = 'Erreur...';
			}
			else {
				
				if(entest == 'cp')
					$('txtresultats').innerHTML = 'Code postal trouvé';
				else if(entest == 'ville') 
					$('txtresultats').innerHTML = 'Ville trouvée';
					
				
				
				if(t.responseText && map) {
					var data = t.responseText.split(',');
					
					var zoom = 10;		
					
					if(entest == 'cp')
						zoom = 9;
					else if(entest == 'ville') 
						zoom = 11;
					else if(entest == 'dep') 
						zoom = 8;
									        				
	    						
	    			map.setZoom(zoom);		        				
	    			map.panTo(new GLatLng(data[0], data[1]));
	    			
	    			if(entest == 'cp')
						findCons2('cp',$('cp2').value);
					else if(entest == 'ville') 
						findCons2('ville',$('ville2').value);
					else if(entest == 'dep') 
						findCons2('dep',$('dep2').value);
	    			
	    			pos = mgr.addMarker(new GMarker(new GLatLng(data[0], data[1]),{icon: croix}),1);
	    			
				}
				else {
					if(entest == 'cp')
						findCons2('cp',$('cp2').value);
					else if(entest == 'ville') 
						findCons2('ville',$('ville2').value);
					else if(entest == 'dep') 
						findCons2('dep',$('dep2').value);
					else
						findCons2();
						
					//$('txtresultats').innerHTML = 'La carte n\'est pas chargée!'
				}
			}
			
		}
		
		var erreur2 = function(t) {
			$('txtresultats').innerHTML ='Erreur lors de l\'appel';
		}
		
		function zoom(lat,long) {
			map.setZoom(11);		        				
    		map.panTo(new GLatLng(lat, long));
		}
		
		var erreurSearch2 = function(t) {
			$('txtresultats').innerHTML ='Erreur lors de l\'appel';
		}
		
		function searchCons2(type,valeur) {
		  var marker = null;
		  new Ajax.Request(root + 'listcons.php?typ='+type+'&val='+valeur+'&type='+$('type2').value+'&distributeur='+$('distributeur2').value+'&reparateur='+$('reparateur2').value+'&nom='+encodeURI($('nom').value), 
					{asynchronous:false,method:'get',
					 onSuccess: succesSearch,
		    		 onFailure: erreurSearch2
					}
			);
		}
	    
		function findCons2(type,valeur) {
			mgr.clearMarkers();							
			cons = new Array();
			searchCons2(type,valeur);
	       	mgr.addMarkers(cons,1);
			mgr.refresh();
		}