var OPEN_CLASSNAME = "submenu-open";
var CLOSED_CLASSNAME = "submenu-closed";

/*
 * Retourne l'élément précédent l'objet "element", et étant de type "nodeName"
 * Exemple : getPreviousElement(element, "A"); // retourne le lien précédent l'élément
 */
function getPreviousElement(element, nodeName) {
  var previous = element.previousSibling;
  while(previous != null && previous.nodeName != nodeName)
    previous = previous.previousSibling;
  return previous;
}
/*
 * Retourne l'élément suivant l'objet "element", et étant de type "nodeName"
 */
function getNextElement(element, nodeName) {
  var next = element.nextSibling;
  while(next != null && next.nodeName != nodeName) 
    next = next.nextSibling;
  return next;
}

/*
 * Ouvre le sous-menu courant
 */
function toggleMenu(a){
  var ul = getNextElement(a, "UL");
  if (ul.className == OPEN_CLASSNAME)
    closeMenu(a);
  else if(ul.className == CLOSED_CLASSNAME)
		openMenu(a);
}

/*
 * Ouvre le sous-menu courant
 */
function openMenu(a){
  var ul = getNextElement(a, "UL");
  ul.className = OPEN_CLASSNAME;
	getPreviousElement(ul, "IMG").src = "images/menu_collapse.gif";

}

/*
 * Ferme le sous-menu courant
 */
function closeMenu(a){
  var ul = getNextElement(a, "UL");
  ul.className = CLOSED_CLASSNAME;
	getPreviousElement(ul, "IMG").src = "images/menu_expand.gif";
}

/*
 * Ferme le sous-menu courant
 */
function closeAllMenuItems(){
  var menu_elements = document.getElementsByName("menu_album");
  for (var i=0; i<menu_elements.length; i++) {
    var ul = getNextElement(menu_elements[i], "UL");
    if (ul != null && ul.className == OPEN_CLASSNAME) {
      closeMenu(menu_elements[i]);
  	}
  }
}





