Subversion Repositories Sites.obs-saisons.fr

Rev

Rev 329 | Details | Compare with Previous | Last modification | View Log | RSS feed

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