Subversion Repositories Sites.obs-saisons.fr

Rev

Rev 267 | Rev 277 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 267 Rev 269
1
var map = null;
1
var map = null;
2
var tableau_marqueurs = new Array();
2
var tableau_marqueurs = new Array();
3
var infowindow = new google.maps.InfoWindow();
3
var infowindow = new google.maps.InfoWindow();
4
var infos_observations = new Array();
4
var infos_observations = new Array();
5
 
5
 
6
var type_espece = '0';
6
var type_espece = '0';
7
var espece = '0';
7
var espece = '0';
8
var evenement = '0';
8
var evenement = '0';
9
var annee = '0';
9
var annee = '0';
10
var mois = '0';
10
var mois = '0';
11
var jour = '0';
11
var jour = '0';
12
var departement = '0';
12
var departement = '0';
13
var region = '0';
13
var region = '0';
14
 
14
 
15
var tableau_couleurs = new Array("#A9582B", "#8DC7B8","#ED9355","#A7BD5B",
15
var tableau_couleurs = new Array("#A9582B", "#8DC7B8","#ED9355","#A7BD5B",
16
		"#FFC730","#0000FF","#CC4369","#9CA6A2",
16
		"#FFC730","#0000FF","#CC4369","#9CA6A2",
17
		"#F7E4A2","#DC574E","#3F6CA9","#DC6C4B",
17
		"#F7E4A2","#DC574E","#3F6CA9","#DC6C4B",
18
		"#E8A794","#9B5F95","#E78EDE","#45808A",
18
		"#E8A794","#9B5F95","#E78EDE","#45808A",
19
		"#168F47","#C9A838","#F2EAD8","#1A5561",
19
		"#168F47","#C9A838","#F2EAD8","#1A5561",
20
		"#6D883A");
20
		"#6D883A");
21
 
21
 
22
liste_mois = new Array("jan","fev","mar","avr","mai","jun","jui","aou","sep","oct","nov","dec");
22
liste_mois = new Array("jan","fev","mar","avr","mai","jun","jui","aou","sep","oct","nov","dec");
23
 
23
 
24
evenements_debut_annee = new Array("")
24
evenements_debut_annee = new Array("")
25
 
25
 
26
var tableau_couleurs_en_cours = new Array();
26
var tableau_couleurs_en_cours = new Array();
27
 
27
 
28
var timerSlider = null;
28
var timerSlider = null;
29
 
29
 
30
function getUrlBaseJrest() {
30
function getUrlBaseJrest() {
31
	return urlBaseJrest;
31
	return urlBaseJrest;
32
}
32
}
33
 
33
 
