////////////////////////////////////////////////////////////////////////
// 									                                  //
//                                 icomap.js							  //	 
//          script pour l'API GMap pour l'Annuaire Friture.net        //
//            adaptation : ïco -- http://thomjacq.free.fr             //
//                                                                    //
////////////////////////////////////////////////////////////////////////


// déclaration des variables pour la map //
	var NumCompt;
	var deflat = 43.82302;
	var deflng = 1.725;
	var defzoom = 8;
	var container;
	var marrqueur=0;
	var essai;
	var map;
	var mgr
	var centerPoint = new GLatLng(deflat,deflng);
	var gmarkers = [];
    var i = 0;
	var geocoder = null;

// déclaration des variables pour les items à cartoraphier //
	var nbars = 0; //
	var nbiblis = 0;
	var nboulangs = 0;
	var ncreches = 0;
	var ndancings = 0;
	var ncines = 0;
	var necoles = 0;
	var ngarags = 0;
	var nhotels = 0;
	var nlibrairs = 0;
	var ntoubibs = 0;
	var nmediaths = 0;
	var nparkings = 0;
	var npiscines = 0;
	var npresses = 0;
	var nrestaus = 0;
	var nmusees = 0;
	var nstations = 0;
	var ntabacs = 0;
	var naidestruct = 0;
	var neducpop = 0;
	var nmedicosocial = 0;
	var nmigration = 0;
	var nsoliarite = 0;
	var nagriculture = 0;

	var depDist = 'Toulouse';
	var oDepDist = null;




//////////////////////////////////////////
// mise en forme des icones de la carte //
//////////////////////////////////////////

	var iconData = {
	  "fr": { width: 50, height: 33 },
	  "flag-shadow": { width: 40, height: 30 },
	  "marker_multi": { width: 25, height: 23 },
	  "flag-shadow": { width: 30, height: 23 },
	  "marker_1": { width: 32, height: 32 },	  
	  "marker_2": { width: 32, height: 32 },
	  "marker_3": { width: 32, height: 32 },
	  "marker_4": { width: 32, height: 32 },
	  "marker_5": { width: 32, height: 32 },	  
	  "marker_6": { width: 32, height: 32 },
	  "marker_7": { width: 32, height: 32 },
	  "marker_8": { width: 32, height: 32 },
	  "marker_9": { width: 32, height: 32 },	  
	  "marker_10": { width: 32, height: 32 },
	  "marker_11": { width: 32, height: 32 },
	  "marker_12": { width: 32, height: 32 },
	  "marker_13": { width: 32, height: 32 },	  
	  "marker_14": { width: 32, height: 32 },
	  "marker_15": { width: 32, height: 32 },
	  "marker_16": { width: 32, height: 32 },
	  "marker_17": { width: 32, height: 32 },	  
	  "marker_18": { width: 32, height: 32 },	  
	  "marker_19": { width: 32, height: 32 },	  
	  "marker_20": { width: 32, height: 32 },	  
	  "marker_21": { width: 32, height: 32 },	  
	  "marker_22": { width: 32, height: 32 },	  
	  "marker_23": { width: 32, height: 32 },	  
	  "marker_24": { width: 32, height: 32 },	  
	  "marker_25": { width: 32, height: 32 },
 	  "markerfrit": { width: 32, height: 32 },	  
	  "movies": { width: 32, height: 32 },
	  "shadow": { width: 59, height: 32 }
	};
	
	var baseIcon = new GIcon();
	baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
	baseIcon.iconSize = new GSize(25, 34);
	baseIcon.shadowSize = new GSize(37, 34);
	baseIcon.iconAnchor = new GPoint(9, 34);
	baseIcon.infoWindowAnchor = new GPoint(9, 2);
	baseIcon.infoShadowAnchor = new GPoint(18, 25);
	
	
// Afficher la barre de charegement le temps que l'on récupère les marqueur //
// selon les items cochés dans la div 'optionbar' //	
$(document).ready(function(){   
	tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
	imgLoader = new Image();// preload image
	imgLoader.src = tb_pathToImage;
	$('#hideshow label').click(function(){addMarkersForRegion();});
	$('#tri label').click(function(){addMarkersForRegion();});
});




