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 modifierTableauEspeces() {
1
function modifierTableauEspeces() {
2
 
2
 
3
	id_type_espece = $('select#selecteur_liste_types_especes option:selected').val();
3
	id_type_espece = $('select#selecteur_liste_types_especes option:selected').val();
4
	espece = 0;
4
	espece = 0;
5
 
5
 
6
	elements_liste = tableau_especes[id_type_espece];
6
	elements_liste = tableau_especes[id_type_espece];
7
 
7
 
8
	var especes_triees_par_nom = trierTableau(elements_liste);
8
	var especes_triees_par_nom = trierTableau(elements_liste);
9
	var noms_especes_a_id = renverserTableauEtHashcoderIndex(elements_liste);
9
	var noms_especes_a_id = renverserTableauEtHashcoderIndex(elements_liste);
10
 
10
 
11
	var nb_couleur = 0;
11
	var nb_couleur = 0;
12
 
12
 
13
	chaine_elements_liste = '';
13
	chaine_elements_liste = '';
14
	chaine_elements_liste += '<select id="selecteur_liste_especes" name="selecteur_liste_especes">';
14
	chaine_elements_liste += '<select id="selecteur_liste_especes" name="selecteur_liste_especes">';
15
	chaine_elements_liste += '<option class="option_espece" value="0"> Toutes les espèces </option>';
15
	chaine_elements_liste += '<option class="option_espece" value="0"> Toutes les espèces </option>';
16
	for(i in especes_triees_par_nom) {
16
	for(i in especes_triees_par_nom) {
17
		var nom_espece = especes_triees_par_nom[i];
17
		var nom_espece = especes_triees_par_nom[i];
18
		var id_espece = noms_especes_a_id[nom_espece.hashCode()];
18
		var id_espece = noms_especes_a_id[nom_espece.hashCode()];
19
		chaine_elements_liste += '<option class="option_espece" value="'+id_espece+'"> '+nom_espece+' </option>';
19
		chaine_elements_liste += '<option class="option_espece" value="'+id_espece+'"> '+nom_espece+' </option>';
20
	}
20
	}
21
	chaine_elements_liste += '</select>';
21
	chaine_elements_liste += '</select>';
22
 
22
 
23
	$('#conteneur_selecteur_liste_especes').html(chaine_elements_liste);
23
	$('#conteneur_selecteur_liste_especes').html(chaine_elements_liste);
24
}
24
}
25
 
25
 
26
function initialiserListeEspeces() {
26
function initialiserListeEspeces() {
27
 
27
 
28
	$('#selecteur_liste_especes').live('change', function() {
28
	$('#selecteur_liste_especes').live('change', function() {
29
		modifierTableauEvenements();
29
		modifierTableauEvenements();
30
		obtenirObservations();
30
		obtenirObservations();
31
	});
31
	});
32
}
32
}
33
 
33
 
34
function getEspeceSelectionnee() {
34
function getEspeceSelectionnee() {
35
 
35
 
36
	var espece_selectionnee = $('.option_espece:selected').val();
36
	var espece_selectionnee = $('.option_espece:selected').val();
37
	espece = espece_selectionnee;
37
	espece = espece_selectionnee;
38
 
38
 
39
	return espece_selectionnee;
39
	return espece_selectionnee;
40
}
40
}
41
 
41
 
42
function modifierTableauEvenements() {
42
function modifierTableauEvenements() {
43
 
43
 
44
	espece_selectionnee = getEspeceSelectionnee();
44
	espece_selectionnee = getEspeceSelectionnee();
45
	evenement = 0;
45
	evenement = 0;
46
 
46
 
47
	if(espece_selectionnee == 0 ) {
47
	if(espece_selectionnee == 0 ) {
48
		espece_selectionnee = 0;
48
		espece_selectionnee = 0;
49
		liste_evenements_cette_espece = new Array();
49
		liste_evenements_cette_espece = new Array();
50
	} else {
50
	} else {
51
		evenements_especes = tableau_evenements_especes[espece_selectionnee];
51
		evenements_especes = tableau_evenements_especes[espece_selectionnee];
52
		liste_evenements_cette_espece = evenements_especes.split(',');
52
		liste_evenements_cette_espece = evenements_especes.split(',');
53
	}
53
	}
54
 
54
 
55
	elements_liste = new Array();
55
	elements_liste = new Array();
56
 
56
 
57
	for(j in liste_evenements_cette_espece) {
57
	for(j in liste_evenements_cette_espece) {
58
		elements_liste[j] = liste_evenements_cette_espece[j];
58
		elements_liste[j] = liste_evenements_cette_espece[j];
59
	}
59
	}
60
 
60
 
61
	chaine_elements_liste = '';
61
	chaine_elements_liste = '';
62
	chaine_elements_liste = '<option value="0" class="espece_type_0" selected="selected"> Tous les ev&egrave;nements </option>';
62
	chaine_elements_liste = '<option value="0" class="espece_type_0" selected="selected"> Tous les ev&egrave;nements </option>';
63
	for(i in elements_liste) {
63
	for(i in elements_liste) {
64
		chaine_elements_liste += '<option value='+elements_liste[i]+'>'+tableau_evenements[elements_liste[i]]+'</option>';
64
		chaine_elements_liste += '<option value='+elements_liste[i]+'>'+tableau_evenements[elements_liste[i]]+'</option>';
65
	}
65
	}
66
 
66
 
67
	$('#selecteur_evenements').html(chaine_elements_liste);
67
	$('#selecteur_evenements').html(chaine_elements_liste);
68
}
68
}
69
 
