Subversion Repositories Sites.obs-saisons.fr

Rev

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

function viderRegion() {
        $('#selecteur_liste_region').val('0');
        region = '0';
}
function modifierTableauEspeces() {

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

        // cas de tous les types d'espèces
        if(id_type_espece == 0) {
                        chaine_elements_liste = '<div></div>';
                        $('#conteneur_selecteur_liste_especes').html(chaine_elements_liste);
                        return;
        }

        elements_liste = tableau_especes[id_type_espece];

        var nb_couleur = 0;
        var nb_especes = (Object.keys(elements_liste)).length;
        var diviseur_colonnes = nb_especes < 10 ? 1 : 3;
        var division_elements_liste = Math.floor((Object.keys(elements_liste).length)/diviseur_colonnes);
        var compteur_division_element_liste = 0;

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

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

                var nom_espece = especes_triees_par_nom[i];
                var id_espece = noms_especes_a_id[nom_espece.hashCode()];

                // 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();
                }

                chaine_elements_liste += '<div id="conteneur_espece_numero_'+id_espece+'" class="conteneur_selecteur_espece">';
                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+'" />';
                chaine_elements_liste += '<label for="espece_numero_'+id_espece+'">'+nom_espece+' <span class="nb_obs"></span></label><br />';
                chaine_elements_liste += '</div>';
                compteur_division_element_liste++;

                tableau_couleurs_en_cours[id_espece] = tableau_couleurs[nb_couleur];
                nb_couleur++;
        }
        chaine_elements_liste += '</div>';

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

function initialiserListeEspeces() {

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

function getEspecesSelectionnees() {

        especes_selectionnees = $('.selecteur_espece');
        tab_id_especes = new Array();

        especes_selectionnees.each(function (index, espece) {
                if($(espece).attr('checked') == true && $(espece).val() != 0) {
                        tab_id_especes.push($(espece).val());
                }
        });

        return tab_id_especes;
}

function modifierTableauEvenements() {

        especes_selectionnees = getEspecesSelectionnees();

        elements_liste = new Array();

        if(especes_selectionnees.length > 0) {
                espece = especes_selectionnees.concat(',');
                espece = espece.slice(0, -1);
        } else {
                espece = '0';
        }


        for(i in especes_selectionnees) {
                evenements_especes = tableau_evenements_especes[especes_selectionnees[i]];
                liste_evenements_cette_espece = evenements_especes.split(',');
                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() {

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

function incrementerValeurSlider() {
        var valeur_en_cours = $('#slider_date').slider("value");
        if($('#slider_date').slider("value") < $('#slider_date').slider("option", "max")) {
                valeur_en_cours++;
                $('#slider_date').slider("value",valeur_en_cours);
                setDateSlider();
        } else {
                clearInterval(timerSlider);
                $('#demarrer_slider').removeAttr('disabled');
        }
}

function getAnneeSelectionnee() {
        return $('select#selecteur_liste_annees option:selected').val();
}

function getEspeceSelectionnee() {
        var especes_selectionnees = getEspecesSelectionnees();
        if(especes_selectionnees.length == 0) {
                return 0;
        } else {
                return getEspecesSelectionnees().join(',');
        }
}

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) {

                                // cas de toutes les espèces sélectionnées
                                // donc pas de couleurs disponibles
                                if(type_espece == 0) {
                                        chaine_couleur = "#FF0000,";
                                } else {
                                        if(typeof(tableau_couleurs_en_cours[obs_associees.obs[j].id_espece]) != 'undefined') {
                                                chaine_couleur += tableau_couleurs_en_cours[obs_associees.obs[j].id_espece]+",";
                                        }
                                }
                        }
                }

                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_espece .nb_obs").html("");
        for(id_espece in nb_observations_par_espece) {
                $("#conteneur_espece_numero_"+id_espece+" .nb_obs").html(" ("+nb_observations_par_espece[id_espece]+") ");
        }

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

        if(premier_chargement) {
                selectionnerParametresDynamiquesParDefaut();
        }
}