34
function traiterParametresUrl() {
34
function traiterParametresUrl() {
35
 
35
 
36
	var vars = [], hash;
36
	var vars = [], hash;
37
	var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
37
	var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
38
	for(var i = 0; i < hashes.length; i++)
38
	for(var i = 0; i < hashes.length; i++)
39
	{
39
	{
40
	    hash = hashes[i].split('=');
40
	    hash = hashes[i].split('=');
41
	    vars.push(hash[0]);
41
	    vars.push(hash[0]);
42
	    vars[hash[0]] = hash[1];
42
	    vars[hash[0]] = hash[1];
43
	}
43
	}
44
	
44
	
45
	if(vars['type_espece'] != null) {
45
	if(vars['type_espece'] != null) {
46
		type_espece = vars['type_espece'];
46
		type_espece = vars['type_espece'];
47
		$('#selecteur_liste_types_especes').val(type_espece);
47
		$('#selecteur_liste_types_especes').val(type_espece);
48
	}
48
	}
49
	
49
	
50
	if(vars['espece'] != null) {
50
	if(vars['espece'] != null) {
51
		if(type_espece != '0') {
51
		if(type_espece != '0') {
52
			modifierTableauEspeces();
52
			modifierTableauEspeces();
53
		}
53
		}
54
		espece = vars['espece'];
54
		espece = vars['espece'];
55
		$('#selecteur_especes').val(espece);
55
		$('#selecteur_especes').val(espece);
56
		
56
		
57
	}
57
	}
58
	
58
	
59
	if(vars['evenement'] != null) {
59
	if(vars['evenement'] != null) {
60
		if(espece != 0) {
60
		if(espece != 0) {
61
			modifierTableauEvenement()
61
			modifierTableauEvenement()
62
		}
62
		}
63
		evenement = vars['evenement'];
63
		evenement = vars['evenement'];
64
		$('#selecteur_evenements').val(evenement);
64
		$('#selecteur_evenements').val(evenement);
65
	}
65
	}
66
	
66
	
67
	if(vars['annee'] != null) {
67
	if(vars['annee'] != null) {
68
		annee = vars['annee'];
68
		annee = vars['annee'];
69
		$('#selecteur_liste_annees').val(annee);
69
		$('#selecteur_liste_annees').val(annee);
70
	} else {
70
	} else {
71
		date = new Date()
71
		date = new Date()
72
		annee = date.getFullYear();
72
		annee = date.getFullYear();
73
		$('#selecteur_liste_annees').val(annee);
73
		$('#selecteur_liste_annees').val(annee);
74
	}
74
	}
75
	
75
	
76
	if(vars['mois'] != null) {
76
	if(vars['mois'] != null) {
77
		mois = vars['mois'];
77
		mois = vars['mois'];
78
	} else {
78
	} else {
79
		date = new Date()
79
		date = new Date()
80
	}
80
	}
81
	
81
	
82
	if(vars['departement'] != null) {
82
	if(vars['departement'] != null) {
83
		departement = vars['departement'];
83
		departement = vars['departement'];
84
	} else {
84
	} else {
85
		if(vars['region'] != null) {
85
		if(vars['region'] != null) {
86
			region = vars['region'];
86
			region = vars['region'];
87
		}
87
		}
88
	}
88
	}
89
	
89
	
90
	if(vars['cacher_criteres'] != null && vars['cacher_criteres'] == '1') {
90
	if(vars['cacher_criteres'] != null && vars['cacher_criteres'] == '1') {
91
		$(".criteres").hide();
91
		$(".criteres").hide();
92
	}
92
	}
93
}
93
}
94
 
94
 
95
function obtenirCodeWidget() {
95
function obtenirCodeWidget() {
96
	
96
	
97
	var UrlBase = window.location;
97
	var UrlBase = url_widget;
98
	UrlBase += '?';
98
	UrlBase += '?';
99
	if(type_espece != '0') UrlBase += "type_espece="+type_espece;
99
	if(type_espece != '0') UrlBase += "type_espece="+type_espece;
100
	if(espece != '0') UrlBase += "&espece="+espece;
100
	if(espece != '0') UrlBase += "&espece="+espece;
101
	if(evenement != '0') UrlBase += "&evenement="+evenement;
101
	if(evenement != '0') UrlBase += "&evenement="+evenement;
102
	if(annee != '0') UrlBase += "&annee="+annee;
102
	if(annee != '0') UrlBase += "&annee="+annee;
103
	if(mois != '0') UrlBase += "&mois="+mois;
103
	if(mois != '0') UrlBase += "&mois="+mois;
104
	UrlBase += "&cacher_criteres=1";
104
	UrlBase += "&cacher_criteres=1";
-
 
105
	
-
 
106
	UrlBase = UrlBase.replace('?&','?');
105
	
107
	
106
	code_widget = '<iframe src="'+UrlBase+'" width="375px" height="470px"><p>Votre navigateur ne supporte pas les iframes.</p></iframe>'
108
	code_widget = '<iframe src="'+UrlBase+'" width="780px" height="610px"><p>Votre navigateur ne supporte pas les iframes.</p></iframe>'
107
	
109
	
108
	return code_widget;
110
	return code_widget;
109
}
111
}
110
 
112
 
111
$('#lien_cette_recherche').ready(function() {
113
$('#lien_cette_recherche').ready(function() {
112
	$('#lien_cette_recherche').click(function() {
114
	$('#lien_cette_recherche').click(function() {
113
		window.alert(obtenirCodeWidget());
115
		window.alert(obtenirCodeWidget());
114
		return false;
116
		return false;
115
	});
117
	});
116
});
118
});
117
 