//////////////////////////////////////////////////////////////////////////////////////////////////
// Fonction addMarkersForRegion                                                                 //
// construire la requette et rechercher les marquer présents sur la carte et les                //
// afficher dans la div 'résult'                                                                //
//////////////////////////////////////////////////////////////////////////////////////////////////
function addMarkersForRegion(varnuma,varlat,varlng,vartype){
	$('#results').empty();
	$('#results').append('<div ><p align="center"><img src="/geo/loading.gif" width="20" height="20"></p><p align="center">Merci de patienter pendant le chargement...</p></div>');
	var lecentre = map.getCenter();

	if (oDepDist === null){
	 essai = centerPoint;
	}
	if (oDepDist !== null){
	 essai = oDepDist;
	}
	
	var bounds = map.getBounds();
	var southWest = bounds.getSouthWest();
	var northEast = bounds.getNorthEast();
	var getVars = 'ne=' + northEast.toUrlValue() + '&sw=' + southWest.toUrlValue();

// recherche des item cochés dans la div 'optionbar'
	if(document.getElementById("type1").checked){getVars += '&type1=1';}else{getVars += '&type1=0';}
	if(document.getElementById("type2").checked){getVars += '&type2=2';}else{getVars += '&type2=0';}
	if(document.getElementById("type3").checked){getVars += '&type3=3';}else{getVars += '&type3=0';}
	if(document.getElementById("type4").checked){getVars += '&type4=4';}else{getVars += '&type4=0';}
	if(document.getElementById("type5").checked){getVars += '&type5=5';}else{getVars += '&type5=0';}
	if(document.getElementById("type6").checked){getVars += '&type6=6';}else{getVars += '&type6=0';}
	if(document.getElementById("type7").checked){getVars += '&type7=7';}else{getVars += '&type7=0';}
	if(document.getElementById("type8").checked){getVars += '&type8=8';}else{getVars += '&type8=0';}
	if(document.getElementById("type9").checked){getVars += '&type9=9';}else{getVars += '&type9=0';}
	if(document.getElementById("type10").checked){getVars += '&type10=10';}else{getVars += '&type10=0';}
	if(document.getElementById("type11").checked){getVars += '&type11=11';}else{getVars += '&type11=0';}
	if(document.getElementById("type12").checked){getVars += '&type12=12';}else{getVars += '&type12=0';}
	if(document.getElementById("type13").checked){getVars += '&type13=13';}else{getVars += '&type13=0';}
	if(document.getElementById("type14").checked){getVars += '&type14=14';}else{getVars += '&type14=0';}
	if(document.getElementById("type15").checked){getVars += '&type15=15';}else{getVars += '&type15=0';}
	if(document.getElementById("type16").checked){getVars += '&type16=16';}else{getVars += '&type16=0';}
	if(document.getElementById("type17").checked){getVars += '&type17=17';}else{getVars += '&type17=0';}
	if(document.getElementById("type18").checked){getVars += '&type18=18';}else{getVars += '&type18=0';}
	if(document.getElementById("type19").checked){getVars += '&type19=19';}else{getVars += '&type19=0';}
	if(document.getElementById("type20").checked){getVars += '&type20=20';}else{getVars += '&type20=0';}
	if(document.getElementById("type21").checked){getVars += '&type21=21';}else{getVars += '&type21=0';}
	if(document.getElementById("type22").checked){getVars += '&type22=22';}else{getVars += '&type22=0';}
	if(document.getElementById("type23").checked){getVars += '&type23=23';}else{getVars += '&type23=0';}
	if(document.getElementById("type24").checked){getVars += '&type24=24';}else{getVars += '&type24=0';}
	if(document.getElementById("type25").checked){getVars += '&type25=25';}else{getVars += '&type25=0';}

// recherche quelle option des 'Points de Vente Friture' ou des 'Alternatives' est cochée et quel filtre appliquer //
	if(document.getElementById("typedistrifrit").checked){getVars += '&typedistri=1';}else{getVars += '&typedistri=0';}
	if(document.getElementById("typedistrialt").checked){getVars += '&typedistri=0';}else{getVars += '&typedistri=1';}		

// recherche quelle option de tri est sélectionnée et quel tri appliquer //
	if(document.getElementById("tri_dist").checked){getVars += '&tri_dist=1';}else{getVars += '&tri_dist=0';}
	if(document.getElementById("tri_alpha").checked){getVars += '&tri_alpha=1';}else{getVars += '&tri_alpha=0';}
	if(document.getElementById("tri_type").checked){getVars += '&tri_type=1';}else{getVars += '&tri_type=0';}	
	//getVars += '&lecentre='+ lecentre.toUrlValue() ;
	getVars += '&essai='+ essai.toUrlValue() ;
	
	if (!varnuma){
		//alert ("test varnuma" + varnuma);
		var url = 'inc/json.php?'+getVars;
	}
	else {
		//alert ("test varnuma2varnuma,varlat,varlng,vartype");
		//map.setZoom(7);
		var checkboxtype = document.getElementById('type'+vartype);
		checkboxtype.checked = true;
		map.setCenter(new GLatLng(varlat, varlng), 13);(varlat,varlng);
		var getVars2 = "id="+varnuma;
		var url = 'inc/json.php?'+getVars2;
		setTimeout(" var lllll ='';",2000);
	
	}
// déclaration de l'adresse du script php qui interroge la base //	
	//var url = 'inc/json.php?'+getVars;
	
// envoie la requette au script php et récupère les données     //	
	GDownloadUrl(url, function(data, responseCode) {
		if(responseCode == 200) {
			mgr.clearMarkers();
			gmarkers = [];
			////////////////////////////////////________________________   modifs ici suivant le nb______________________________//////////////////////////////////////////////

	 nbars = 0;
	 nbiblis = 0;
	 nboulangs = 0;
	 ncreches = 0;
	 ndancings = 0;
	 ncines = 0;
	 necoles = 0;
	 ngarags = 0;
	 nhotels = 0;
	 nlibrairs = 0;
	 ntoubibs = 0;
	 nmediaths = 0;
	 nparkings = 0;
	 npiscines = 0;
	 npresses = 0;
	 nrestaus = 0;
	 nmusees = 0;
	 nstations = 0;
	 ntabacs = 0;		
//################################################################################################
	naidestruct = 0;
	neducpop = 0;
	nmedicosocial = 0;
	nmigration = 0;
	nsoliarite = 0;
	nexclusion = 0;
	nagriculture = 0;
//################################################################################################
	 
			var jscript = data;
			var points;
			eval(jscript);
			for (var i in officeLayer) {
				var layer = officeLayer[i];
				var allmarkers = [];
				
				var Numallmarkers = [];
				for (var j in layer["places"]) {
					var place = layer["places"][j];
					var marker = createMarker(place); 
					allmarkers.push(marker);
					//
					
					Numallmarkers.push(allmarkers[j].getPoint());
				}
				mgr.addMarkers(allmarkers, layer["zoom"][0], layer["zoom"][1]);
			}	/*
	var nbars = 0;
	var nbiblis = 0;
	var nboulangs = 0;
	var ncreches = 0;
	var ncines = 0;
	var ndancings = 0;
	var necoles = 0;
	var ngarags = 0;
	var nhotels = 0;
	var nlibrair = 0;
	var ntoubib = 0;
	var nmediath = 0;
	var nparkings = 0;
	var npiscines = 0;
	var npresses = 0;
	var nrestaus = 0;
	var nmusees = 0;
	var nstations = 0;
	var ntabacs = 0;*/
			mgr.refresh();
			////////////////////////////////////________________________   modifs ici suivant le nb______________________________//////////////////////////////////////////////
			$('#n_bars').empty();
			$('#n_biblis').empty();
			$('#n_boulangs').empty();
			$('#n_creches').empty();
			$('#n_cines').empty();
			$('#n_dancings').empty();
			$('#n_ecoles').empty();
			$('#n_garags').empty();
			$('#n_librairs').empty();
			$('#n_hotels').empty();
			$('#n_toubibs').empty();
			$('#n_mediaths').empty();
			$('#n_parkings').empty();
			$('#n_piscines').empty();
			$('#n_presses').empty();
			$('#n_restaus').empty();
			$('#n_musees').empty();
			$('#n_stations').empty();
			$('#n_tabacs').empty();
			
//################################################################################################
	$('#n_aide_structures').empty();
	$('#n_education_poulaire').empty();
	$('#n_medico_social').empty();
	$('#n_migration').empty();
	$('#n_exclusion').empty();
	$('#n_soliarite').empty();
	$('#n_agriculture').empty();
//################################################################################################

			////////////////////////////////////________________________   modifs ici suivant le nb______________________________//////////////////////////////////////////////
			nbars = '('+nbars+')';
			nbiblis = '('+nbiblis+')';
			nboulangs = '('+nboulangs+')';
			ncreches = '('+ncreches+')';
			ncines = '('+ncines+')';
			ndancings = '('+ndancings+')';
			necoles = '('+necoles+')';
			ngarags = '('+ngarags+')';
			nlibrairs = '('+nlibrairs+')';
			nhotels = '('+nhotels+')';
			ntoubibs = '('+ntoubibs+')';
			nmediaths = '('+nmediaths+')';
			nparkings = '('+nparkings+')';
			npiscines = '('+npiscines+')';
			npresses = '('+npresses+')';
			nrestaus = '('+nrestaus+')';
			nmusees= '('+nmusees+')';
			nstations= '('+nstations+')';
			ntabacs = '('+ntabacs+')';
			
//################################################################################################
	naidestruct = '('+naidestruct+')';
	neducpop = '('+neducpop+')';
	nmedicosocial = '('+nmedicosocial+')';
	nmigration = '('+nmigration+')';
	nsoliarite = '('+nsoliarite+')';
	nexclusion = '('+nexclusion+')';
	nagriculture = '('+nagriculture+')';
//################################################################################################
			
			
			////////////////////////////////////________________________   modifs ici suivant le nb______________________________//////////////////////////////////////////////
			$('#n_bars').append(nbars);
			$('#n_biblis').append(nbiblis);
			$('#n_boulangs').append(nboulangs);
			$('#n_creches').append(ncreches);
			$('#n_cines').append(ncines);
			$('#n_dancings').append(ndancings);
			$('#n_ecoles').append(necoles);
			$('#n_garags').append(ngarags);
			$('#n_librairs').append(nlibrairs);
			$('#n_hotels').append(nhotels);
			$('#n_toubibs').append(ntoubibs);
			$('#n_mediaths').append(nmediaths);
			$('#n_parkings').append(nparkings);
			$('#n_piscines').append(npiscines);
			$('#n_presses').append(npresses);
			$('#n_restaus').append(nrestaus);
			$('#n_musees').append(nmusees);
			$('#n_stations').append(nstations);
			$('#n_tabacs').append(ntabacs);
//################################################################################################
			$('#n_aide_structures').append(naidestruct);
			$('#n_education_poulaire').append(neducpop);
			$('#n_medico_social').append(nmedicosocial);
			$('#n_migration').append(nmigration);
			$('#n_soliarite').append(nsoliarite);
			$('#n_exclusion').append(nexclusion);
			$('#n_agriculture').append(nagriculture);

//################################################################################################
			
			makeSidebar();
			
// gestion le l'affichage des résutats en fonction de 'responseCode'	//		
		} else if(responseCode == -1) {
			$('#results').empty();
			$('#results').append('<p class="errorField"><strong>Erreur lors de la mise &eagrave; jour des points. Veuillez r&eacute;essayer plus tard.</strong></p>');
		} else { 
			$('#results').empty();
			$('#results').append('<p class="errorField"><strong>Erreur lors de la mise &agrave; jour des points. Veuillez r&eacute;essayer plus tard.</strong></p>');
		}
	

// gestion de la div 'maxresult' en fonction du nombre d'enregistrements renvoyé par la requette 	//
			if (NumCompt ==-1){
			$('#maxresult').empty();
			$('#maxresult').append('<p class="loadingP">Pour commencer, recherchez une ville ou cochez des rubriques dans les cat&eacute;gories ci contre. <br /> Vous pouvez aussi rechercher une structure par son nom dans la case Qui ?</p>');
			}
			if (NumCompt ==1){
			$('#maxresult').empty();
			}
	});		
}

