Subversion Repositories Sites.obs-saisons.fr

Rev

Rev 329 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 329 Rev 342
1
function viderRegion() {
1
function viderRegion() {
2
	$('#selecteur_liste_region').val('0');
2
	$('#selecteur_liste_region').val('0');
3
	region = '0';
3
	region = '0';
4
}
4
}
5
function modifierTableauEspeces() {
5
function modifierTableauEspeces() {
6
 
6
 
7
	id_type_espece = $('select#selecteur_liste_types_especes option:selected').val();
7
	id_type_espece = $('select#selecteur_liste_types_especes option:selected').val();
8
 
8
 
9
	// cas de tous les types d'espèces
9
	// cas de tous les types d'espèces
10
	if(id_type_espece == 0) {
10
	if(id_type_espece == 0) {
11
			chaine_elements_liste = '<div></div>';
11
			chaine_elements_liste = '<div></div>';
12
			$('#conteneur_selecteur_liste_especes').html(chaine_elements_liste);
12
			$('#conteneur_selecteur_liste_especes').html(chaine_elements_liste);
13
			return;
13
			return;
14
	}
14
	}
15
 
15
 
16
	elements_liste = tableau_especes[id_type_espece];
16
	elements_liste = tableau_especes[id_type_espece];
17
 
17
 
18
	var nb_couleur = 0;
18
	var nb_couleur = 0;
19
	var nb_especes = (Object.keys(elements_liste)).length;
19
	var nb_especes = (Object.keys(elements_liste)).length;
20
	var diviseur_colonnes = nb_especes < 10 ? 1 : 3;
20
	var diviseur_colonnes = nb_especes < 10 ? 1 : 3;
21
	var division_elements_liste = Math.floor((Object.keys(elements_liste).length)/diviseur_colonnes);
21
	var division_elements_liste = Math.floor((Object.keys(elements_liste).length)/diviseur_colonnes);
22
	var compteur_division_element_liste = 0;
22
	var compteur_division_element_liste = 0;
23
 
23
 
24
	var especes_triees_par_nom = trierTableau(elements_liste);
24
	var especes_triees_par_nom = trierTableau(elements_liste);
25
	var noms_especes_a_id = renverserTableauEtHashcoderIndex(elements_liste);
25
	var noms_especes_a_id = renverserTableauEtHashcoderIndex(elements_liste);
26
 
26
 
27
	chaine_elements_liste = '<div>';
27
	chaine_elements_liste = '<div>';
28
	for(i in especes_triees_par_nom) {
28
	for(i in especes_triees_par_nom) {
29
		if(compteur_division_element_liste > division_elements_liste) {
29
		if(compteur_division_element_liste > division_elements_liste) {
30
			chaine_elements_liste += '</div>';
30
			chaine_elements_liste += '</div>';
31
			chaine_elements_liste += '<div>';
31
			chaine_elements_liste += '<div>';
32
			compteur_division_element_liste = 0;
32
			compteur_division_element_liste = 0;
33
		}
33
		}
34
 
34
 
35
		var nom_espece = especes_triees_par_nom[i];
35
		var nom_espece = especes_triees_par_nom[i];
36
		var id_espece = noms_especes_a_id[nom_espece.hashCode()];
36
		var id_espece = noms_especes_a_id[nom_espece.hashCode()];
37
 
37
 
38
		// Si on a pas assez de couleur on en génère une au pif
38
		// Si on a pas assez de couleur on en génère une au pif
39
		if(typeof tableau_couleurs[nb_couleur] == 'undefined') {
39
		if(typeof tableau_couleurs[nb_couleur] == 'undefined') {
40
			tableau_couleurs[nb_couleur] = getCouleurAleatoire();
40
			tableau_couleurs[nb_couleur] = getCouleurAleatoire();
41
		}
41
		}
42
 
42
 
43
		chaine_elements_liste += '<div id="conteneur_espece_numero_'+id_espece+'" class="conteneur_selecteur_espece">';
43
		chaine_elements_liste += '<div id="conteneur_espece_numero_'+id_espece+'" class="conteneur_selecteur_espece">';
44
		chaine_elements_liste += '<span class="legende" style="background-color:'+tableau_couleurs[nb_couleur]+'"></span><input class="selecteur_espece" type="checkbox" id="espece_numero_'+id_espece+'" name="selecteur_especes" value="'+id_espece+'" />';
44
		chaine_elements_liste += '<span class="legende" style="background-color:'+tableau_couleurs[nb_couleur]+'"></span><input class="selecteur_espece" type="checkbox" id="espece_numero_'+id_espece+'" name="selecteur_especes" value="'+id_espece+'" />';
45
		chaine_elements_liste += '<label for="espece_numero_'+id_espece+'">'+nom_espece+' <span class="nb_obs"></span></label><br />';
45
		chaine_elements_liste += '<label for="espece_numero_'+id_espece+'">'+nom_espece+' <span class="nb_obs"></span></label><br />';
46
		chaine_elements_liste += '</div>';
46
		chaine_elements_liste += '</div>';
47
		compteur_division_element_liste++;
47
		compteur_division_element_liste++;
48
 
48
 
49
		tableau_couleurs_en_cours[id_espece] = tableau_couleurs[nb_couleur];
49
		tableau_couleurs_en_cours[id_espece] = tableau_couleurs[nb_couleur];
50
		nb_couleur++;
50
		nb_couleur++;
51
	}
51
	}
52
	chaine_elements_liste += '</div>';
52
	chaine_elements_liste += '</div>';
53
 
53
 
54
	$('#conteneur_selecteur_liste_especes').html(chaine_elements_liste);
54
	$('#conteneur_selecteur_liste_especes').html(chaine_elements_liste);
55
}
55
}
56
 