69
 
70
function initialiserListeEvenements() {
70
function initialiserListeEvenements() {
71
 
71
 
72
	$('#selecteur_evenements').change(function() {
72
	$('#selecteur_evenements').change(function() {
73
		evenement = $('select#selecteur_evenements option:selected').val();
73
		evenement = $('select#selecteur_evenements option:selected').val();
74
		obtenirObservations();
74
		obtenirObservations();
75
	});
75
	});
76
}
76
}
77
 
77
 
78
function initialiserListeAnnees() {
78
function initialiserListeAnnees() {
79
 
79
 
80
	var chaine_element_date = '';
80
	var chaine_element_date = '';
81
	var nb_couleur = 0;
81
	var nb_couleur = 0;
82
 
82
 
83
	var diviseur_colonnes = annees_ayant_obs.length < 5 ? 1 : 3;
83
	var diviseur_colonnes = annees_ayant_obs.length < 5 ? 1 : 3;
84
	var division_elements_liste = Math.floor(annees_ayant_obs.length/diviseur_colonnes);
84
	var division_elements_liste = Math.floor(annees_ayant_obs.length/diviseur_colonnes);
85
	var compteur_division_element_liste = 0;
85
	var compteur_division_element_liste = 0;
86
 
86
 
87
	chaine_element_date = '<div class="critere" id="selecteur_liste_annees">';
87
	chaine_element_date = '<div class="critere" id="selecteur_liste_annees">';
88
	chaine_element_date += '<div>';
88
	chaine_element_date += '<div>';
89
 
89
 
90
	for(i in annees_ayant_obs) {
90
	for(i in annees_ayant_obs) {
91
		if(compteur_division_element_liste > division_elements_liste) {
91
		if(compteur_division_element_liste > division_elements_liste) {
92
			chaine_element_date += '</div>';
92
			chaine_element_date += '</div>';
93
			chaine_element_date += '<div>';
93
			chaine_element_date += '<div>';
94
			compteur_division_element_liste = 0;
94
			compteur_division_element_liste = 0;
95
		}
95
		}
96
 
96
 
97
		// Si on a pas assez de couleur on en génère une au pif
97
		// Si on a pas assez de couleur on en génère une au pif
98
		if(typeof tableau_couleurs[nb_couleur] == 'undefined') {
98
		if(typeof tableau_couleurs[nb_couleur] == 'undefined') {
99
			tableau_couleurs[nb_couleur] = getCouleurAleatoire();
99
			tableau_couleurs[nb_couleur] = getCouleurAleatoire();
100
		}
100
		}
101
 
101
 
102
		var annee_ayant_obs = annees_ayant_obs[i];
102
		var annee_ayant_obs = annees_ayant_obs[i];
103
		chaine_element_date += '<span id="conteneur_annee_numero_'+annee_ayant_obs+'" class="conteneur_annee">';
103
		chaine_element_date += '<span id="conteneur_annee_numero_'+annee_ayant_obs+'" class="conteneur_annee">';
104
		chaine_element_date += '<span class="legende" style="background-color:'+tableau_couleurs[nb_couleur]+'"></span>';
104
		chaine_element_date += '<span class="legende" style="background-color:'+tableau_couleurs[nb_couleur]+'"></span>';
105
		chaine_element_date += '<input class="selecteur_date" type="checkbox" id="annee_numero_'+annee_ayant_obs+'" name="selecteur_annees" value="'+annee_ayant_obs+'" />';
105
		chaine_element_date += '<input class="selecteur_date" type="checkbox" id="annee_numero_'+annee_ayant_obs+'" name="selecteur_annees" value="'+annee_ayant_obs+'" />';
106
		chaine_element_date += '<label for="annee_numero_'+annee_ayant_obs+'">'+annee_ayant_obs+' <span class="nb_obs"></span></label><br />';
106
		chaine_element_date += '<label for="annee_numero_'+annee_ayant_obs+'">'+annee_ayant_obs+' <span class="nb_obs"></span></label><br />';
107
		chaine_element_date += '</span>';
107
		chaine_element_date += '</span>';
108
 
108
 
109
		compteur_division_element_liste++;
109
		compteur_division_element_liste++;
110
 
110
 
111
		tableau_couleurs_en_cours[annee_ayant_obs] = tableau_couleurs[nb_couleur];
111
		tableau_couleurs_en_cours[annee_ayant_obs] = tableau_couleurs[nb_couleur];
112
		nb_couleur++;
112
		nb_couleur++;
113
	}
113
	}
114
 
114
 
115
	chaine_element_date += '</div>';
115
	chaine_element_date += '</div>';
116
	chaine_element_date += '</div>';
116
	chaine_element_date += '</div>';
117
 
117
 
118
	$('#conteneur_selecteur_liste_annees').html(chaine_element_date);
118
	$('#conteneur_selecteur_liste_annees').html(chaine_element_date);
119
 
119
 
120
	$('#selecteur_liste_annees').change(function() {
120
	$('#selecteur_liste_annees').change(function() {
121
		annee = getAnneeSelectionnee();
121
		annee = getAnneeSelectionnee();
122
		obtenirObservations();
122
		obtenirObservations();
123
	});
123
	});
124
}
124
}
125
 