119
 
118
$(document).ready(function() {
120
$(document).ready(function() {
119
	traiterParametresUrl();
121
	traiterParametresUrl();
120
});
122
});
121
 
123
 
122
/** 
124
/** 
123
************************************************************************************************
125
************************************************************************************************
124
************************************************************************************************
126
************************************************************************************************
125
 
127
 
126
    Fonctions concernant les gestion des filtres sur la carte
128
    Fonctions concernant les gestion des filtres sur la carte
127
 
129
 
128
************************************************************************************************
130
************************************************************************************************
129
************************************************************************************************
131
************************************************************************************************
130
**/ 
132
**/ 
131
 
133
 
132
function setDateSlider() {	
134
function setDateSlider() {	
133
	numeroJour = $("#slider_date").slider("value");
135
	numeroJour = $("#slider_date").slider("value");
134
	dateObs = new Date(annee,0,0);
136
	dateObs = new Date(annee,0,0);
135
	dateObs.setDate(dateObs.getDate()+numeroJour);
137
	dateObs.setDate(dateObs.getDate()+numeroJour);
136
	
138
	
137
	mois = dateObs.getMonth();
139
	mois = dateObs.getMonth();
138
	jour = dateObs.getDay();
140
	jour = dateObs.getDay();
139
	afficherObservations();	
141
	afficherObservations();	
140
}
142
}
141
 
143
 
142
function InitialiserIntervalleDateSlider() {
144
function InitialiserIntervalleDateSlider() {
143
	
145
	
144
}
146
}
145
 
147
 
146
/*function est une anneeBissextile(	
148
/*function est une anneeBissextile(	
147
		return eval(an%4)==0 && !(eval(an%100)== 0 && eval(an%400)==0));
149
		return eval(an%4)==0 && !(eval(an%100)== 0 && eval(an%400)==0));
148
}*/
150
}*/
149
 
151
 
150
function initialiserSliderDates() {
152
function initialiserSliderDates() {
151
		
153
		
152
	date_min = 1;
154
	date_min = 1;
153
	date_max = 365;
155
	date_max = 365;
154
	
156
	
155
	$("#slider_date").slider({
157
	$("#slider_date").slider({
156
								min: date_min,
158
								min: date_min,
157
								max: date_max,
159
								max: date_max,
158
								value: mois
160
								value: mois
159
							});
161
							});
160
	
162
	
161
	taille_criteres = Math.round($("#slider_date").width()/(liste_mois.length));
163
	taille_criteres = Math.round($("#slider_date").width()/(liste_mois.length));
162
	
164
	
163
	valeurs_slider = '<table id="table_dates"><tbody><tr>';
165
	valeurs_slider = '<table id="table_dates"><tbody><tr>';
164
	
166
	
165
	for (i in liste_mois) {
167
	for (i in liste_mois) {
166
		valeurs_slider += '<td class="conteneur_date">'+liste_mois[i]+'</td>';
168
		valeurs_slider += '<td class="conteneur_date">'+liste_mois[i]+'</td>';
167
	}
169
	}
168
	
170
	
169
	valeurs_slider += '</tr></tbody></table>';
171
	valeurs_slider += '</tr></tbody></table>';
170
	
172
	
171
	$("conteneur_date").css(".conteneur_date{ width:"+taille_criteres+"px;}");
173
	$("conteneur_date").css(".conteneur_date{ width:"+taille_criteres+"px;}");
172
	
174
	
173
	$("#valeurs_date").html(valeurs_slider);
175
	$("#valeurs_date").html(valeurs_slider);
174
		
176
		
175
	$("#slider_date").bind("slidestop", function(event, ui) {
177
	$("#slider_date").bind("slidestop", function(event, ui) {
176
		setDateSlider();
178
		setDateSlider();
177
		return true;
179
		return true;
178
	});
180
	});
179
	
181
	
180
	$(window).bind("resize", resizeWindow);
182
	$(window).bind("resize", resizeWindow);
181
	function resizeWindow( e ) {
183
	function resizeWindow( e ) {
182
		taille_criteres = Math.round($("#slider_date").width()/(liste_mois.length));
184
		taille_criteres = Math.round($("#slider_date").width()/(liste_mois.length));
183
		$("#css_slider").html(".conteneur_date{ width:"+taille_criteres+"px;}");
185
		$("#css_slider").html(".conteneur_date{ width:"+taille_criteres+"px;}");
184
	}
186
	}
185
}
187
}
186
 
