﻿var _length = null;
var mylg = "fr";
var mycpt = 0
var map = null;
var centreurl = null; 
var mybounds = null;
var current_info = null;
var markersArray = [];

 
function closeff(mlink, url_site)
{
	if (top.opener)
	{
		top.opener.location.href=mlink;
		//if (window.name!="principal")
		window.close();
	}
}
 
 
 function clearOverlays() {
  if (markersArray) {
    for (i in markersArray) {
      markersArray[i].setMap(null);
    }
  }
}

 
function aproximite (obj, query)
{	
	if ($("#chargementEnCours"))
		$("#chargementEnCours").show();	

	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;
  
	PositionnePoints (param, 1, 'approx');
}
 
function loadcarto(param, modecarto, wmylg) 
{
	var latlng = new google.maps.LatLng(45.1623,1.5322);
	var myOptions = {
		zoom: 1,
		mapTypeId: google.maps.MapTypeId.ROADMAP,
		scaleControl: true
	};

	map = new google.maps.Map(document.getElementById("map"), myOptions);

	mylg = wmylg;	

	mybounds = new google.maps.LatLngBounds();

	PositionnePoints (param, 1, modecarto);

	if ($("#chargementEnCours")){
		$("#chargementEnCours").hide()
	};
}



//Recuperation des coordonnees et des infos
function PositionnePoints (param, setcenter, modecarto)
{	
	if (modecarto == "lei")
		var urlxml = "/fr/GetXMLGoogleMapLEI.asp?" + param; 
	else
		var urlxml = "/fr/GetXMLGoogleMapV2.asp?" + param; 


	jQuery.ajax( {
    type: "GET",
    url: urlxml,
    dataType: "xml",
    error:function (xhr, ajaxOptions, thrownError)
      {
        //alert(urlxml);
        //alert(xhr.status);
        //alert(thrownError);
      },
    success: function(xml) 
      {
        var k = 0;
        jQuery(xml).find('marker').each(
          function() {				
            k = k + 1;
            var latitude = jQuery(this).attr('lat');
            var longitude = jQuery(this).attr('lng');
            var point = new google.maps.LatLng(latitude, longitude);
            var picto = jQuery(this).attr('picto');	
            texte = jQuery(this).text();
            
            createMarker(point, texte, picto);
            
            mybounds.extend(point);	
            
            if (k==1)
              centreurl = latitude + "," + longitude;
          }
        );
        
        //alert(mybounds.toString());
        var largeur = mybounds.getNorthEast().lat() - mybounds.getSouthWest().lat();
        var hauteur = mybounds.getNorthEast().lng() - mybounds.getSouthWest().lng();
        
        if(largeur < 0.0001 || hauteur < 0.0001) {
          mybounds.extend(new google.maps.LatLng(mybounds.getNorthEast().lat() + 0.004, mybounds.getNorthEast().lng() + 0.004));
          mybounds.extend(new google.maps.LatLng(mybounds.getSouthWest().lat() - 0.004, mybounds.getSouthWest().lng() - 0.004));
        }
        
        map.fitBounds(mybounds);
        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) 
{ 

	var infowindow = null;	
	if (picto=="")
		var image = new google.maps.MarkerImage('/design/pictos/icones_standard.png');
	else
		var image = new google.maps.MarkerImage('/design/pictos/' + picto);
		
	var marker = new google.maps.Marker({
    position: point,
    map: map,
    icon: image
  });
	
	mycpt = mycpt + 1;

	markersArray.push(marker);
  
  var infowindow = new google.maps.InfoWindow({
    content : '<div class="gmap_tip_container">'+texte+'</div>'
  });
	
	google.maps.event.addListener(marker, 'click', function() 
	{
		if( current_info != null )
			current_info.close();
      
    infowindow.open(map,marker);
    current_info = infowindow;
	});
  
	return marker;
}  