/////////////////////////////////////////////////////////////////////////////////////////////////////
// fonction createMarker                                                                           //
// cree les marqueurs avec leurs zones d'infos + infos sidebar                                     //
/////////////////////////////////////////////////////////////////////////////////////////////////////
function createMarker(infos) {
	var icon = getIcon(infos.icon, infos.type, infos.nbpoints, infos.type2);
	var point = new GLatLng(infos.lat,infos.lng);
	/////////////////////////////////////////////
	if (oDepDist === null){
	var distanceNuma = (point.distanceFrom(map.getCenter())/1000).toFixed(3);
	}
	if (oDepDist !== null){
	var distanceNuma = (point.distanceFrom(oDepDist)/1000).toFixed(3);
	}
	//////////////////////////////////////////////////		
	var marker = new GMarker(point, {title: infos.nom+', '+infos.adresse, icon: icon});
	if(infos.type=='98'){
		marker.address = infos.adresse;
		GEvent.addListener(marker, 'click', function() {
			$("#results li").removeClass("selected-result");
			$("#"+infos.li).addClass("selected-result");
			map.setCenter(point, 4);
			addMarkersForRegion();
		});
	}else if(infos.type=='99'){
		if(infos.type2=='99'){
			marker.address = infos.adresse;
			GEvent.addListener(marker, 'click', function() {
				//$("#results li").removeClass("selected-result");
				//$("#"+infos.li).addClass("selected-result");
				map.setCenter(point, 15);
				addMarkersForRegion();
			});
		}else{
			var tel = ''; var fax = ''; var site = '';var image1 = ''; var activitesimplif = '';
			var bloc1 = "<p><a href='ficheComm.php?height=450&width=700&id_lieu="+infos.id+"' title='"+infos.nom+"' class='thickbox' onclick='tb_show(this.title, this.href, \"\"); return false;'>";
//gestion des commentaires 	//		
			if(infos.nbComm>0){
				bloc1+="Voir les commentaires</a></p>";
			}else{
				bloc1+="Ajouter un commentaire</a></p>";
			}
			bloc1="<p>Actuellement "+infos.nbComm+" commentaires sur ce lieu</p>"+bloc1;
// fin de gestion des commentaires //			
			if(infos.tel!=''){ tel="Tel : "+infos.tel+"<br />";}
			if(infos.fax!=''){fax="Fax : "+infos.fax+"<br />";}
			if(infos.site!=''){site="Site : <a href='"+infos.site+"' target='_blank'>"+infos.site+"</a><br />";}
			
			bloc1="<div id='description'><p class='titre"+infos.type2+"'><img src='img/titre_"+infos.type2+".png' />"+infos.nom+"</p><p class='adresse'>"+infos.adresse+"<br />"+infos.cp+" "+infos.ville+"</p><p class='infos'>"+tel+" "+fax+" "+site+" "+activitesimplif+" "+image1+"</p><div class='comm'>"+bloc1+"</div></div>";
			var focusPoint = function() {
				$("#results li").removeClass("selected-result");
				$("#"+infos.li).addClass("selected-result");
				marker.openInfoWindow(bloc1);
			}
			GEvent.addListener(marker, 'click', focusPoint);
			marker.address = infos.adresse;
		}
	}else{
	
		var tel = ''; var fax = ''; var mail = '';var site = '';var datecrea = '';var image1 = '';var image2 = '';var image3 = ''; var activitesimplif = '';var activitedetail = '';
		var bloc1 = "";
		/*if(infos.nbComm>0){
			bloc1+="Voir les commentaires</a></p>";
		}else{
			bloc1+="Ajouter un commentaire</a></p>";
		}
		bloc1="<p>Actuellement "+infos.nbComm+" commentaires sur ce lieu</p>"+bloc1;*/
		if(infos.tel!=''){ tel="Tél : "+infos.tel+"<br />";}
		if(infos.fax!=''){fax="Fax : "+infos.fax+"<br />";}
	    //if(infos.activitesimplif!=''){activitesimplif="Activité simplifiée : "+infos.activitesimplif+"<br />";}
		if(infos.mail!=''){mail="<br />Mail : <a href='mailto:"+infos.mail+"'>"+infos.mail+"</a><br />";}
		if(infos.site!=''){site="Site : <a href='"+infos.site+"' target='_blank'>"+infos.site+"</a><br />";}
		if(infos.activitesimplif!=''){activitesimplif="<br /><br /><br /><u><b>Activité simplifiée :</b></u><br />"+infos.activitesimplif+"<br />";}
		if(infos.activitedetail!=''){activitedetail="<br /><u><b>Activité détaillée :</b></u>"+infos.activitedetail+"<br />";}
		if(infos.datecrea!=''){datecrea="<u><b>Date de création :</b></u> "+infos.datecrea+"<br />";}
		if(infos.image1!=''){image1="<br /><div style='float:left;margin-right:10px;'><img src='lib/upload/"+infos.image1+"'  /><br /></div>";}
		if(infos.image2!=''){image2="<br /><div id='gallery'><a target='_self' href='lib/upload/"+infos.image2+"' title='' onmouseover=\"immg();\" ><img src='lib/upload/"+infos.image2+"'  /> </a></div>	<br />";}
			//	onmouseover="immg();"
		
		if(infos.image3!=''){image3="<br /><div id='gallery2'><a target='_self' href='lib/upload/"+infos.image3+"' title='' onmouseover=\"immg();\" ><img src='lib/upload/"+infos.image3+"'  /> </a></div>	<br />";}
		


		 var maxContent = //'le super test</br><a href="#" onclick="map.getInfoWindow().restore();">restorer &gt;&gt;</a></br>'+
		 "<div id='description'>"+image1+"<div style='float:left'><p class='titre'>"+infos.nom+"</p><p class='adresse'>"+infos.adresse+"<br /></p><p class='infos'> "+tel+" "+fax+" "+mail+""+site+" </div><div style='clear:both'>"+activitesimplif+" "+activitedetail+"  "+image2+" "+//image3+""+datecrea+" </p></div></div>";
image3+""+datecrea+" </p></div></div><scr"+"ipt type='text/javasc"+"ript'>//$.ImageBox.init();	</scr"+"ipt>";
//$.ImageBox.init({loaderSRC: 'interface/loading.gif',closeHTML: '<img src="interface/lightbox-btn-close.gif" />'});		 


		 //$("p").click( function() { alert("Hello"); } );
		 /*
		 ="map.getInfoWindow().maximize();setTimeout( " $(="" #galleryy="" ).animate({="" opacity="" :="" hide="" },2000,="" easeoutquart="" );="" ,2000);=""
		 setTimeout( '$("#galleryy").animate({"opacity": "hide"},2000,"easeOutQuart");',2000);
		 */
        var maxTitle = "<p class='titre'>"+infos.nom+"</p>";
		bloc1="<div id='description'><a href='#' onclick='map.getInfoWindow().maximize();'><p class='titre'><img src='img/marker_"+infos.type+".png' />"+infos.nom+"</p></a><p class='adresse'>"+infos.adresse+"<br /></p><p class='infos'>"+tel+" "+fax+" "+site+"</p><div class='comm'>"+bloc1+"</div>"+
				'<div id="maxx"><a href="#" onclick="map.getInfoWindow().maximize(); ">Cliquez ici pour plus d\'infos &gt;&gt;</a><br></div><br />'+
				'<div id="itineraire"><b>Itinéraire</b> vers ce lieu  : </div>'+
		    		'<form onsubmit="return false;">' +
			'Adresse de départ:<br />' + 
			'<input type="text" name="saddr" id="adressedepart" value="" style="width:200px,font-size:9px" ><br />' + 
			'<input type="submit" id="Itinéraire" value="Itinéraire" onclick=\'ddiir=document.getElementById("adressedepart").value; window.open(\"http://maps.google.fr/maps?f=d&hl=fr&saddr=\"+ encodeURI(ddiir) +\"&daddr='+infos.adresse+'\" )\'>' +
			'</form></div><br/><br/>'+		
		"</div><scr"+"ipt type='text/javasc"+"ript'>//$('img[@src*=\"iw_plus.gif\"]').click(function (){setTimeout( '$.ImageBox.init();	',800);});</scr"+"ipt><scr"+"ipt type='text/javasc"+"ript'>//$('#maxx').click(function (){setTimeout( '$.ImageBox.init();	',800);});</scr"+"ipt><scr"+"ipt type='text/javasc"+"ript'>//$('#description').click(function (){setTimeout( '$.ImageBox.init();	',800);});</scr"+"ipt>";
		//ddiir = $("#adressedepart").value;
		//infos.adresse+"<br />"+infos.cp+" "+infos.ville
		//$("#Itinéraire").click( function (){window.open("http://maps.google.fr/maps?f=d&hl=fr&saddr=\"+ encodeURI(ddiir) +\"&daddr='+ infos.adresse +'+'+ infos.ville +'" )});
		$("#itineraire").click( function (){$("itineraire").hide() });
		
		
		////////////////////////////////////________________________   focus point______________________________//////////////////////////////////////////////
		
		////////////////////////////////////________________________   focus point______________________________//////////////////////////////////////////////
		
		var focuspoint = function() {
		
		var numnum = infos.id -1;
								
							var lii = '#li'+numnum;
										$("#results li").removeClass("selected-result");
									
									
														
								//this one is important, many browsers don't reset scroll on refreshes
								$('div#side').scrollTo( 0 );//reset all scrollable panes to (0,0)
								$.scrollTo( 0 );//reset the screen to (0,0)


								//Target examples bindings
								var $paneTarget = $('#side');			

								//$('#relative-selector').click(function(){
								$paneTarget.stop().scrollTo( 'li:eq('+numnum+')', 800 );
								$(lii).addClass("selected-result",200);/**/
	//	});	

		
			/*$("#results li").removeClass("selected-result");
			$("#"+infos.li).addClass("selected-result");*/
			marker.openInfoWindowHtml(bloc1,
			{maxContent: maxContent,
             maxTitle: maxTitle}			);
			 
			 	//var scrpt = "<scr"+"ipt type='text/javasc"+"ript'>$(function() {$('#gallery a').lightBox();});</scr"+"ipt>";
			 //$("#gallery").appendTo( $("scrpt") );
		}
		GEvent.addListener(marker, 'click',focuspoint);
		marker.address = infos.adresse;
		switch (infos.type)
		////////////////////////////////////________________________   modifs ici suivant le nb______________________________//////////////////////////////////////////////
		{ case '1' : nbars++;
		     break
		   case '2' : nbiblis++;
		     break
		   case '3' : nboulangs++;
		     break
			case '4' : ncines++;
		     break
			case '5' : ncreches++;
		     break
		    case '6' : ndancings++;
		     break
		   case '7' : necoles++;
		     break
		   case '8' : ngarags++;
		     break
		   case '9' : nlibrairs++;
		     break
			case '10' : ntoubibs++
		     break
		    case '11' : nmediaths++;
		     break
		   case '12' : nparkings++;
		     break
		   case '13' : npiscines++;
		     break
			case '14' : npresses++;
		     break
			case '15' : nrestaus++
		     break
		    case '16' : nmusees++;
		     break
		    case '17' : nstations++;
		     break
		    case '18' : ntabacs++;
		     break
			case '19' : nhotels++;
		     break
//################################################################################################
			 
			case '20' : naidestruct++;
		     break
			case '21' : neducpop++;
		     break
			case '22' : nmedicosocial++;
		     break
			case '23' : nmigration++;
		     break
			case '24' : nsoliarite++;
		     break
			case '25' : nagriculture++;
		     break
//################################################################################################
			 
		   default	     : 

		}
	}
	/*
	var nbars = 0;
	var nbiblis = 0;
	var nboulangs = 0;
	var ncreches = 0;
	var ncines = 0;
	var ndancings = 0;
	var necoles = 0;
	var ngarags = 0;
	var nhotels = 0;
	var nlibrair = 0;
	var ntoubib = 0;
	var nmediath = 0;
	var nparkings = 0;
	var npiscines = 0;
	var npresses = 0;
	var nrestaus = 0;
	var nmusees = 0;
	var nstations = 0;
	var ntabacs = 0;*/

	

	marker.icon = icon.image;
	marker.type = infos.type;
	marker.name = infos.nom;
	//////////////////////////////////////////////////////////////
	marker.distanceNuma = distanceNuma;
	//////////////////////////////////////////////////////////////
	gmarkers.push(marker);
    return marker;
	
		
}
	