188
 
187
function initialiserListeRegion() {
189
function initialiserListeRegion() {
188
	
190
	
189
	$('#selecteur_liste_region').change(function() {
191
	$('#selecteur_liste_region').change(function() {
190
		region = $('select#selecteur_liste_region option:selected').val();
192
		region = $('select#selecteur_liste_region option:selected').val();
191
		obtenirObservations();	
193
		obtenirObservations();	
192
	});
194
	});
193
}
195
}
194
 
196
 
195
function initialiserListeDepartement() {
197
function initialiserListeDepartement() {
196
	
198
	
197
	$('#selecteur_liste_departement').change(function() {
199
	$('#selecteur_liste_departement').change(function() {
198
		departement = $('select#selecteur_liste_departement option:selected').val();
200
		departement = $('select#selecteur_liste_departement option:selected').val();
199
		obtenirObservations();	
201
		obtenirObservations();	
200
	});
202
	});
201
}
203
}
202
 
204
 
203
 
205
 
204
 
206
 
205
 
207
 
206
function initialiserListeTypesEspeces() {
208
function initialiserListeTypesEspeces() {
207
	
209
	
208
	$('#selecteur_liste_types_especes').change(function() {
210
	$('#selecteur_liste_types_especes').change(function() {
209
		type_espece = $('select#selecteur_liste_types_especes option:selected').val();
211
		type_espece = $('select#selecteur_liste_types_especes option:selected').val();
210
		modifierTableauEspeces();
212
		modifierTableauEspeces();
211
		obtenirObservations();	
213
		obtenirObservations();	
212
	});
214
	});
213
}
215
}
214
 
216
 
215
function incrementerValeurSlider() {
217
function incrementerValeurSlider() {
216
	var valeur_en_cours = $('#slider_date').slider("value");
218
	var valeur_en_cours = $('#slider_date').slider("value");
217
	if($('#slider_date').slider("value") < $('#slider_date').slider("option", "max")) {
219
	if($('#slider_date').slider("value") < $('#slider_date').slider("option", "max")) {
218
		valeur_en_cours++;
220
		valeur_en_cours++;
219
		$('#slider_date').slider("value",valeur_en_cours);
221
		$('#slider_date').slider("value",valeur_en_cours);
220
		setDateSlider();
222
		setDateSlider();
221
	} else {
223
	} else {
222
		clearInterval(timerSlider);
224
		clearInterval(timerSlider);
223
		$('#demarrer_slider').removeAttr('disabled');
225
		$('#demarrer_slider').removeAttr('disabled');
224
	}
226
	}
225
}
227
}
226
 
228
 
227
function initialiserBoutonsSlider() {
229
function initialiserBoutonsSlider() {
228
	
230
	
229
	$('#demarrer_slider').click(function() {
231
	$('#demarrer_slider').click(function() {
230
		
232
		
231
		if($('#slider_date').slider("value") == $('#slider_date').slider("option","max")) {
233
		if($('#slider_date').slider("value") == $('#slider_date').slider("option","max")) {
232
			min_slider = $('#slider_date').slider("option","min");
234
			min_slider = $('#slider_date').slider("option","min");
233
			$('#slider_date').slider("value",min_slider);
235
			$('#slider_date').slider("value",min_slider);
234
		}
236
		}
235
		
237
		
236
		timerSlider = setInterval("incrementerValeurSlider()",150);
238
		timerSlider = setInterval("incrementerValeurSlider()",150);
237
		$('#demarrer_slider').attr('disabled', 'disabled');
239
		$('#demarrer_slider').attr('disabled', 'disabled');
238
	});
240
	});
239
	
241
	
240
	$('#arreter_slider').click(function() {
242
	$('#arreter_slider').click(function() {
241
		if(timerSlider != null) {
243
		if(timerSlider != null) {
242
			clearInterval(timerSlider);
244
			clearInterval(timerSlider);
243
			$('#demarrer_slider').removeAttr('disabled');
245
			$('#demarrer_slider').removeAttr('disabled');
244
		}
246
		}
245
	});
247
	});
246
	
248
	
247
}
249
}
248
 
