Subversion Repositories Sites.obs-saisons.fr

Rev

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

function modifierTableauEspeces() {

        id_type_espece = $('select#selecteur_liste_types_especes option:selected').val();
        espece = 0;

        elements_liste = tableau_especes[id_type_espece];

        var especes_triees_par_nom = trierTableau(elements_liste);
        var noms_especes_a_id = renverserTableauEtHashcoderIndex(elements_liste);

        var nb_couleur = 0;

        chaine_elements_liste = '';
        chaine_elements_liste += '<select id="selecteur_liste_especes" name="selecteur_liste_especes">';
        chaine_elements_liste += '<option class="option_espece" value="0"> Toutes les espèces </option>';
        for(i in especes_triees_par_nom) {
                var nom_espece = especes_triees_par_nom[i];
                var id_espece = noms_especes_a_id[nom_espece.hashCode()];
                chaine_elements_liste += '<option class="option_espece" value="'+id_espece+'"> '+nom_espece+' </option>';
        }
        chaine_elements_liste += '</select>';

        $('#conteneur_selecteur_liste_especes').html(chaine_elements_liste);
}

function initialiserListeEspeces() {

        $('#selecteur_liste_especes').live('change', function() {
                modifierTableauEvenements();
                obtenirObservations();
        });
}

function getEspeceSelectionnee() {

        var espece_selectionnee = $('.option_espece:selected').val();
        espece = espece_selectionnee;

        return espece_selectionnee;
}

function modifierTableauEvenements() {

        espece_selectionnee = getEspeceSelectionnee();
        evenement = 0;

        if(espece_selectionnee == 0 ) {
                espece_selectionnee = 0;
                liste_evenements_cette_espece = new Array();
        } else {
                evenements_especes = tableau_evenements_especes[espece_selectionnee];
                liste_evenements_cette_espece = evenements_especes.split(',');
        }

        elements_liste = new Array();

        for(j in liste_evenements_cette_espece) {
                elements_liste[j] = liste_evenements_cette_espece[j];
        }

        chaine_elements_liste = '';
        chaine_elements_liste = '<option value="0" class="espece_type_0" selected="selected"> Tous les ev&egrave;nements </option>';
        for(i in elements_liste) {
                chaine_elements_liste += '<option value='+elements_liste[i]+'>'+tableau_evenements[elements_liste[i]]+'</option>';
        }

        $('#selecteur_evenements').html(chaine_elements_liste);
}

function initialiserListeEvenements() {

        $('#selecteur_evenements').change(function() {
                evenement = $('select#selecteur_evenements option:selected').val();
                obtenirObservations();
        });
}

function initialiserListeAnnees() {

        var chaine_element_date = '';
        var nb_couleur = 0;

        var diviseur_colonnes = annees_ayant_obs.length < 5 ? 1 : 3;
        var division_elements_liste = Math.floor(annees_ayant_obs.length/diviseur_colonnes);
        var compteur_division_element_liste = 0;

        chaine_element_date = '<div class="critere" id="selecteur_liste_annees">';
        chaine_element_date += '<div>';

        for(i in annees_ayant_obs) {
                if(compteur_division_element_liste > division_elements_liste) {
                        chaine_element_date += '</div>';
                        chaine_element_date += '<div>';
                        compteur_division_element_liste = 0;
                }

                // Si on a pas assez de couleur on en génère une au pif
                if(typeof tableau_couleurs[nb_couleur] == 'undefined') {
                        tableau_couleurs[nb_couleur] = getCouleurAleatoire();
                }

                var annee_ayant_obs = annees_ayant_obs[i];
                chaine_element_date += '<span id="conteneur_annee_numero_'+annee_ayant_obs+'" class="conteneur_annee">';
                chaine_element_date += '<span class="legende" style="background-color:'+tableau_couleurs[nb_couleur]+'"></span>';
                chaine_element_date += '<input class="selecteur_date" type="checkbox" id="annee_numero_'+annee_ayant_obs+'" name="selecteur_annees" value="'+annee_ayant_obs+'" />';
                chaine_element_date += '<label for="annee_numero_'+annee_ayant_obs+'">'+annee_ayant_obs+' <span class="nb_obs"></span></label><br />';
                chaine_element_date += '</span>';

                compteur_division_element_liste++;

                tableau_couleurs_en_cours[annee_ayant_obs] = tableau_couleurs[nb_couleur];
                nb_couleur++;
        }

        chaine_element_date += '</div>';
        chaine_element_date += '</div>';

        $('#conteneur_selecteur_liste_annees').html(chaine_element_date);

        $('#selecteur_liste_annees').change(function() {
                annee = getAnneeSelectionnee();
                obtenirObservations();
        });
}

function getAnneeSelectionnee() {
        if($('.selecteur_date:checked').length > 0) {
                var annees_selectionnes = $('.selecteur_date:checked').map(function(){
                         return $(this).val();
                }).get();
                return annees_selectionnes.join(',');
        } else {
                return (new Date()).getFullYear();
        }
}

function afficherObservations() {

        var nb_total_obs = 0;
        var chaine_couleur = '';
        for(i in tableau_marqueurs) {
                id_obs = i;
                obs_associees = infos_observations[id_obs];

                afficher_marqueur = false;
                chaine_couleur = '';

                for(j in obs_associees.obs) {

                        nb_total_obs++;
                        date_obs = obs_associees.obs[j].date;
                        afficher_marqueur = dateEstDansIntervalle(date_obs);

                        if(afficher_marqueur) {
                                if(typeof(tableau_couleurs_en_cours[date_obs.getFullYear()]) != 'undefined') {
                                        chaine_couleur += tableau_couleurs_en_cours[date_obs.getFullYear()]+",";
                                }
                        }
                }

                if(afficher_marqueur && chaine_couleur != '') {
                        chaine_couleur = chaine_couleur.slice(0,chaine_couleur.length - 1);
                    var image = obtenirImagePourChaineCouleur(chaine_couleur);
                        tableau_marqueurs[i].setIcon(image);

                        if(!tableau_marqueurs[i].getVisible()) {
                                tableau_marqueurs[i].setVisible(true);
                        }
                } else {
                        tableau_marqueurs[i].setVisible(false);
                }
        }

        $(".conteneur_selecteur_liste_annees .nb_obs").html("");
        for(annee in nb_observations_par_annee) {
                $("#conteneur_annee_numero_"+annee+" .nb_obs").html(" ("+nb_observations_par_annee[annee]+") ");
        }

        $(".total_nb_obs").html(nb_total_obs+" Observations d'évènements phénologiques");

        if(premier_chargement) {
                selectionnerParametresDynamiquesParDefaut();
        }
}