Subversion Repositories Sites.obs-saisons.fr

Rev

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

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