//
// Scripts JS pour les topos rivière seuls.
// Dépendances:  'js/evo.js'.
//

$(document).ready(function() {
                $("img").filter(".appareil_photo").hover(function(){montrerBullePhotoOriginale($(this), true);},
                                                        function(){montrerBullePhotoOriginale($(this), false);});
            });

/* TODO: code à mutualiser avec les topos simples. */
function montrerBullePhotoOriginale(element, montrer)
{
   if (montrer)
   {
      var tip = $("div").filter(".tip_photo_originale");
      tip.addClass("tip_visible");
      var x = -150 + element.position().left;
      var y = 20 + element.position().top;
      tip.css({left:x, top:y});
   }
   else
      $("div").filter(".tip_photo_originale").removeClass("tip_visible");
}

function estModeDernieresDescentesToutesVisibles()
{
    var rel = $('#voir_toutes_les_dernieres_descentes').attr('rel');
    var toutes = rel.substring('toutes='.length);
    trace('rel = ' + rel + ', toutes = ' + toutes);
    if (toutes == 'true')
        return true;
    if (toutes == 'false')
        return false;
    trace('Valeur de l\'attribut rel invalide ("' + rel + '").');
    return undefined;
}

//
// Actualise l'affichage d'une dernière descente.
//
// A appeler après modification d'une dernière descente.
//
/*///
function actualiserAffichageDerniereDescente(id_descente, date, texte)
{
    var elt_texte = $('#commentaire_dd_' + id_descente);
    elt_texte.hide();
    elt_texte.html(texte);
    elt_texte.show('slow');

    var elt_date = $('#date_dd_' + id_descente);
    //elt_date.hide();
    elt_date.html(date.toLocaleDateString());
    //elt_date.show('slow'); Ne fonctionne pas correctement: rajoute 'display:block' alors que l'élément est de type 'inline' (et donc change la mise en page).
}
*/

//
// Actualise l'affichage des dernières descente en fonction du nombre de descentes et du
// mode d'affichage (tous / seulement les premières visibles).
//
// A appeler après ajout ou suppression d'un bloc dernière descente.
//
function actualiserAffichageDernieresDescentes()
{
    var elts_descente = $('.infos_derniere_descente');
    //var elts_descente = $('#dernieres_descentes').children('.infos_derniere_descente');
    trace('Nb descentes = ' + elts_descente.length);
    //var bloc_descentes = $('#dernieres_descentes');
    var mention_aucune = $('#aucune_derniere_descente');
    if (elts_descente.length == 0)
        mention_aucune.show();
    else // Il y a des descentes.
    {
        mention_aucune.hide();
        var elts_descente_cache = elts_descente.filter(function(index) {return $(this).css('display') == 'none'});
        trace('Nb descentes cachées = ' + elts_descente_cache.length + ', visibles = ' + (elts_descente.length - elts_descente_cache.length));
        var id_lien_voir_toutes = 'voir_toutes_les_dernieres_descentes';
        if (estModeDernieresDescentesToutesVisibles())
        {
            // Rend tous les commentaires visibles:
            for (var j = 0; j < elts_descente.length; j++)
                $(elts_descente.get(j)).show('normal');

            // Fait disparaître le lien pour les rendres toutes visibles:
            $('#' + id_lien_voir_toutes).hide();
            $('#' + id_lien_voir_toutes).attr('rel', 'toutes=true');
        }
        else // Mode d'affichage = seulement les x premières descentes sont visibles.
        {
            // Rend visible seulement les x premières descentes. Peut faire apparaître des descentes cachées
            // ou disparaître des descentes visibles suivant l'opération qui a précédé (ajout ou suppression d'une descente),
            var nb_descentes_caches = 0;
            for (var i = 0; i < elts_descente.length; i++)
            {
                if (i < affichage_topo.nb_contributions_visibles_mini)
                    $(elts_descente.get(i)).show('slow');
                else
                {
                    $(elts_descente.get(i)).hide();
                    nb_descentes_caches++;
                }
            }

            // Fait apparaître le lien pour montrer toutes les descentes, le cas échéant:
            if (nb_descentes_caches > 0)
                $('#' + id_lien_voir_toutes).show();
            else
                $('#' + id_lien_voir_toutes).hide();
            $('#' + id_lien_voir_toutes).attr('rel', 'toutes=false');
        }
    }
}