250
 
249
function initialiserValeursParDefaut() {
251
function initialiserValeursParDefaut() {
250
	id_type_espece = $('select#selecteur_liste_types_especes').val("2");
252
	id_type_espece = $('select#selecteur_liste_types_especes').val("2");
251
	modifierTableauEspeces();
253
	modifierTableauEspeces();
252
	obtenirObservations();
254
	obtenirObservations();
253
}
255
}
254
 
256
 
255
$('#slider_date').ready(function() {
257
$('#slider_date').ready(function() {
256
	initialiserSliderDates();
258
	initialiserSliderDates();
257
	initialiserBoutonsSlider();
259
	initialiserBoutonsSlider();
258
	initialiserListeTypesEspeces();
260
	initialiserListeTypesEspeces();
259
	initialiserListeEspeces();
261
	initialiserListeEspeces();
260
	initialiserListeEvenements();
262
	initialiserListeEvenements();
261
	initialiserListeAnnees();
263
	initialiserListeAnnees();
262
	initialiserValeursParDefaut();
264
	initialiserValeursParDefaut();
263
	initialiserListeRegion();
265
	initialiserListeRegion();
264
	initialiserListeDepartement()
266
	initialiserListeDepartement()
265
});
267
});
266
 
268
 
267
 
269
 
268
/** 
270
/** 
269
	************************************************************************************************
271
	************************************************************************************************
270
	************************************************************************************************
272
	************************************************************************************************
271
	
273
	
272
	    Fonctions concernant la carte permettant de pointer d'afficher l'emplacement des observation
274
	    Fonctions concernant la carte permettant de pointer d'afficher l'emplacement des observation
273
	
275
	
274
	************************************************************************************************
276
	************************************************************************************************
275
	************************************************************************************************
277
	************************************************************************************************
276
**/ 
278
**/ 
277
 
279
 
278
function initialiserCarte() {
280
function initialiserCarte() {
279
 
281
 
280
	if($('#map_canvas').length == 0) {
282
	if($('#map_canvas').length == 0) {
281
		return;
283
		return;
282
	}
284
	}
283
 
285
 
284
	var latlng = new google.maps.LatLng(47.0504, 2.2347);
286
	var latlng = new google.maps.LatLng(47.0504, 2.2347);
285
	var myOptions = {
287
	var myOptions = {
286
		zoom: 5,
288
		zoom: 5,
287
		center: latlng,
289
		center: latlng,
288
		mapTypeId: google.maps.MapTypeId.HYBRID
290
		mapTypeId: google.maps.MapTypeId.HYBRID
289
	};
291
	};
290
 
292
 
291
	map = new google.maps.Map(document.getElementById("map_canvas"),
293
	map = new google.maps.Map(document.getElementById("map_canvas"),
292
    	myOptions);
294
    	myOptions);
293
	
295
	
294
	marker = new google.maps.Marker({
296
	marker = new google.maps.Marker({
295
	      position: latlng,
297
	      position: latlng,
296
	      title:""
298
	      title:""
297
	});
299
	});
298
	
300
	
299
	$('.lien_vers_profil').live('click', function(event) {
301
	$('.lien_vers_profil').live('click', function(event) {
300
		event.preventDefault();
302
		event.preventDefault();
301
		window.open($(this).attr('href'));
303
		window.open($(this).attr('href'));
302
		return false;
304
		return false;
303
	});
305
	});
304
}
306
}
305
 
307
 