function load() {
	myLoading();
	resizeMap();
	geocoder = new GClientGeocoder();
    if (GBrowserIsCompatible()) {
		container = document.getElementById("map");
		map = new GMap2(container);
		window.onresize = function(){resizeMap();addMarkersForRegion();}
		map.setCenter(centerPoint, defzoom);
				var marrqueur = new GMarker(centerPoint, {draggable: false});
			   // Ajoutons le marqueur à la carte.
				//map.addOverlay(marrqueur);
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		map.addMapType(G_PHYSICAL_MAP);
		map.setMapType(G_PHYSICAL_MAP);
		map.addControl(new DragZoomControl({}, {backButtonEnabled: true}, {}), new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(70,23)));
		map.enableScrollWheelZoom();
		map.enableContinuousZoom();
		mgr = new MarkerManager(map);
		window.setTimeout(resizeMap, 0);
	}
	GEvent.addListener(map, "dragend", function() {
		addMarkersForRegion();
	});
	GEvent.addListener(map, "zoomend", function() {
		addMarkersForRegion();
	});
	GEvent.addListener(map, "infowindowclose", function() {
		//$("#results li").removeClass("selected-result");
	});
	addMarkersForRegion();
	window.setTimeout(endLoading, 500);
}



function makeSidebar() {
    var html = "";
	var h = 0;
//////////////////////
	/**/if(document.getElementById("tri_dist").checked || document.getElementById("tri_alpha").checked || document.getElementById("tri_type").checked || document.getElementById("typedistrifrit").checked || document.getElementById("typedistrialt").checked){//   
	var mlkjm = 1;}
	else {
	//gmarkers.sort(function (a,b) {return (a.distanceNuma - b.distanceNuma)}); 
	}
///////////////////////////////////
    for (var i=0; i<gmarkers.length; i++) {
        if (!gmarkers[i].isHidden()) {
			h++;
				if (oDepDist !== null){
					if (gmarkers[i].distanceNuma>=1){
						html += '<li id="li'+i+'" class="nonselected-result" style="background-image: url('+gmarkers[i].icon+'); background-repeat: no-repeat; background-position: top left;"><div class="resultinfo"><a class="linkicon-normal" href="javascript:myclick(' + i + ');"></a><a href="javascript:myclick(' + i + ');"><span class="title-1"><span id="title-'+i+'">'+gmarkers[i].name+'</span></span></a><span id="distance-'+i+'"><strong> à '+gmarkers[i].distanceNuma+' km de '+ depDist + '</strong></span><br /><span id="address-'+i+'">'+gmarkers[i].address+'</span></div></li>';
					}
					if (gmarkers[i].distanceNuma<1){
						html += '<li id="li'+i+'" class="nonselected-result" style="background-image: url('+gmarkers[i].icon+'); background-repeat: no-repeat; background-position: top left;"><div class="resultinfo"><a class="linkicon-normal" href="javascript:myclick(' + i + ');"></a><a href="javascript:myclick(' + i + ');"><span class="title-1"><span id="title-'+i+'">'+gmarkers[i].name+'</span></span></a><span id="distance-'+i+'"><strong> à '+(gmarkers[i].distanceNuma*1000)+' m de '+ depDist + '</strong></span><br /><span id="address-'+i+'">'+gmarkers[i].address+'</span></div></li>';
					}				
					}
				if (oDepDist === null){
			html += '<li id="li'+i+'" class="nonselected-result" style="background-image: url('+gmarkers[i].icon+'); background-repeat: no-repeat; background-position: top left;"><div class="resultinfo"><a class="linkicon-normal" href="javascript:myclick(' + i + ');"></a><a href="javascript:myclick(' + i + ');"><span class="title-1"><span id="title-'+i+'">'+gmarkers[i].name+'</span></span></a><br /><span id="address-'+i+'">'+gmarkers[i].address+'</span></div></li>';
				}
        }
    }
	$('#results').empty();
	$('#results').append(html);      
}

