///////////////////////////////////////////////////////////////////////////////////////
// Scripts del menú
///////////////////////////////////////////////////////////////////////////////////////
var menu_passos=10;
var menu_velocidad=25;
var menu_estem=0;
var menu_desplegat=0;
var menu_alturaSimple=0;
var menu_ensenyaPost=0;
var menu_semafor=false;

menu_recorda = new Array();

function menu_desplega(quin) {
	if (!menu_semafor && (menu_desplegat!=0 || quin!=0)) {
		menu_semafor=true;
		if (menu_desplegat==0 && menu_alturaSimple==0) menu_alturaSimple=dimeHeight('menu');
		if (quin != menu_desplegat) {
			if (quin==0) {
				document.getElementById('plegaDesplega').className='';
				document.getElementById('mascaraMouseover').style.display='none';
			} else {
				document.getElementById('plegaDesplega').className='obert';
				document.getElementById('mascaraMouseover').style.display='block';
			}

			var alturaActual=menu_alturaSimple;
			if (menu_desplegat != 0) alturaActual += dimeMaxHeight('submenu_' + menu_desplegat);

			var alturaFinal=menu_alturaSimple;
			if (quin != 0) {
				alturaFinal += dimeMaxHeight('submenu_' + quin);
				imposaHeight('submenu_' + quin, dimeMaxHeight('submenu_' + quin));
			}
			if (alturaFinal>alturaActual) {
				//Els submenus creixen
				menu_amaga(menu_desplegat);
				menu_mostra(quin);
				menu_desplegat=quin;
				accioAlAcabar='menu_netejaSemafor()';

				menu_transicion(quin, alturaActual, alturaFinal, (alturaFinal-alturaActual) / menu_passos,accioAlAcabar)
			} else if (alturaFinal<alturaActual) {
				//Els submenus decreixen
				menu_ensenyaPost=quin;
				accioAlAcabar='menu_accioPost()';
				menu_transicion(menu_desplegat, alturaActual, alturaFinal, (alturaFinal-alturaActual) / menu_passos,accioAlAcabar)
			} else {
				//L'alçada del submenu no varia
				menu_amaga(menu_desplegat);
				menu_mostra(quin);
				menu_desplegat=quin;
				menu_semafor=false;	
			}
		} else {
			menu_semafor=false;
			menu_desplega(0);
		}
	}
}

function dimeMaxHeight (ide) {
	if (menu_recorda[ide]) {
		alcada=menu_recorda[ide];
	} else {
		var submenu = document.getElementById(ide);
		var alcada=submenu.offsetHeight;
		var arbre = submenu.getElementsByTagName('ul');

		for(i=0; i<arbre.length; i++) {
			if (alcada<arbre[i].offsetHeight) alcada=arbre[i].offsetHeight;
		}
		menu_recorda[ide]=alcada;
	}
	return alcada;
}

function imposaHeight (ide, alcada) {
	var submenu = document.getElementById(ide);
	submenu.style.height=alcada+'px';
	var arbre = submenu.getElementsByTagName('ul');

	for(i=0; i<arbre.length; i++) {
		arbre[i].style.height=alcada+'px';
	}
}

function dimeHeight (ide) {
	return document.getElementById(ide).offsetHeight;
}

function menu_transicion(opcion,actual,final,paso,alacabar) {
	actual=actual+paso;
	if ((paso > 0 && actual>final) || (paso < 0 && actual<final)) actual=final;
	document.getElementById('submenu_'+opcion).style.clip="rect(0px 1000px "+ (Math.floor(actual)-menu_alturaSimple) + "px 0px)";
	document.getElementById('menu').style.height=(Math.floor(actual)+((final==0) ? 0 : 4))+'px';
	
	if(actual!=final) {
		cadena='menu_transicion('+opcion+','+actual+','+final+','+paso+',"'+alacabar+'")';
		setTimeout(cadena,menu_velocidad);
	} else {
		if (alacabar != '') eval(alacabar);
	}
}

function menu_accioPost() {
	menu_amaga(menu_desplegat);
	menu_mostra(menu_ensenyaPost);
	menu_desplegat=menu_ensenyaPost;
	menu_ensenyaPost=0;
	menu_semafor=false;	
}

function menu_netejaSemafor() {
	menu_semafor=false;
}

function menu_amaga(quin) {
	if (quin !=0) document.getElementById('submenu_'+quin).style.marginTop="-1000px";
}

function menu_mostra(quin) {
	if (quin !=0) {
		document.getElementById('submenu_'+quin).style.marginTop="0px";
		document.getElementById('submenu_'+quin).style.clip="rect(0px 1000px 400px 0px)";
	}
}

function menu_plega_desplega(n) {
	if (menu_desplegat==0) {
		menu_desplega(n);
	} else {
		menu_desplega(0);
	}
}

function menu_persistencia(que) {
	var clase=((que)? 'persistencia' : '');
	document.getElementById('menu').className=clase;
}

///////////////////////////////////////////////////////////////////////////////////////
// Scripts pestanyes dels moduls
///////////////////////////////////////////////////////////////////////////////////////
tab_recorda = new Array();

function clickTab(grup,pestanya) {
	if (!tab_recorda[grup]) tab_recorda[grup]=1;
	if (tab_recorda[grup] != pestanya) {
		document.getElementById('linkTab_'+grup+'_'+tab_recorda[grup]).className='';
		document.getElementById('linkTab_'+grup+'_'+pestanya).className='on';
		document.getElementById('tab_'+grup+'_'+tab_recorda[grup]).style.display='none';
		document.getElementById('tab_'+grup+'_'+pestanya).style.display='block';
	}
	tab_recorda[grup] = pestanya;
}

///////////////////////////////////////////////////////////////////////////////////////
// Scripts login popup
///////////////////////////////////////////////////////////////////////////////////////
function login_open() {
	$(".contingutCap").before('<div id="capaFons"></div>');
	$(".contingutCap").before('<div id="login"></div>');
	$("#capaFons").css("display","none");
	$("#capaFons").fadeIn("slow", function () { $("#capaFons").css("filter","alpha(opacity=85)"); });
	$("#login").load("login_pop.html");
}

function login_close() {
	$("#capaFons").fadeOut("fast", function () { $("#capaFons").remove(); } );
	$("#login").remove();
}

