Subversion Repositories Sites.obs-saisons.fr

Rev

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

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