306
function obtenirObservations() {
308
function obtenirObservations() {
307
		
309
		
308
	requete = '?annee='+annee;
310
	requete = '?annee='+annee;
309
	
311
	
310
	if(type_espece != '0' && espece == '0') { 
312
	if(type_espece != '0' && espece == '0') { 
311
		requete += '&type_espece='+type_espece; 
313
		requete += '&type_espece='+type_espece; 
312
	}
314
	}
313
	
315
	
314
	if(espece != '0') { 
316
	if(espece != '0') { 
315
		requete += '&espece='+espece; 
317
		requete += '&espece='+espece; 
316
	}
318
	}
317
	
319
	
318
	if(evenement != '0') { 
320
	if(evenement != '0') { 
319
		requete += '&evenement='+evenement;
321
		requete += '&evenement='+evenement;
320
	}
322
	}
321
	
323
	
322
	if(departement != '0') { 
324
	if(departement != '0') { 
323
		requete += '&departement='+departement;
325
		requete += '&departement='+departement;
324
	}
326
	}
325
	
327
	
326
	if(region != '0') { 
328
	if(region != '0') { 
327
		requete += '&region='+region;
329
		requete += '&region='+region;
328
	}
330
	}
329
	
331
	
330
	$.get(getUrlBaseJrest()+'OdsExport/ExportObservationJson/'+requete, function(data) {	
332
	$.get(getUrlBaseJrest()+'OdsExport/ExportObservationJson/'+requete, function(data) {	
331
				
333
				
332
		infos_observations = data;
334
		infos_observations = data;
333
		
335
		
334
		if(tableau_marqueurs.length > 0) {
336
		if(tableau_marqueurs.length > 0) {
335
			viderMarqueurs();
337
			viderMarqueurs();
336
		}
338
		}
337
		
339
		
338
		for(i in infos_observations) {
340
		for(i in infos_observations) {
339
			creerEtAjouterMarqueur(i, infos_observations[i]);
341
			creerEtAjouterMarqueur(i, infos_observations[i]);
340
		}
342
		}
341
		
343
		
342
		afficherObservations();
344
		afficherObservations();
343
	});
345
	});
344
}
346
}
345
 
347
 
346
function creerEtAjouterMarqueur(id_marqueur, infos_obs) {
348
function creerEtAjouterMarqueur(id_marqueur, infos_obs) {
347
	
349
	
348
	latlng = new google.maps.LatLng(infos_obs['latitude'],infos_obs['longitude']);
350
	latlng = new google.maps.LatLng(infos_obs['latitude'],infos_obs['longitude']);
349
	
351
	
350
	var chaine_couleur = '';
352
	var chaine_couleur = '';
351
	
353
	
352
	for(i in infos_obs.obs) {
354
	for(i in infos_obs.obs) {
353
		var observation = infos_obs.obs[i];
355
		var observation = infos_obs.obs[i];
354
		
356
		
355
		if(typeof(tableau_couleurs_en_cours[observation.id_espece]) != 'undefined') {		
357
		if(typeof(tableau_couleurs_en_cours[observation.id_espece]) != 'undefined') {		
356
			chaine_couleur += tableau_couleurs_en_cours[observation.id_espece]+",";
358
			chaine_couleur += tableau_couleurs_en_cours[observation.id_espece]+",";
357
		}
359
		}
358
	}
360
	}
359
	
361
	
360
	chaine_couleur = chaine_couleur.slice(0,chaine_couleur.length - 1);
362
	chaine_couleur = chaine_couleur.slice(0,chaine_couleur.length - 1);
361
    var image = obtenirImagePourChaineCouleur(chaine_couleur);
363
    var image = obtenirImagePourChaineCouleur(chaine_couleur);
362
     
364
     
363
 	tableau_marqueurs[id_marqueur] = new google.maps.Marker({
365
 	tableau_marqueurs[id_marqueur] = new google.maps.Marker({
364
	      position: latlng,
366
	      position: latlng,
365
	      title:infos_obs.evenenement,
367
	      title:infos_obs.evenenement,
366
	      icon:image,
368
	      icon:image,
367
	      optimized: false
369
	      optimized: false
368
	});
370
	});
369
 
371
 
370
	google.maps.event.addListener(tableau_marqueurs[id_marqueur], 'click', function() {
372
	google.maps.event.addListener(tableau_marqueurs[id_marqueur], 'click', function() {
371
		
373
		
372
		contenu_fenetre = formaterContenuFenetre(infos_obs.obs);
374
		contenu_fenetre = formaterContenuFenetre(infos_obs.obs);
373
		infowindow.close();
375
		infowindow.close();
374
		infowindow.content = contenu_fenetre;
376
		infowindow.content = contenu_fenetre;
375
		infowindow.open(map,this);
377
		infowindow.open(map,this);
376
	});
378
	});
377
	
379
	
378
	tableau_marqueurs[id_marqueur].setDraggable(false);
380
	tableau_marqueurs[id_marqueur].setDraggable(false);
379
	tableau_marqueurs[id_marqueur].setClickable(true);
381
	tableau_marqueurs[id_marqueur].setClickable(true);
380
		
382
		
381
	tableau_marqueurs[id_marqueur].setMap(map); 
383
	tableau_marqueurs[id_marqueur].setMap(map); 
382
 
384
 
383
}
385
}
384
 