// This function picks up the click and opens the corresponding info window
function myclick(i) {
    GEvent.trigger(gmarkers[i], "click");
	/*var lii = '#li'+i;
				$("#results li").removeClass("selected-result");
			$(lii).addClass("selected-result");
			
								
		this one is important, many browsers don't reset scroll on refreshes
		$('div#side').scrollTo( 0 );//reset all scrollable panes to (0,0)
		$.scrollTo( 0 );//reset the screen to (0,0)


		Target examples bindings
		var $paneTarget = $('#side');			

		//$('#relative-selector').click(function(){
		$paneTarget.stop().scrollTo( 'li:eq('+i+')', 800 );*/
		//});	
}
	  
function myLoading() {
	if (typeof document.body.style.maxHeight === "undefined") {//if IE 6
		$("body","html").css({height: "100%", width: "100%"});
		$("html").css("overflow","hidden");
		if (document.getElementById("TB_HideSelect") === null) {//iframe to hide select elements in ie6
			$("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");
			$("#TB_overlay").click(tb_remove);
		}
	}else{//all others
		if(document.getElementById("TB_overlay") === null){
			$("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");
			$("#TB_overlay").click(tb_remove);
		}
	}
	
	if(tb_detectMacXFF()){
		$("#TB_overlay").addClass("TB_overlayMacFFBGHack");//use png overlay so hide flash
	}else{
		$("#TB_overlay").addClass("TB_overlayBG");//use background and opacity
	}
	$("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /></div>");//add loader to the page
	$('#TB_load').show();//show loader
}