56
 
57
function initialiserListeEspeces() {
57
function initialiserListeEspeces() {
58
 
58
 
59
	$('.selecteur_espece').live('change', function() {
59
	$('.selecteur_espece').live('change', function() {
60
		modifierTableauEvenements();
60
		modifierTableauEvenements();
61
		obtenirObservations();
61
		obtenirObservations();
62
	});
62
	});
63
}
63
}
64
 
64
 
65
function getEspecesSelectionnees() {
65
function getEspecesSelectionnees() {
66
 
66
 
67
	especes_selectionnees = $('.selecteur_espece');
67
	especes_selectionnees = $('.selecteur_espece');
68
	tab_id_especes = new Array();
68
	tab_id_especes = new Array();
69
 
69
 
70
	especes_selectionnees.each(function (index, espece) {
70
	especes_selectionnees.each(function (index, espece) {
71
		if($(espece).attr('checked') == true && $(espece).val() != 0) {
71
		if($(espece).attr('checked') == true && $(espece).val() != 0) {
72
			tab_id_especes.push($(espece).val());
72
			tab_id_especes.push($(espece).val());
73
		}
73
		}
74
	});
74
	});
75
 
75
 
76
	return tab_id_especes;
76
	return tab_id_especes;
77
}
77
}
78
 
78
 
79
function modifierTableauEvenements() {
79
function modifierTableauEvenements() {
80
 
80
 
81
	especes_selectionnees = getEspecesSelectionnees();
81
	especes_selectionnees = getEspecesSelectionnees();
82
 
82
 
83
	elements_liste = new Array();
83
	elements_liste = new Array();
84
 
84
 
85
	if(especes_selectionnees.length > 0) {
85
	if(especes_selectionnees.length > 0) {
86
		espece = especes_selectionnees.concat(',');
86
		espece = especes_selectionnees.concat(',');
87
		espece = espece.slice(0, -1);
87
		espece = espece.slice(0, -1);
88
	} else {
88
	} else {
89
		espece = '0';
89
		espece = '0';
90
	}
90
	}
91
 
91
 
92
 
92
 
93
	for(i in especes_selectionnees) {
93
	for(i in especes_selectionnees) {
94
		evenements_especes = tableau_evenements_especes[especes_selectionnees[i]];
94
		evenements_especes = tableau_evenements_especes[especes_selectionnees[i]];
95
		liste_evenements_cette_espece = evenements_especes.split(',');
95
		liste_evenements_cette_espece = evenements_especes.split(',');
96
		for(j in liste_evenements_cette_espece) {
96
		for(j in liste_evenements_cette_espece) {
97
			elements_liste[j] = liste_evenements_cette_espece[j];
97
			elements_liste[j] = liste_evenements_cette_espece[j];
98
		}
98
		}
99
	}
99
	}
100
 
100
 
101
	chaine_elements_liste = '';
101
	chaine_elements_liste = '';
102
	chaine_elements_liste = '<option value="0" class="espece_type_0" selected="selected"> Tous les ev&egrave;nements </option>';
102
	chaine_elements_liste = '<option value="0" class="espece_type_0" selected="selected"> Tous les ev&egrave;nements </option>';
103
	for(i in elements_liste) {
103
	for(i in elements_liste) {
104
		chaine_elements_liste += '<option value='+elements_liste[i]+'>'+tableau_evenements[elements_liste[i]]+'</option>';
104
		chaine_elements_liste += '<option value='+elements_liste[i]+'>'+tableau_evenements[elements_liste[i]]+'</option>';
105
	}
105
	}
106
 
106
 
107
	$('#selecteur_evenements').html(chaine_elements_liste);
107
	$('#selecteur_evenements').html(chaine_elements_liste);
108
}
108
}
109
 
