/*
 * Tesauro de Hegoa en formato árbol simplificado.
 * Usa prototype.js y behaviour.js
 *
 * eli@efaber.net, 15-12-2005
 * $Id: thesaurus_tree.js,v 1.3 2005/12/16 10:32:22 eli Exp $  
*/

/* Esconder todos los div de las clases level_3 y level_4 */

function autoInitTree() {

 var candidates = document.getElementsByTagName('ul');

 for(var i=0;i<candidates.length;i++) {
   if(candidates[i].className && candidates[i].className.indexOf('tree') != -1) {
       if (candidates[i].className.indexOf('level_3') != -1) {
         candidates[i].style.display='none';
         toggleImg("mas-img-"+candidates[i].parentNode.id, 'mas');
       }
   }
 }          
}  

// Las funciones hide y Show dan error con Safari :-(
function hideList(listEl) {
  parent = listEl.parentNode;
  toggleImg("mas-img-"+parent.id, 'mas');
  listEl.style.display='none';
}


function showList(listEl) {
  parent = listEl.parentNode;
  toggleImg("mas-img-"+parent.id, 'menos');
  listEl.style.display='block';
}

function toggleImg (imgId, newState) {
  if (newState == 'mas') {
    $(imgId).src="/images/mas.png"
    $(imgId).title='desplegar la lista de descriptores';
    $(imgId).alt='desplegar la lista de descriptores';
  }
  if (newState == 'menos') {
    $(imgId).src="/images/menos.png"
    $(imgId).title='esconder la lista de descriptores';
    $(imgId).alt='esconder la lista de descriptores';
  }
}   

/*
 * Find the a child of el of type tag (de tree.js)
 */
function findChildWithTag(el, tag) {
        for(var i=0;i<el.childNodes.length;i++) {
                if(el.childNodes[i].tagName != null && el.childNodes[i].tagName.toLowerCase() == tag) return el.childNodes[i];
        }
        return null;
}          


var myrules = {
    'div.level_2' : function(element){
                        element.onclick = function() {
                          // Mostrar la lista de descriptores
                          listUL = findChildWithTag(this.parentNode, 'ul');
                          if ($(listUL).style.display == 'none' ) {
                            listUL.style.display='block';
                            toggleImg("mas-img-"+listUL.parentNode.id, 'menos');
                          } else {
                            listUL.style.display='none';
                            toggleImg("mas-img-"+listUL.parentNode.id, 'mas');
                          }
                        }
     },
     'div#them_nav a' : function(element) {
         element.onclick = function() {
           liId = this.href.substr(this.href.indexOf('#')+1, this.href.length); 
           new Effect.Highlight(liId); 
           
         }
     }
};

Behaviour.register(myrules);          
