/*
 * thetoy
 * Copyright(c) 2007, Tony Fradin.
 */
var G_ZoomPoint = 13;

var G_StrokeWeight = 2;
var G_StrokeOpacity = 0.4; 
var G_FillOpacity = 0.6;

var tooltip;
var big_tooltip;

function loadingPane(channel,message)
{
	messages[channel]=message;
	
	// init any vars that aren't set to make comparisons easier
	if (!messages['init'])
	{
		messages['init']='';
	}
	if (!messages['plot'])
	{
		messages['plot']='';
	}
	var tmpstr = '';
	if (messages['init'] != '')
	{    // if there is an initialising message
		tmpstr += messages['init']+"<br>";
	}
	if (messages['plot'] != '')
	{    // if there is an plotting message
		tmpstr += messages['plot']+"<br>";
	}
	
	document.getElementById("div_loading").innerHTML = '<div style="position: relative;top: 100px;width:200px align:left" class="forumline gen"><b>'+tmpstr+'<img src="images/loading.gif"></b></div>';
	document.getElementById("div_loading").style.visibility="visible";
	//document.getElementById("div_loading").visibleStyle = 'position: relative; top: -55%; background-color: #9999cc; width: 40%; text-align: center; margin-left: auto; margin-right: auto; padding: 2em; border: 0.08in ridge #9999cc; z-index: 100; opacity: .75; filter: alpha(opacity=75);';
	
	if (messages['init'] != '' || messages['plot'] != '')
	{
		document.getElementById("div_loading").style.visibility="visible";
	} 
	else 
	{
		document.getElementById("div_loading").style.visibility="hidden";
	}
} 

// fonction d'affichage de la carte Google Maps
// Paramètres : 
// 		map : reference au nom de la map sur la page web
//		Latitude : latitude du point sur lequel centrer la carte
//		Longitude: longitude du point sur lequel centrer la carte
//		ZoomIni  : valeur du zoom initial sur la carte
//		ZoomMax  : valeur du zoom max 
function load(map, name_div_map,Latitude,Longitude,ZoomIni) 
{
	if (GBrowserIsCompatible()) 
	{
	    map.enableContinuousZoom();
	    map.enableDoubleClickZoom();
     // ====== Restricting the range of Zoom Levels =====
      // Get the list of map types      
      var mt = map.getMapTypes();
      // Overwrite the getMinimumResolution() and getMaximumResolution() methods
      map.addControl(new GLargeMapControl());
      map.addControl(new GMapTypeControl());
      //map.setCenter(new GLatLng(Latitude,Longitude), ZoomIni,G_SATELLITE_MAP);  
      //map.setCenter(new GLatLng(Latitude,Longitude), ZoomIni);
      map.setCenter(new GLatLng(Latitude,Longitude), ZoomIni,G_HYBRID_MAP);  
      //map.setCenter(new GLatLng(Latitude,Longitude), ZoomIni,G_PHYSICAL_MAP);
			
 	 }		
  else 
  	alert("Désolé, votre navigateur ne supporte pas l'affichage de Google Maps");
}

function PlacePointSansInfos(map, point, zoom)
{
	map.setCenter(point,zoom);
//  var marker = new GMarker(point);
  
	marker = new GMarker(point, {icon: new GIcon(G_DEFAULT_ICON), draggable: true});
			  map.addOverlay(marker);
  return(marker);
}

function PlacePointSansInfosDragDrop(map, point, zoom, message)
{
	map.setCenter(point,zoom);
	marker = new GMarker(point, {icon: new GIcon(G_DEFAULT_ICON), draggable: true});
			
	GEvent.addListener(marker, "dragstart", function() {
  });
			
	GEvent.addListener(marker, "dragend", function() {
			$("#lat").val(marker.getPoint().lat());
			$("#lng").val(marker.getPoint().lng());
			alert(message);
		 });
  map.addOverlay(marker);
  return(marker);
}

function getXhr() 
{ 
	var xhr = null; 
	if(window.XMLHttpRequest) // Firefox et autres 
		xhr = new XMLHttpRequest(); 
	else if(window.ActiveXObject) 
	{ //Internet Explorer 
		try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } 
		catch (e) 
		{
			xhr = new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
	} 
	else 
	{ // XMLHttpRequest non supporté par le navigateur 
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
		xhr = false; 
	} 
	return xhr; 
}

function OpenDetailEvenement2(marker,map,url_contenu,couleur,id_evenement) 
{
	var xhr = getXhr(); // On défini ce qu'on va faire quand on aura la réponse 
	//alert("ici");
	xhr.onreadystatechange = function() 
	{ // On ne fait quelque chose que si on a tout reçu et que le serveur est ok 

		if(xhr.readyState == 4 && xhr.status == 200)
		{ 
			tmp = xhr.responseText; // On se sert de innerHTML pour rajouter les options a la liste 
			marker.openInfoWindowHtml(tmp);
		} 
		else return("");
	}
	// Ici on va voir comment faire du post
	xhr.open("POST",url_contenu,true); // ne pas oublier ça pour le post 
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// ne pas oublier de poster les arguments 
	// ici, l'id de l'auteur 

	xhr.send("id_evenement="+id_evenement); 	
}

function classique(marker,b) {
  return 1;
}
function commercial(marker,b) {
  return 2;
}

function PlacePointAvecInfos2(map, point, zoom, icone, couleur, url_detail,typefcn)
{
	if(icone!='')
	{
		icon = new GIcon();
		icon.image = "images/icones/"+icone;
		//icon.image = "../images/boutons/maison.jpg";
		icon.iconSize = new GSize(23, 33); // taille de l'icone
		icon.iconAnchor = new GPoint(12, 33);
		icon.infoWindowAnchor = new GPoint(10, 10);
		if(typefcn==1)
	  	var marker = new GMarker(point,{icon:icon,clickable:true,zIndexProcess:classique});
	  else if(typefcn==2)
	  	var marker = new GMarker(point,{icon:icon,clickable:true,zIndexProcess:commercial});	  
	}
	else
		var marker = new GMarker(point);
	
	//var marker = new GMarker(point,icon);
  map.addOverlay(marker);

  GEvent.addListener(marker,"click", function() {
     
     GDownloadUrl(url_detail, function(data) {
				var str = "<div class='info'>";
        marker.openInfoWindowHtml(str + data +"</div");
	      });
	  }); 

  map.setCenter(point,zoom);
  
  return(marker);
}

function PlacePointAvecInfos(map, point, zoom, icone, couleur, url_detail,typefcn)
{
	if(icone!='')
	{
		icon = new GIcon();
		icon.image = "images/icones/"+icone;
		//icon.image = "../images/boutons/maison.jpg";
		icon.iconSize = new GSize(23, 33); // taille de l'icone
		icon.iconAnchor = new GPoint(12, 33);
		icon.infoWindowAnchor = new GPoint(10, 10);
		if(typefcn==1)
	  	var marker = new GMarker(point,{icon:icon,clickable:true,zIndexProcess:classique});
	  else if(typefcn==2)
	  	var marker = new GMarker(point,{icon:icon,clickable:true,zIndexProcess:commercial});	  
	}
	else
		var marker = new GMarker(point);
	
	//var marker = new GMarker(point,icon);
  map.addOverlay(marker);

  GEvent.addListener(marker,"click", function() {
     
     GDownloadUrl(url_detail, function(data) {
				var str = "<div class='info'>";
        marker.openInfoWindowHtml(str + data +"</div");
	      });
	  }); 

  
  return(marker);
}