109
 
110
function initialiserListeEvenements() {
110
function initialiserListeEvenements() {
111
 
111
 
112
	$('#selecteur_evenements').change(function() {
112
	$('#selecteur_evenements').change(function() {
113
		evenement = $('select#selecteur_evenements option:selected').val();
113
		evenement = $('select#selecteur_evenements option:selected').val();
114
		obtenirObservations();
114
		obtenirObservations();
115
	});
115
	});
116
}
116
}
117
 
117
 
118
function initialiserListeAnnees() {
118
function initialiserListeAnnees() {
119
 
119
 
120
	$('#selecteur_liste_annees').change(function() {
120
	$('#selecteur_liste_annees').change(function() {
121
		annee = $('select#selecteur_liste_annees option:selected').val();
121
		annee = $('select#selecteur_liste_annees option:selected').val();
122
		obtenirObservations();
122
		obtenirObservations();
123
	});
123
	});
124
}
124
}
125
 
125
 
126
function incrementerValeurSlider() {
126
function incrementerValeurSlider() {
127
	var valeur_en_cours = $('#slider_date').slider("value");
127
	var valeur_en_cours = $('#slider_date').slider("value");
128
	if($('#slider_date').slider("value") < $('#slider_date').slider("option", "max")) {
128
	if($('#slider_date').slider("value") < $('#slider_date').slider("option", "max")) {
129
		valeur_en_cours++;
129
		valeur_en_cours++;
130
		$('#slider_date').slider("value",valeur_en_cours);
130
		$('#slider_date').slider("value",valeur_en_cours);
131
		setDateSlider();
131
		setDateSlider();
132
	} else {
132
	} else {
133
		clearInterval(timerSlider);
133
		clearInterval(timerSlider);
134
		$('#demarrer_slider').removeAttr('disabled');
134
		$('#demarrer_slider').removeAttr('disabled');
135
	}
135
	}
136
}
136
}
137
 
137
 
138
function getAnneeSelectionnee() {
138
function getAnneeSelectionnee() {
139
	return $('select#selecteur_liste_annees option:selected').val();
139
	return $('select#selecteur_liste_annees option:selected').val();
140
}
140
}
141
 
141
 
142
function getEspeceSelectionnee() {
142
function getEspeceSelectionnee() {
143
	var especes_selectionnees = getEspecesSelectionnees();
143
	var especes_selectionnees = getEspecesSelectionnees();
144
	if(especes_selectionnees.length == 0) {
144
	if(especes_selectionnees.length == 0) {
145
		return 0;
145
		return 0;
146
	} else {
146
	} else {
147
		return getEspecesSelectionnees().join(',');
147
		return getEspecesSelectionnees().join(',');
148
	}
148
	}
149
}
149
}
150
 
150
 
