function getElem (elm, sens)
{
  do
  {
    if(elm){
        //alert("getElem: enter: "+elm.nodeName + " " + elm.className +"\n type node :" + elm.nodeType + " / sens :" + sens)
        elm = (sens > 0) ? elm.nextSibling : elm.previousSibling;
		if(elm.nodeType == 1){
			sens = (sens > 0 ) ? sens-1 : sens+1;
		}
	}
  }
  while (elm && elm != document.body && sens != 0)
  //alert("getElem: return: "+elm.nodeName + " " + elm.className +"\n type node :" + elm.nodeType + " / sens :" + sens)

  return (elm);
}

function change_class (link, elm, motif, condition)
{
  if (elm.hasAttribute ("class") && elm.className.indexOf (motif) >= 0)
    {
      elm.setAttribute ('class', (condition > 0) ? motif.concat(' replie') : motif.concat(' deplie'));
      link.innerHTML = (condition > 0) ? '[+]' : '[-]';
      return;
   }
}


function toggle_pliage (link)
{
  var elm = getElem (link.parentNode, 1);
  change_class (link, elm, "post", elm.className.indexOf ("deplie"));
  var elm = getElem (link.parentNode, 2);
  alert("Info du noeud : "+elm.nodeName+ " -- " +elm.getAttribute ('class'));
  change_class (link, elm, "bloc1", elm.className.indexOf ("deplie"));
  change_class (link, elm, "bloc2", elm.className.indexOf ("deplie"));
  var elm = getElem (link.parentNode, 3);
  alert("Info du noeud : "+elm.nodeName+ " -- " +elm.getAttribute ('class'));
  change_class (link, elm, "bloc1", elm.className.indexOf ("deplie"));
  change_class (link, elm, "bloc2", elm.className.indexOf ("deplie"));
  return (false);
}

function toggle_pliage_post (link)
{
  var elm = link.parentNode
  var elm = getElem (link.parentNode, 1);
  change_class (link, elm, "post", elm.className.indexOf ("deplie"));
  return (false);
}
