/*

	Funcions generals de JavaScript
	Creades per: Iban Borràs <iban@dilemagrafic.com>

*/

	// Activador de link de pujar a l'inici de la web (si cal)

	var actCLink;

	function activaLinkUp () {

        actCLink=true;

		if (isIE) {
			scrdim=document.documentElement.clientHeight;
			scrdimTotal=document.body.offsetHeight;
		} else {
			scrdim=self.innerHeight;
			scrdimTotal= document.body.offsetHeight;
		}

		if ((scrdimTotal-100)>scrdim)
		    visibleDiv("linkUp", "visible");
		else
		    visibleDiv("linkUp", "hidden");

	}

	// controlador de sub-menús

	var contMenu=clearTimeout();
	var acumSubMenu=new Array();

	var gnr_menuEffect=false;
	
	function esperaMenus(delai) { contMenu=setTimeout("apagaMenus()",delai); }

	function paraContaMenu() { clearTimeout(contMenu); }

	function registraMenu(c) { // v 1.0
        var b=false;
	    for (a=0;a<acumSubMenu.length;a++)
	        if (acumSubMenu[a]==c) b=true;
		if (b==false || acumSubMenu.length==0) acumSubMenu[acumSubMenu.length]=c;
	}
	function activaMenu(a) { // v 1.0
	    paraContaMenu();
	    apagaMenus();
	    registraMenu(a);
	    if (gnr_menuEffect=="fade")
	        fade(a, "in", 100, 10);
		else
        	visibleDiv(a, 'visible');

 	}

	function apagaMenus() { // v. 1.0
		altera_selects ("visible");
		for (a=0;a<acumSubMenu.length;a++)
			if (gnr_menuEffect=="fade")
          		fade(acumSubMenu[a], "out", 0, 20);
			else
          		visibleDiv(acumSubMenu[a], 'hidden');
	}

	function altera_selects (mode) { // v 0.1 per a Explorer
		if (document.forms.length && isIE) {
			for (aa=0;aa<document.forms.length;aa++) {
				for (d=0;d<document.forms[aa].elements.length;d++) {
  					var e=document.forms[aa].elements[d];
   					if (e.type.substr(0,6) == "select") {
						e.style.visibility = mode;
					}
				}
  			}
		}
	}
	
	var effects=[];
	
	function fadeDiv (b) {
		var a=effects[b]["fade"];
		if (a[0]!=a[1]) {
		    if (a[3]=="in") {
		        a[0]=a[0]+a[2];
			    if (a[0]>a[1]) a[0]=a[1];
		    } else {
		        a[0]=a[0]-a[2];
			    if (a[0]<a[1]) a[0]=a[1];
		    }
		    effects[b]["fade"]=a;
		    divAlpah(b, a[0]);
		    setTimeout("fadeDiv('"+b+"')", 5);
    	}
	}
	function fade () {
		var a=fade.arguments;
		if (!effects[a[0]]) effects[a[0]]=[];
		if (!a[3]) a[3]=5;
		if (!effects[a[0]]["fade"]) {
		   effects[a[0]]["fade"]=[0, a[2], a[3], a[1]];
		} else {
           effects[a[0]]["fade"]=[effects[a[0]]["fade"][0], a[2], a[3], a[1]];
		}
		fadeDiv(a[0]);
	}
