//---------------------------[ mapa.js ]---------------------------
//
//		* JavaScript per fer un menú desplegable a partir d'una llista
//		* JavaScript para hacer un menú desplegable a partir de una lista
//
//		* Extreta de / Extraída de: 
//		  http://www.tierradenomadas.com
//
//		http://www.bdpcenter.com
//		bdp[at]bdpcenter.com
//_________________________________________________________________
//
//
//	Workaround perquè també sigui visible amb els navegadors que
//	encara no implementen del mòdul d'events del segon nivell del DOM
if (document.implementation) {
	if (document.implementation.hasFeature('Events','2.0')) {
		var DOM2 = true;
	} else {
	   var DOM1 = true;
	   var elmObj = null;
	}
} else {
	if (document.getElementById) {
	   var DOM1 = true;
	   var elmObj = null;
	}
}


if (DOM1 || DOM2) {
	var Imagen = new Image;
 	Imagen.src = 'grafics/lstmapnone.gif';
}


//____[ iniciaArbre ]______________________________________________
//
//  	- Amaga les branques de la llista (si no, segons l'XHTML i el
//		  CSS, inicialment es veuria tot desplegat)
//  	- Esconde las listas anidadas (si no, según el XHTML y el CSS,
//		  inicialmente se vería todo desplegado)
//
//		* Es crida des de l'event onLoad del <body>
//		* Es llamda desde el evento onLoad del <body>
//
function iniciaArbre(menuId) {
	if (!DOM1 && !DOM2) return null;
	
	var Menu = document.getElementById(menuId);
	var Submenues = Menu.getElementsByTagName('ul');
	
	for (var i=0; i < Submenues.length; i++) {
	  	Submenues[i].style.display='none';
	  	Submenues[i].parentNode.style.backgroundImage = 'url(grafics/lstmapblock.gif)';
	  	
	  	if (DOM1) Submenues[i].parentNode['onclick']=new Function('accionarBranca(this);');
	  	if (DOM2) Submenues[i].parentNode.addEventListener('click', accionarBranca, 0);
	}
}


//____[ accionarBranca ]___________________________________________
//
//  	- Canvia els valors de les propietats 'display' entre 'none' i 'block'
//		  i 'background-image' per l'efecte de plegar i desplegar una branca
//  	- Cambia los valores de las propiedades 'display' entre 'none' y 'block'
//		  y 'background-image' para el efecto de plegar y desplegar una rama
//
function accionarBranca(E) {
	var elmLI = (DOM1) ? E : E.currentTarget;
	if (DOM1) {
		if (elmObj == null) elmObj = elmLI;
	  	if (elmObj.parentNode.parentNode == elmLI) return elmObj = elmLI;
	}
	if (DOM2) {
	 	if (elmLI.nodeName!='LI') return null;
	}
	var estiloActual;
	for (var i=0; i < elmLI.childNodes.length; i++) {
		if (elmLI.childNodes[i].nodeName=='UL') {
	   	estiloActual = elmLI.childNodes[i].style.display;
	    	elmLI.childNodes[i].style.display = (estiloActual=='none') ? 'block' : 'none';
	    	elmLI.style.backgroundImage = 'url(grafics/lstmap'+estiloActual+'.gif)';
	   }
	}
	if (DOM1) elmObj = elmLI;
	if (DOM2) E.stopPropagation();
}
