var mbW = 600;
var mbA;
var mbT;
var mbTf;
var mbSf;
var mbR = [];

function mbHA()  // amagar el menú passat el temps indicat
{
	if (mbA) 
	{
		while (mbA) mbH(mbA);
		mbHE('visible');
	}
}

function mbHT() 
{
	if (!mbT) mbT=setTimeout('mbHA();', mbW);
}

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;
	if (p.tagName == 'UL') {
		var i = 0;
		while (i < mbR.length) {
			if (mbR[i] == p) return null;
			i++;
		}
	} else {
		return null;
	}
	return mbL(p);
}

function mbSH(m,v) {
	m.className=v;
	mbM(m).style.visibility=v;
}

function mbHE(v) 
{
	// en IE, els elements "select" queden al front de la pàgina
	// els menús quedarien just a sota dels "select"

	// v pot ser "visible" o "hidden"

	//mbHEV(v,document.getElementsByTagName('select')); 

	var x,y;
	if (self.innerHeight) // all except Explorer
	{
		//x = self.innerWidth;
		//y = self.innerHeight;
		// no fer res, el menú es presenta bé
	}
	else if (document.documentElement && document.documentElement.clientHeight)
	// Explorer 6 Strict Mode
	{
		//x = document.documentElement.clientWidth;
		//y = document.documentElement.clientHeight;
		if(v=="visible")
		{
			DivSetVisible(false);
		}
		else
		{
			DivSetVisible(true);
		}		
	}
	else if (document.body && (version>=5.5)) // other Explorers >5.5
	{
		//x = document.body.clientWidth;
		//y = document.body.clientHeight;
		if(v=="visible")
		{
			DivSetVisible(false);
		}
		else
		{
			DivSetVisible(true);
		}
	}
}

function mbHEV(v,e) {
	for (var i=0;i<e.length;i++) e[i].style.visibility=v;
}


function DivSetVisible(state)
{
	var DivRef = getRefToDiv('div_menu');
	var IfrRef = getRefToDiv('DivShim');
	var content = getRefToDiv('content');
	if(state)
	{
		DivRef.style.display = "block";
		DivRef.style.zIndex = 100;
		IfrRef.style.width = '100%'; //DivRef.offsetWidth * 5; // maxim 3 nivells de menu
		IfrRef.style.height = content.offsetHeight;
		IfrRef.style.top = DivRef.style.top;
		IfrRef.style.left = DivRef.style.left;
//		IfrRef.style.filter = 'alpha(opacity="1")'; 
//		IfrRef.style.filter = 'progid:DXImageTransform.Microsoft.Chroma(color="white")';
		IfrRef.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
		IfrRef.style.zIndex = DivRef.style.zIndex - 1;
		IfrRef.style.display = "block";
	}
	else
	{
//		DivRef.style.display = "none";
		IfrRef.style.width = "1px"; 
		IfrRef.style.height = "1px"; 
		IfrRef.style.display = "none";
	}
}

function mbSet(m,c) 
{
	if (document.getElementById && document.createElement) 
	{
		var m = document.getElementById(m);
		m.className=c;
		mbR[mbR.length] = m;
		var i;
	
		e=m.getElementsByTagName('a');
		if (!mbTf) mbTf=new Function('mbHT();');
		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;
		}
	
		m=m.getElementsByTagName('ul');
		for (i=0;i<m.length;i++) 
		{
			mbH(mbL(m[i]));
		}
	}
}

