var cut = function(str,num){
  var res = str;
  if (str.length>num){
    res = str.substring(0,num)+'...';}
  return res;
};

var prepCommNavig = function (comm,ul){
  var id = $('span.forumid',comm).text();
  var hasChildren = ($('.comm'+id).size()>0);
  var titre = $('a.forumtitre',comm).text().replace(' %% ',' %%');
  var tip = titre+' %% '+'<em>posté par '+$('.forumauteur',comm).text()+'</em> %% <em>le '+$('.forumdate',comm).text()+'</em> %% '+cut($('.forumtexte',comm).text(),150);
  tip.replace('"','“');
  
  var li = $('<li/>')
  .append('#'+id)
  .append(hasChildren?
    ' - <img class="toggle" src="squelettes/images/toggle.gif" alt="toggle"/> ':
    ' - ')
  .append('<a class="tipable" href="#forum'+id+'" title="'+tip+'">'
    +cut(titre,20)
    +'</a>');
  if (hasChildren){
    var subul = $('<ul class="navcomm"/>');
    $('.comm'+id).each(function(){prepCommNavig(this,subul);});
    subul.appendTo(li);
  }
  li.appendTo(ul);
};

var resetScroll=function(){
$('body').triggerHandler('resize');};

$(function(){

var pagenavig = $('<div id="pagenavig"><div class="titre">Navigation</div></div>');

$('.ariane').remove().appendTo(pagenavig);
$('.memerubrique').remove().appendTo(pagenavig);

pagenavig
.docker({size:190,imgPath:'squelettes/js/'})
.append('<p class="titremoyen">Article</p><div class="souspartie article"></div>')
.find('.souspartie.article')
.append('<a class="interne" href="#letitre">Titre</a>')
.each(function(){
  if ($('#chapo').size()>0)
    $(this).append('<a class="interne" href="#chapo">Chapo</a>');
})
.append('<a class="interne" href="#text">Texte</a>')
.append('<a class="interne" href="#textsignature">Signature</a>')
.append('<a class="interne" href="#reagir">Réagir</a>')
.each(function(){
  if ($('#images').size()>0)
    $(this).append('<a class="interne" href="#images">Images</a>');
  if ($('#documents').size()>0)
    $(this).append('<a class="interne" href="#documents">Documents</a>');
  if ($('#lien').size()>0)
    $(this).append('<a class="interne" href="#lien">Voir en ligne</a>');
  if ($('#notes').size()>0)
    $(this).append('<a class="interne" href="#notes">Notes</a>');
  if ($('#ps').size()>0)
    $(this).append('<a class="interne" href="#ps"><em>Post-scriptum</em></a>');
})
.end()
.each(function(){
  if ($('#forum').size()>0){
    $(this).append('<p class="titremoyen">Réactions</p><div class="souspartie reactions"><ul/></div>')
    var parent = $('#titre').attr('class');
    var ul = $(this).find('.souspartie.reactions ul');
    $('#forum tr.'+parent).each(function(){prepCommNavig(this,ul);});
    $(this)
    .find('.souspartie.reactions')
    .prepend('<div class="controle"><span class="ouvrir">Tout ouvrir</span> / <span class="fermer">Tout fermer</span></div>')
    .find('.fermer').css('cursor','pointer').click(function(){$('.navcomm',ul).hide();resetScroll();}).end()
    .find('.ouvrir').css('cursor','pointer').click(function(){$('.navcomm',ul).show();resetScroll();}).end();
  }
})
.find('a.tipable').Tooltip({delay:0,showURL:false,showBody:' %% '}).end()
.find('img.toggle').css('cursor','pointer').click(function(){$(this).siblings('ul.navcomm').slideToggle();resetScroll();}).end()
.find('.titremoyen')
	.each(function(){$(this).html('<span class="texte">'+$(this).text()+'</span>')})
	.next().css({padding:'0',margin:'0 0 0 0.5em'}).hide().end()
	.click(function(){$(this).next().slideToggle();resetScroll();})
	.css({cursor:'pointer',padding:'0 1em 0 0',margin:0})
	.find('span.texte').textgrad({maxGroup:1,debut:'#FFF',fin:'#888'}).end()
.end();

});

