// ------------------------------------------------------------------------
// memoria.js : Funciones de apoyo para menus desplegables en la memoria
// ------------------------------------------------------------------------

// ATENCIO : a la pagina que faci servir aquest script s'hi hauran de
//			 declarar i definir les variables numblocs i numopc

var MSIE = (navigator.appName=="Netscape")?false:true;
var margey = 10;
var menuact = -1;

// ActuY : incrementa una variable en l'altura d'una capa donada
//		pos  - variable que volem incrementar
//		capa - nom de la capa l'altura de la qual fem servir

function ActuY(pos, capa)
{
	if (MSIE)
	{
		document.all[capa].style.posTop = pos;
		pos += document.all[capa].offsetHeight;
	}
	else
	{	
		document.layers[capa].pageY = pos;
		pos += document.layers[capa].clip.height;
	}
	return pos;
}

// EnsenyaCapa : fa visible una capa donada
//		capa - nom de la capa que volem mostrar

function EnsenyaCapa(capa)
{
	if (MSIE)
		document.all[capa].style.visibility = "visible";
	else
		document.layers[capa].visibility = "show";
}

// AmagaCapa : fa invisible una capa donada
//		capa - nom de la capa que colem amagar

function AmagaCapa(capa)
{
	if (MSIE)
		document.all[capa].style.visibility = "hidden";
	else
		document.layers[capa].visibility = "hide";
}

// Existeix : diu si una capa donada existeix al document
//		capa - nom de la capa que volem saber si existeix

function Existeix(capa)
{
	if (MSIE)
		return (document.all[capa]);
	else
		return (document.layers[capa]);
}

// PresentaMenu : actualitza el menu lateral i/o carrega una pagina donada 
//		opcio  - numero de l'opcio que s'ha clicat
//		pagina - pagina que s'ha de carregar (si es defineix)

function PresentaMenu(opcio, pagina)
{
	var enl = false;
	var pos_y = 0;
	
	for (var b=1;b<=numblocs;b++)	
	{
		pos_y += margey;
		pos_y = ActuY(pos_y,"titol" + b);
		for (i=(numopc[b-1]+1);i<=numopc[b];i++)
		{
			pos_y = ActuY(pos_y,"apart" + i);
			if (Existeix("subapart" + i)) AmagaCapa("subapart" + i);
			if (opcio == i) // Estem a l'opcio que s'ha clicat
			{
				if (opcio == menuact) // Es un menu desplegat
				{
					menuact = -1;
					AmagaCapa("subapart" + i);
				}
				else
				{
					if (Existeix("subapart" + i)) // Es un menu plegat
					{
						pos_y = ActuY(pos_y,"subapart" + i);
						EnsenyaCapa("subapart" + i);
						menuact = opcio;
					}
					else	// Es un link directe
					{
						menuact = -1;
						enl = true;
					}					
				}
			}
		}
	}
	if (Existeix("marge")) pos_y = ActuY(pos_y,"marge");
	if (enl)
	{
		if (pagina)
			top.contenido.location = pagina;
		else
			top.contenido.location = "../construc.htm";
	}		
}

// GeneraEnrera: Genera el link per tornar a l'index de noticies

function GeneraPujar()
{
	document.write("<BR><BR><BR>");
	document.write("<A HREF='#pujar'>[Pujar]</A>");
}