125
 
126
function getAnneeSelectionnee() {
126
function getAnneeSelectionnee() {
127
	if($('.selecteur_date:checked').length > 0) {
127
	if($('.selecteur_date:checked').length > 0) {
128
		var annees_selectionnes = $('.selecteur_date:checked').map(function(){
128
		var annees_selectionnes = $('.selecteur_date:checked').map(function(){
129
			 return $(this).val();
129
			 return $(this).val();
130
		}).get();
130
		}).get();
131
		return annees_selectionnes.join(',');
131
		return annees_selectionnes.join(',');
132
	} else {
132
	} else {
133
		return (new Date()).getFullYear();
133
		return (new Date()).getFullYear();
134
	}
134
	}
135
}
135
}
136
 
136
 
137
function afficherObservations() {
137
function afficherObservations() {
138
 
138
 
139
	var nb_total_obs = 0;
139
	var nb_total_obs = 0;
140
	var chaine_couleur = '';
140
	var chaine_couleur = '';
141
	for(i in tableau_marqueurs) {
141
	for(i in tableau_marqueurs) {
142
		id_obs = i;
142
		id_obs = i;
143
		obs_associees = infos_observations[id_obs];
143
		obs_associees = infos_observations[id_obs];
144
 
144
 
145
		afficher_marqueur = false;
145
		afficher_marqueur = false;
146
		chaine_couleur = '';
146
		chaine_couleur = '';
147
 
147
 
148
		for(j in obs_associees.obs) {
148
		for(j in obs_associees.obs) {
149
 
149
 
150
			nb_total_obs++;
150
			nb_total_obs++;
151
			date_obs = obs_associees.obs[j].date;
151
			date_obs = obs_associees.obs[j].date;
152
			afficher_marqueur = dateEstDansIntervalle(date_obs);
152
			afficher_marqueur = dateEstDansIntervalle(date_obs);
153
 
153
 
154
			if(afficher_marqueur) {
154
			if(afficher_marqueur) {
155
				if(typeof(tableau_couleurs_en_cours[date_obs.getFullYear()]) != 'undefined') {
155
				if(typeof(tableau_couleurs_en_cours[date_obs.getFullYear()]) != 'undefined') {
156
					chaine_couleur += tableau_couleurs_en_cours[date_obs.getFullYear()]+",";
156
					chaine_couleur += tableau_couleurs_en_cours[date_obs.getFullYear()]+",";
157
				}
157
				}
158
			}
158
			}
159
		}
159
		}
160
 
160
 
161
		if(afficher_marqueur && chaine_couleur != '') {
161
		if(afficher_marqueur && chaine_couleur != '') {
162
			chaine_couleur = chaine_couleur.slice(0,chaine_couleur.length - 1);
162
			chaine_couleur = chaine_couleur.slice(0,chaine_couleur.length - 1);
163
		    var image = obtenirImagePourChaineCouleur(chaine_couleur);
163
		    var image = obtenirImagePourChaineCouleur(chaine_couleur);
164
			tableau_marqueurs[i].setIcon(image);
164
			tableau_marqueurs[i].setIcon(image);
165
 
165
 
166
			if(!tableau_marqueurs[i].getVisible()) {
166
			if(!tableau_marqueurs[i].getVisible()) {
167
				tableau_marqueurs[i].setVisible(true);
167
				tableau_marqueurs[i].setVisible(true);
168
			}
168
			}
169
		} else {
169
		} else {
170
			tableau_marqueurs[i].setVisible(false);
170
			tableau_marqueurs[i].setVisible(false);
171
		}
171
		}
172
	}
172
	}
173
 
173
 
174
	$(".conteneur_selecteur_liste_annees .nb_obs").html("");
174
	$(".conteneur_selecteur_liste_annees .nb_obs").html("");
175
	for(annee in nb_observations_par_annee) {
175
	for(annee in nb_observations_par_annee) {
176
		$("#conteneur_annee_numero_"+annee+" .nb_obs").html(" ("+nb_observations_par_annee[annee]+") ");
176
		$("#conteneur_annee_numero_"+annee+" .nb_obs").html(" ("+nb_observations_par_annee[annee]+") ");
177
	}
177
	}
178
 
178
 
179
	$(".total_nb_obs").html(nb_total_obs+" Observations");
179
	$(".total_nb_obs").html(nb_total_obs+" Observations d'évènements phénologiques");
180
 
180
 
181
	if(premier_chargement) {
181
	if(premier_chargement) {
182
		selectionnerParametresDynamiquesParDefaut();
182
		selectionnerParametresDynamiquesParDefaut();
183
	}
183
	}
184
}
184
}