/*
 * date:	2003-11-16
 * info:	http://inspire.server101.com/js/mb/
 */

var mbW=450;
var mbA,mbT,mbTf,mbSf;
var mbR = [];

/* Estableix la classe per a tots els elements */
function mbSet(m,c) {
if (document.getElementById&&document.createElement) {
	var m=document.getElementById(m);
	e = null;
	m.className=c;
	mbR[mbR.length] = m;
	var i;
	
	/* N'obté els enllaços */
	e=m.getElementsByTagName('a');
	if (!mbTf) mbTf=new Function('mbHT();'); /* A cadascun li dona el Timeout per auto-amagar-se*/
	if (!mbSf) mbSf=new Function('mbS(this);');
	for (i=0;i<e.length;i++) {
		e[i].onmouseout=e[i].onblur=mbTf;
		e[i].onmouseover=e[i].onfocus=mbSf;
	}
	
	maux = m;
	
	m=m.getElementsByTagName('ul');
	for (i=0;i<m.length;i++) {
		mbH(mbL(m[i]));
	}
	
	//Al canviar la posició de relatiu a absolut hem de recol·locar
	n=maux.getElementsByTagName('li');
	si=0;
	for (i=0;i<n.length;i++) {
		if( (n[i].parentNode.parentNode.tagName != 'LI') && (c == 'mbh') ) {		
			n[i].style.left = (14 * si)+'em';
			si++;
		}	
	}
}}

/* Hide all */
function mbHA() {
	if (mbA) {
		while (mbA) mbH(mbA);
		mbHE('visible');
	}
}

/* Estableix el timeout per autoamagar-se */
function mbHT() {
	if (!mbT) mbT=setTimeout('mbHA();', mbW);
}

/* Esborra el timeout ( Clear timeout ) */
function mbTC() {
	if (mbT) {
		clearTimeout(mbT);
		mbT=null;
	}
}

function mbS(m) {
	mbTC();
	if (mbA) while (mbA&&m!=mbA&&mbP(m)!=mbA) mbH(mbA);
	else mbHE('hidden');

	if (mbM(m)) {
		mbSH(m,'visible');
		mbA=m;
	}
}

function mbH(m) {
	if (m==mbA) mbA=mbP(m);
	mbSH(m,'hidden');
	mbT=null;
}

function mbL(m) {
	while (m && m.tagName != 'A') m = m.previousSibling;
	return m;
}

function mbM(l) {
	while (l && l.tagName != 'UL') l = l.nextSibling;
	return l;
}

function mbP(m) {
	var p = m.parentNode.parentNode; // 1er Parent = <li>, 2on parent = <ul>
	if (p.tagName == 'UL') {
		var i = 0;
		while (i < mbR.length) {
			if (mbR[i] == p) return null;
			i++;
		}
	} else {
		return null;
	}
	return mbL(p);
}

//Estableix la classe i la visibilitat
function mbSH(m,v) {
	mb = mbM(m);
	
	m.className=v;	
	mb.style.visibility=v; //Aplica la propistat a l'element UL
	if( v == 'hidden' ) {
		mb.style.display='none';
	} else {
		mb.style.display='block';
	}
}

//Mostra o amaga els elements SELECT del formulari per a que hi puguin passar per sobre
function mbHE(v) {
	mbHEV(v,document.getElementsByTagName('select'));
}

//Mostra o amaga tots els elements continguts dintre de e
function mbHEV(v,e) {
	for (var i=0;i<e.length;i++) e[i].style.visibility=v;
}
