// capas.js

// Versió navegador
var isNav4, isNav5, isIE4up, isOther, isDOM1, isLayerDOM, isAllDOM;
isNav4=(navigator.appName.indexOf("Netscape")!=-1)&&(parseInt(navigator.appVersion)==4);
isNav5=(navigator.appName.indexOf("Netscape")!=-1)&&(parseInt(navigator.appVersion)>=5);
isIE4up=(navigator.appName.indexOf("Explorer")!=-1)&&(parseInt(navigator.appVersion)>=4);
isOther=(!isNav4)&&(!isNav5)&&(!isIE4up);

// Model d'objectes

if (document.all) { 
  /* Code which uses only document.all */
	//Suporta DOM1
  isAllDOM=true;
	isDOM1=false;
	isLayerDOM=false;
}else if (document.layers) { 
  /* Code which uses only document.layers */
  isAllDOM=false;
	isDOM1=false;
	isLayerDOM=true;
}else if (document.getElementById) { 
  /* Code which uses only document.getElementById */
  isAllDOM=false;
	isDOM1=true;
	isLayerDOM=false;
} 

function crearObj(capa){
	var objt;
  if(isDOM1 && !isIE4up){
	  objt=document.getElementById(capa);
		objt=objt.style;
	}else if(isNav4 && isLayerDOM){
	  objt=eval("document.layers[\""+capa+"\"]");
	}else if(isIE4up && isAllDOM){
	  objt=eval("document.all[\""+capa+"\"].style");
	}else if(isAllDOM){
	  objt=eval("document.all[\""+capa+"\"].style");
	}else{}
	return objt;
}


var bloqueig=-1;

function bloquejar(nomCapa){
 if(bloqueig==nomCapa){bloqueig=-1;}
 else if(bloqueig==-1){bloqueig=nomCapa;}
 else{
   ocultarCapa(bloqueig,true);
   bloqueig=nomCapa;
 }
}

function bloquejar2(Zindex){
 bloqueig=Zindex;
}

function ocultarCapa(nomCapa) {
 var ok=false;
 if(arguments.length==2){ok=arguments[1];}
 var capa=	crearObj(nomCapa);
//alert(capa.zIndex+","+bloqueig)
 if(capa.zIndex<=bloqueig && !ok){}
 else if(bloqueig==nomCapa && !ok){}
 else{
  if(capa.visibility=='show'){capa.visibility="hide"}
	else{capa.visibility="hidden"}
 }
}	

function mostrarCapa(nomCapa) {
	var capa=	crearObj(nomCapa);
  if(capa.visibility=='hide'){capa.visibility="show"}
	else{capa.visibility="visible"}
}

function obretanca(nomCapa){
	var capa=	crearObj(nomCapa);
	if(isNav4){
	  if(capa.visibility=="show"){capa.visibility="hide"}
		else{capa.visibility="show"}
	}
	else{
		if(capa.visibility=="visible"){capa.visibility="hidden"}
		else{capa.visibility="visible"}
	}
}

function moverCapaA(nomCapa,izqda,arriba) { //moure capa a unes coords determinades
 var capa=	crearObj(nomCapa);
 var sx,sy;
 if(isDOM1 && !isIE4up){ //NS6 i Gecko
	 capa.left=izqda+"px";
	 capa.top=arriba+"px";
 }else if(isNav4 && isLayerDOM){ //NS4
   capa.left=izqda;
	 capa.top=arriba;
 }else if(isIE4up && isAllDOM){ //IE4up
   capa.pixelLeft=izqda;
	 capa.pixelTop=arriba;
 }else if(isAllDOM){ //compatibles amb DOM explorer
   capa.pixelLeft=izqda;
	 capa.pixelTop=arriba;
 }else{}	
}

function moverCapa(nomCapa,izqda,arriba) {
 var capa=	crearObj(nomCapa);
 var sx,sy;
 if(isDOM1 && !isIE4up){ //NS6 i Gecko
   sx=(parseInt(capa.left)+izqda)+"px";//alert(sx)
	 sy=(parseInt(capa.top)+arriba)+"px";
	 capa.left=sx;
	 capa.top=sy;
 }else if(isNav4 && isLayerDOM){ //NS4
   capa.left+=izqda;
	 capa.top+=arriba;
 }else if(isIE4up && isAllDOM){ //IE4up
   capa.pixelLeft+=izqda;
	 capa.pixelTop+=arriba;
 }else if(isAllDOM){ //compatibles amb DOM explorer
   capa.pixelLeft+=izqda;
	 capa.pixelTop+=arriba;
 }else{}	
}

function expandirtexto(nomCapa,n){
  if(isNav4 || isNav5){ventana(name2,n);}
  else{ 
		var capa=	crearObj(nomCapa);
		if(eval('capa.display=="none"')){capa.display="block";}
		else{capa.display="none";}	
  }
}

// obre una capa i tanca abans les que n'hi hagin obertes
function apertura(nomCapa){
 var f=8; //nombre de capes totals
 var inici=0; //capa per la que comencem
 var str="";
 var capa;
 if(arguments.length>1){
  f=arguments[1];
	inici=arguments[2];
 }
 capa=crearObj(nomCapa);
 if(capa.visibility=="visible" || capa.visibility=="show"){ocultarCapa(nomCapa);}
 else{

 for(i=inici;i<f;i++){
  str="Layer"+i;
	capa=	crearObj(str);
	if(capa.visibility=="show"){capa.visibility="hide"} //Nav4
  else{capa.visibility="hidden"}
 }
 if(nomCapa!=null){mostrarCapa(nomCapa);}
}
}

function davant(nomCapa,k){ // k --> nombre de capes
 var maxim=-1;
 var str="";
 for(i=0;i<=k;i++){
  str="Layer"+i;
	capa=	crearObj(str);
  capa.zIndex>maxim ? maxim=capa.zIndex:null;  
 }
 maxim++;
 capa=crearObj(nomCapa);
 capa.zIndex=maxim; 
}