151
function afficherObservations() {
151
function afficherObservations() {
152
 
152
 
153
	var nb_total_obs = 0;
153
	var nb_total_obs = 0;
154
	var chaine_couleur = '';
154
	var chaine_couleur = '';
155
 
155
 
156
	for(i in tableau_marqueurs) {
156
	for(i in tableau_marqueurs) {
157
		id_obs = i;
157
		id_obs = i;
158
		obs_associees = infos_observations[id_obs];
158
		obs_associees = infos_observations[id_obs];
159
 
159
 
160
		afficher_marqueur = false;
160
		afficher_marqueur = false;
161
		chaine_couleur = '';
161
		chaine_couleur = '';
162
 
162
 
163
		for(j in obs_associees.obs) {
163
		for(j in obs_associees.obs) {
164
 
164
 
165
			nb_total_obs++;
165
			nb_total_obs++;
166
			date_obs = obs_associees.obs[j].date;
166
			date_obs = obs_associees.obs[j].date;
167
			afficher_marqueur = dateEstDansIntervalle(date_obs);
167
			afficher_marqueur = dateEstDansIntervalle(date_obs);
168
 
168
 
169
			if(afficher_marqueur) {
169
			if(afficher_marqueur) {
170
 
170
 
171
				// cas de toutes les espèces sélectionnées
171
				// cas de toutes les espèces sélectionnées
172
				// donc pas de couleurs disponibles
172
				// donc pas de couleurs disponibles
173
				if(type_espece == 0) {
173
				if(type_espece == 0) {
174
					chaine_couleur = "#FF0000,";
174
					chaine_couleur = "#FF0000,";
175
				} else {
175
				} else {
176
					if(typeof(tableau_couleurs_en_cours[obs_associees.obs[j].id_espece]) != 'undefined') {
176
					if(typeof(tableau_couleurs_en_cours[obs_associees.obs[j].id_espece]) != 'undefined') {
177
						chaine_couleur += tableau_couleurs_en_cours[obs_associees.obs[j].id_espece]+",";
177
						chaine_couleur += tableau_couleurs_en_cours[obs_associees.obs[j].id_espece]+",";
178
					}
178
					}
179
				}
179
				}
180
			}
180
			}
181
		}
181
		}
182
 
182
 
183
		if(afficher_marqueur && chaine_couleur != '') {
183
		if(afficher_marqueur && chaine_couleur != '') {
184
			chaine_couleur = chaine_couleur.slice(0,chaine_couleur.length - 1);
184
			chaine_couleur = chaine_couleur.slice(0,chaine_couleur.length - 1);
185
		  var image = obtenirImagePourChaineCouleur(chaine_couleur);
185
		  var image = obtenirImagePourChaineCouleur(chaine_couleur);
186
			tableau_marqueurs[i].setIcon(image);
186
			tableau_marqueurs[i].setIcon(image);
187
 
187
 
188
			if(!tableau_marqueurs[i].getVisible()) {
188
			if(!tableau_marqueurs[i].getVisible()) {
189
				tableau_marqueurs[i].setVisible(true);
189
				tableau_marqueurs[i].setVisible(true);
190
			}
190
			}
191
		} else {
191
		} else {
192
			tableau_marqueurs[i].setVisible(false);
192
			tableau_marqueurs[i].setVisible(false);
193
		}
193
		}
194
	}
194
	}
195
 
195
 
196
	$(".conteneur_selecteur_espece .nb_obs").html("");
196
	$(".conteneur_selecteur_espece .nb_obs").html("");
197
	for(id_espece in nb_observations_par_espece) {
197
	for(id_espece in nb_observations_par_espece) {
198
		$("#conteneur_espece_numero_"+id_espece+" .nb_obs").html(" ("+nb_observations_par_espece[id_espece]+") ");
198
		$("#conteneur_espece_numero_"+id_espece+" .nb_obs").html(" ("+nb_observations_par_espece[id_espece]+") ");
199
	}
199
	}
200
 
200
 
201
	$(".total_nb_obs").html(nb_total_obs+" Observations");
201
	$(".total_nb_obs").html(nb_total_obs+" Observations d'évènements phénologiques");
202
 
202
 
203
	if(premier_chargement) {
203
	if(premier_chargement) {
204
		selectionnerParametresDynamiquesParDefaut();
204
		selectionnerParametresDynamiquesParDefaut();
205
	}
205
	}
206
}
206
}