function endLoading() {
	$("#TB_overlay").click();
}

// == shows all markers of a particular category, and ensures the checkbox is checked ==
function show(category) {
    for (var i=0; i<gmarkers.length; i++) {
        if (gmarkers[i].type == category) {
            gmarkers[i].show();
        }
    }
    // == check the checkbox ==
	document.getElementById("type"+category).checked = true;
}

// == hides all markers of a particular category, and ensures the checkbox is cleared ==
function hide(category) {
    for (var i=0; i<gmarkers.length; i++) {
        if (gmarkers[i].type == category) {
            gmarkers[i].hide();
        }
    }
    // == clear the checkbox ==
    document.getElementById("type"+category).checked = false;
    // == close the info window, in case its open on a marker that we just hid
    map.closeInfoWindow();
}

function boxclick(box,category) {
		if (box.checked) {
			show(category);
		} else {
			hide(category);
		}
		// == rebuild the side bar
		makeSidebar();
}

function getWindowHeight() {
    if (window.self && self.innerHeight) {
        return self.innerHeight
    }
    if (document.documentElement && document.documentElement.clientHeight) {
        return document.documentElement.clientHeight
    }
    return 0
}

function e(a) {
    return document.getElementById(a)
}

function resizeMap() {
    var m = 55;
	var a = 0;
    for (var b = e("map"); b !== null; b = b.offsetParent) {
        a += b.offsetTop
    }
    var c = getWindowHeight();
    var d = c - a - 5;
    if (d >= 0) {
        e("map").style.height = d + "px";
        e("side").style.height = d - m + "px"
    }
}
function showAddress(address) {
    if (geocoder) {
        geocoder.getLatLng(
        address,
        function(point) {
	        if (!point) {
	            alert(address + " introuvable");
	        } else {
	            map.setCenter(point, 15);
				
				var marrqueur = new GMarker(point, {draggable: false});
			   // Ajoutons le marqueur à la carte.
				// map.addOverlay(marrqueur);
				addMarkersForRegion();
				//////////////////////////////////
				oDepDist = map.getCenter();// c'est un objet typeof(oDepDist)
				depDist = address;
	           // alert(oDepDist + " trouvable");
				/*var s = "";

					for (property in map.getCenter())
					{
					s = s + "\t\t "+property;
					}
					
					alert(s);*/
				/////////////////////////////////////
	        }
        }
        );
    }
}
function addHeightTB(height) {
    var heightTB = $("#TB_ajaxContent").height();
    $("#TB_ajaxContent").height(heightTB+height);
}
function resetHeightTB(height) {
    $("#TB_ajaxContent").height(height);
}
function getIcon(images, type, nbpoints, type2) {
    var icon = null;
    if (images) {
			icon = new GIcon();
			if(type=='99' && type2=='99'){
				icon.image = "img/markers/" 
				+ nbpoints + ".png";
			}else{
			icon.image = "img/" 
				+ images[0] + ".png";
			}
			var size = iconData[images[0]];
			icon.iconSize = new GSize(size.width, size.height);
			icon.iconAnchor = new GPoint(size.width >> 1, size.height >> 1);
			icon.shadow = "img/" 
				+ images[1] + ".png";
			size = iconData[images[1]];
			icon.shadowSize = new GSize(size.width, size.height);
			icon.infoWindowAnchor = new GPoint(9, 2);
			icon.infoShadowAnchor = new GPoint(18, 25);
    }
    return icon;
}