386
 
385
function viderMarqueurs() {
387
function viderMarqueurs() {
386
	
388
	
387
	infowindow.close();
389
	infowindow.close();
388
	for(i in tableau_marqueurs) {
390
	for(i in tableau_marqueurs) {
389
		tableau_marqueurs[i].setMap(null);
391
		tableau_marqueurs[i].setMap(null);
390
	}
392
	}
391
	
393
	
392
	tableau_marqueurs = new Array();
394
	tableau_marqueurs = new Array();
393
}
395
}
394
 
396
 
395
 
397
 
396
function obtenirImagePourChaineCouleur(chaine_couleur) {
398
function obtenirImagePourChaineCouleur(chaine_couleur) {
397
					
399
					
398
	chaine_couleur = encodeURIComponent(chaine_couleur);
400
	chaine_couleur = encodeURIComponent(chaine_couleur);
399
	var image = getUrlBaseJrest()+"OdsMarqueur/point?couleurs="+chaine_couleur;
401
	var image = getUrlBaseJrest()+"OdsMarqueur/point?couleurs="+chaine_couleur;
400
    
402
    
401
    return image;
403
    return image;
402
}
404
}
403
 
405
 
404
function convertirDateObsVersJs(chaine_date) {
406
function convertirDateObsVersJs(chaine_date) {
405
	
407
	
406
	tableau_date = chaine_date.split('/');
408
	tableau_date = chaine_date.split('/');
407
	date_obs = new Date();
409
	date_obs = new Date();
408
	
410
	
409
	date_obs.setDate(tableau_date[0]);
411
	date_obs.setDate(tableau_date[0]);
410
	date_obs.setMonth(tableau_date[1]);
412
	date_obs.setMonth(tableau_date[1]);
411
	date_obs.setFullYear(tableau_date[2]);
413
	date_obs.setFullYear(tableau_date[2]);
412
	
414
	
413
	return date_obs;
415
	return date_obs;
414
}
416
}
415
 
417
 
416
function dateEstDansIntervalle(t_obs) {
418
function dateEstDansIntervalle(t_obs) {
417
	
419
	
418
	date_obs = convertirDateObsVersJs(t_obs);
420
	date_obs = convertirDateObsVersJs(t_obs);
419
	
421
	
420
	dans_intervalle = false;
422
	dans_intervalle = false;
421
	
423
	
422
	var dateDebutAnnee = new Date();
424
	var dateDebutAnnee = new Date();
423
	dateDebutAnnee.setDate(1);
425
	dateDebutAnnee.setDate(1);
424
	dateDebutAnnee.setMonth(1);
426
	dateDebutAnnee.setMonth(1);
425
	dateDebutAnnee.setFullYear(date_obs.getFullYear());
427
	dateDebutAnnee.setFullYear(date_obs.getFullYear());
426
	var quantieme = (date_obs.getTime() - dateDebutAnnee.getTime()) / (24 * 3600 * 1000)+1;
428
	var quantieme = (date_obs.getTime() - dateDebutAnnee.getTime()) / (24 * 3600 * 1000)+1;
427
	
429
	
428
	if($('#slider_date').slider("value") >= quantieme) {
430
	if($('#slider_date').slider("value") >= quantieme) {
429
		dans_intervalle = true;
431
		dans_intervalle = true;
430
	}
432
	}
431
		
433
		
432
	return dans_intervalle;
434
	return dans_intervalle;
433
}
435
}
434
	
