var map = null;
var centreurl = null; 
var _length = null;
 
 
function closeff(mlink)
{
	if (top.opener)
	{
		top.opener.location.href=mlink;
		//if (window.name!="principal")
		window.close();
	}
}
 
function aproximite (obj, query)
{	

	if (document.getElementById("chargementEnCours"))
		document.getElementById("chargementEnCours").style.display = "block";	

	map.clearOverlays();

	//on prend toutes les cat selectionne
	var Scategories = ""
	var aprox = false;
	var Tcategories  = document.getElementsByName("catg");

	
	
//	Scategories = Tcategories.options[Tcategories.selectedIndex].value;
//	if (Tcategories.selectedIndex != -1)
//		aprox = true;

	for (var i=0;i<Tcategories.length;i++)
	{
		if (Tcategories[i].checked == true)
		{
			if (Scategories!="")
				Scategories = Scategories + ",";
				
			Scategories = Scategories + Tcategories[i].value;
		}
	}
	
	var param = "mode=proxi&coord=" + centreurl + "&catg=" + Scategories + "&aprox=" + obj.checked + "&" + query;

	if (document.getElementById("urlcartoG"))
		document.getElementById("urlcartoG").value=param;
	
	//document.write ("http://cdt19/fr/GetXMLGoogleMapV2.asp?" + param);
	
	//document.getElementById("requete").innerHTML = "http://cdt19/fr/GetXMLGoogleMapV2.asp?" + param;
	
	PositionnePoints (param, 1, 'approx');
	
}
 
function loadcarto(param, modecarto) 
{	
	//document.write("mode : " + modecarto);
	if (GBrowserIsCompatible()) { 
	
		map = new GMap2(document.getElementById("map")); 

		map.addControl(new GScaleControl());	
	    map.enableDoubleClickZoom();
		map.enableContinuousZoom(); 
		map.addControl(new GLargeMapControl());	
		map.addControl(new GMapTypeControl());
		map.addControl(new GOverviewMapControl());	   	
		  
 		//map.removeOverlay(marker);
		
		PositionnePoints (param, 1, modecarto);
		
		if (document.getElementById("chargementEnCours"))
			document.getElementById("chargementEnCours").style.display = "none";		
		
	}
}


//Recuperation des coordonnees et des infos
function PositionnePoints (param, setcenter, modecarto)
{	
	var urlxml = "";
	//document.write(param);
	if (modecarto == "lei")
		urlxml = "/fr/GetXMLGoogleMapLEI.asp?" + param; 
	else
		urlxml = "/fr/GetXMLGoogleMapV2.asp?" + param; 
		
		//alert(urlxml);
		

	GDownloadUrl(urlxml, function(data, responseCode) 
	{		
	
		var xml = GXml.parse(data); 
	
		if (setcenter==1)
		{
			var infos = xml.documentElement.getElementsByTagName("markers"); 
			var val_maptype = eval(xml.documentElement.getAttribute("maptype"));
			var val_GLargeMapControl = xml.documentElement.getAttribute("GLargeMapControl");
			var val_GMapTypeControl = xml.documentElement.getAttribute("GMapTypeControl");
			var val_GOverviewMapControl = xml.documentElement.getAttribute("GOverviewMapControl");
			var zoom = xml.documentElement.getAttribute("zoom");	
			
					
		}	
		
		var bounds = new GLatLngBounds;
						
		var markers = xml.documentElement.getElementsByTagName("marker"); 

					
		var mespoints = new Array(markers.length);			
		
		if (markers.length==0)
			$("map").hide();
		
		//ajout juan le 26/11/2008 : afficher les résultats
		_length = markers.length;
		var _texte = null;
		switch (_length)
		{
		    case 0:
		        _texte = "Aucun r&eacute;sultat n'a &eacute;t&eacute; trouv&eacute;";
		        break;
		    
		    case 1:
		        _texte = "Afficher <span style='font-weight:bold;'>le seul r&eacute;sultat </span>"; 
		        break;
		        
		    default:
                _texte = "Afficher les <span style='font-weight:bold;'>" +_length+ " r&eacute;sultats</span>";
                break;
		}
		
		if (modecarto == "lei") 
    		document.getElementById("afficher").innerHTML = _texte;
		
		for (var i = 0; i < markers.length; i++) 
		  {			  	 		  	  
 			  picto = markers[i].getAttribute("picto");	 

			  texte = markers[i].textContent;	  			  

			  //Bug IE - il ne connait pas textContent
			  if (!texte)
			  {			  
				  texte = markers[i].xml;
				  texte = texte.replace("]]>", "");				
			  }
			  
			  texte = "<table><tr><td><div class='infospoints'>" + texte + "</div></td></tr></table>"
	  		  var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),  parseFloat(markers[i].getAttribute("lng")));

			  bounds.extend(point);		  
			  mespoints[i] = point;
			  
			  if (i==0)
			  {
			  	 var pointcentre = point;
				 centreurl = point.toUrlValue();
			  }
			  
			  //on charge la carte et centre si necessaire sur le premier point
			  if (i==0 && setcenter==1)
			  {
				  map.setCenter(point, parseInt(zoom), val_maptype);				  
			  }
			  
			  //positonnement du point courant
			  map.addOverlay(createMarker(point, texte, picto));
		  }		 
		  
		  //si plusieurs points - zoom auto et recentrage (que en mode liste ?)
		  if (markers.length>1 && setcenter!=2)
		  {			   		  
			  //on determine le zoom en fonction des points a afficher
			  var newzoom = map.getBoundsZoomLevel(bounds);		  
		  	  newzoom--;
		  	  if (modecarto == "lei")
		  	    newzoom = newzoom + 1;

		  	  //alert(newzoom);
		  	  map.setZoom(newzoom);
			   
			  //on recentre par rapport a ces points que en mode liste !
			  var centre = bounds.getCenter();
			  map.setCenter(centre);
			 // map.panTo(centre);

		  }
		  
		 if (document.getElementById("chargementEnCours") != null)   document.getElementById("chargementEnCours").style.display = "none";				  
		  		 
	}); 

}


// placement un point sur la carto + layer sur mouseover
function createMarker(point, texte, picto) 
{        
    // Create our "tiny" marker icon
    // les pictos sont renseignes dans GetXMLGoogleMapV2.asp 
    var icon = new GIcon();
	
	if (picto=="") 
	    icon.image = "/design/pictos/icones_standard.png";
	else
	    icon.image = "/design/pictos/" + picto;	
		
	icon.iconSize = new GSize(25, 25);
	icon.shadowSize = new GSize(22, 20);
	icon.iconAnchor = new GPoint(6, 20);
	icon.infoWindowAnchor = new GPoint(5, 1);
		
    icon.shadow = "/design/mm_20_shadow.png";

    var marker = new GMarker(point, icon);
	
    GEvent.addListener(marker, "mouseover", function() {marker.openInfoWindowHtml(texte); });  
    return marker;
}  




