function addEvent(obj, evType, fn){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, true);
    return true;
  } else if (obj.attachEvent){
  	var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
  	return false;
  }
}

function toggle() {
  var p = this.parentNode;
  if (p.className.indexOf('hide') === -1) {
    hideAll(p.parentNode);
  } else {
    hideAll(p.parentNode);
    p.className = p.className.replace('hide', 'show');
    if ((p.getElementsByTagName('ul').length == 0)) {
      this.className += ' actual';
    }
  }
//  return (p.getElementsByTagName('ul').length == 0);
  return (this.href.indexOf('#') === -1);
}

function hideAll(obj) {
  var aA = obj.getElementsByTagName('a');
  for (var i=0;i<aA.length;++i) {
/*  
    if ((aA[i].parentNode.getElementsByTagName('ul').length > 0) || (aA[i].parentNode.parentNode.id === 'nav')) {
*/    
      aA[i].parentNode.className = aA[i].parentNode.className.replace('show', 'hide');
      aA[i].className = aA[i].className.replace('actual', '');
/*      
    }
*/    
  }
}

function init() {
  var oMenu = document.getElementById('nav');
  var aA = oMenu.getElementsByTagName('a');
  for (var i=0;i<aA.length;++i) {
/*  
    if ((aA[i].parentNode.getElementsByTagName('ul').length > 0) || (aA[i].parentNode.parentNode.id === 'nav')) {
*/    
      aA[i].onclick = toggle;
      aA[i].parentNode.className += ' hide';
/*      
    }
*/    
  }
}

addEvent(window, "load", init);