436
	
435
function comparerDates(date_1, date_2){
437
function comparerDates(date_1, date_2){
436
	diff = date_1.getTime()-date_2.getTime();
438
	diff = date_1.getTime()-date_2.getTime();
437
	return (diff==0?diff:diff/Math.abs(diff));
439
	return (diff==0?diff:diff/Math.abs(diff));
438
}
440
}
439
 
441
 
440
function obtenirMarqueurPourStade(stade) {
442
function obtenirMarqueurPourStade(stade) {
441
		
443
		
442
	iconeStade = '../images/marqueur_'+stade+'.png';
444
	iconeStade = '../images/marqueur_'+stade+'.png';
443
 
445
 
444
	return iconeStade;
446
	return iconeStade;
445
}
447
}
446
 
448
 
447
function formaterContenuFenetre(infos_obs) {
449
function formaterContenuFenetre(infos_obs) {
448
	
450
	
449
	contenu_fenetre = '';
451
	contenu_fenetre = '';
450
	date_courante = new Date(annee,mois,jour);
452
	date_courante = new Date(annee,mois,jour);
451
	
453
	
452
	for(i in infos_obs) {
454
	for(i in infos_obs) {
453
		
455
		
454
		t_obs = infos_obs[i].date;
456
		t_obs = infos_obs[i].date;
455
		
457
		
456
		if(dateEstDansIntervalle(t_obs)) {
458
		if(dateEstDansIntervalle(t_obs)) {
457
			nom_stade ='';
459
			nom_stade ='';
458
			if(infos_obs[i].code_bbch != '') {
460
			if(infos_obs[i].code_bbch != '') {
459
				nom_stade = ' stade '+infos_obs[i].code_bbch;
461
				nom_stade = ' stade '+infos_obs[i].code_bbch;
460
			}
462
			}
461
			
463
			
462
			contenu_fenetre += '<div class="fenetre_infos">';
464
			contenu_fenetre += '<div class="fenetre_infos">';
463
			contenu_fenetre += '<div class="nom_sci">'+infos_obs[i].nom_scientifique+'</div>';
465
			contenu_fenetre += '<div class="nom_sci">'+infos_obs[i].nom_scientifique+'</div>';
464
			contenu_fenetre += '<div class="nom_sci">'+infos_obs[i].evenenement+nom_stade+'</div>';
466
			contenu_fenetre += '<div class="nom_sci">'+infos_obs[i].evenenement+nom_stade+'</div>';
465
			contenu_fenetre += '<div class="date_obs"> Observ&eacute; le : '+infos_obs[i].date+' </div>';
467
			contenu_fenetre += '<div class="date_obs"> Observ&eacute; le : '+infos_obs[i].date+' </div>';
466
			contenu_fenetre += construireUrlProfilParticipant(infos_obs[i].participant);
468
			contenu_fenetre += construireUrlProfilParticipant(infos_obs[i].participant);
467
			contenu_fenetre += '</div><br />';
469
			contenu_fenetre += '</div><br />';
468
		}
470
		}
469
	}
471
	}
470
	
472
	
471
	return contenu_fenetre;
473
	return contenu_fenetre;
472
}
474
}
473
 
475
 
474
function construireUrlProfilParticipant(id) {
476
function construireUrlProfilParticipant(id) {
475
	return '<a class="lien_vers_profil" href="http://obs-saisons.fr/user/'+id+'"> Voir l\'auteur </a>';
477
	return '<a class="lien_vers_profil" href="http://obs-saisons.fr/user/'+id+'"> Voir l\'auteur </a>';
476
}
478
}
477
	
479
	
478
 
480
 
479
$('#map_canvas').ready(function() {
481
$('#map_canvas').ready(function() {
480
	initialiserCarte();
482
	initialiserCarte();
481
});
483
});