/*****************************************************************************
Name : toggle
Parameters :  node , DOM element (<a> tag)
Description :     Esplode o collassa un'alberatura
Author : Luca Gerotto

Example:

 <ul>
	<li style="list-style:none">

     <a onClick="toggle(this)" class="folder">
         <img src="plus.gif"><img src="MyDocuments.gif">My documents
     </a>

     <ul style="display:none;">
        <li style="list-style:none">

*****************************************************************************/
function toggleTree(node) {

  // Il prossimo elemento fratello dell'ancora (cerchero' un <ul>)

	var nextFolder = node.nextSibling;
	// Trova il prossimo folder (UL)
	while(nextFolder.nodeName != "UL") {
		nextFolder = nextFolder.nextSibling;
	}

	// Esplode l'alberatura
	if (nextFolder.style.display == 'none') {
                // Se c'e' un'immagine cambio il simbolo da + a -
		if (node.childNodes.length > 0) {
                  changeImageControl(node , "minus.gif");
		}
		nextFolder.style.display = 'block';
	}

	// Collassa l'alberatura
	else {
		// Se c'e' un'immagine cambio il simbolo da - a +
		if (node.childNodes.length > 0) {
                  changeImageControl(node , "plus.gif");
		}
		nextFolder.style.display = 'none';
	}

}//[m] toogle

/**
 * Cambia l'immagine +/- il nome del file e' passato come parametro l'immagine deve essere il primo nodo non testuale del nodo passato come parametro.
 */
function changeImageControl( node , fileName ){
    var i=0;
    while(node.childNodes.item(i).nodeValue!=null){i++;}
    if (node.childNodes.item(i).nodeName == "IMG") {
      node.childNodes.item(i).src = getImgDirectory(node.childNodes.item(i).src) + fileName;
    }

}

function getImgDirectory(source) {
    return source.substring(0, source.lastIndexOf('/') + 1);
}

