/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// TItem(text,type,link,target,menu)	// Función constructora del los ITEMS del menu, ya sea otro MENÚ PADRE o ITEM hijo.
// kerMenu(name)						// Función constructura del MENÚ.
// smAddItem(text,link,target)			// Crea un nuevo objeto TItem -> item.
// smAddMenu(text,menu, link, target)	// Crea un nuevo TItem -> menu.
// print(level)							// Crea los valores del menú y los imprime por pantalla.
// click(num,change)					// Verif. si el menú actual tiene hijos y redibuja el menú. Link a frame contenido.
// SetHREF(str)							// Recoge los &nbsp; de str y los separa del link para el subrayado solo palabra.
// Move(on,act)							// Mueve el menú de arriba a abajo o viceversa en función de on.
// ref(nom_capa,ns_ref)					// Devuelve un objeto all/layers o alguna de sus propiedades.
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

var HREF="";

TRUE=0;
FALSE=1;
NORMAL=0;
POPUP=1;

var Mare;
var A_RAS;
var Size;

function PosNS(){
//	A_RAS=(ie) ? 7:10;
//	Size=(ie) ? 2:1;
	A_RAS=0;
	Size=0;
}

function InitMenu(){
	Mare="document.layers['mare'].";
	PosNS();
	MakeMenuTree();
} 


function TItem(text,type,link,target,menu){
	this.text=text;
	this.type=type;
//Added Francesc Roca 3/10/2001 BEGIN: Para hacer que la opción de primer nivel activa se muestre en blanco, aunque no tenga subopción activa
	this.subhomeactual=FALSE;
//Added Francesc Roca 3/10/2001 END

	if(type==NORMAL){
		this.link=link;
		this.target=target;
	}
	else if(type==POPUP){
		this.link=link;
		this.target=target;
		this.menu=menu;
		this.clicked=FALSE;
	}  
}

function kerMenu(name){
	this.addItem=smAddItem;
	this.addMenu=smAddMenu;
	this.click=click;
	this.print=print;
	this.parent=null;
	this.name=name
	this.numItem=0;
	this.item=new Array();
}

function smAddItem(text,link,target){
	this.item[this.numItem++]=new TItem(text,NORMAL,link,target,null);
}

function smAddMenu(text,menu, link, target){
	if (link == "") link = null
	if (target == "") target = null

	this.item[this.numItem++]=new TItem(text,POPUP,link,target,menu);  
	menu.parent=eval(this.name);
}

function print(level){
var i;
var j=0;

	if(level==0){
//		tmp="<table width='146' border='0' cellpadding='0' cellspacing='0'>";
//		tmp+="<tr><td><img src='../img/spacer.gif' width='9' height='1'></td>";
//		tmp+="<td><img src='../img/spacer.gif' width='15' height='1'></td>";
//		tmp+="<td><img src='../img/spacer.gif' width='122' height='1'></td></tr>";
		tmp="<table width='760' border='0' cellspacing='0' cellpadding='0'>";
		tmp+="<tr>";
		tmp+="<td valign='top'><img src='../img/spacer.gif' width='1' height='43' border='0'><br>";
		tmp+="<table width='145' border='0' cellpadding='1'>";
		}
	
	for(i=0;i<this.numItem;i++){
		
		if(this.item[i].type==NORMAL){      
			SetHREF(this,this.item[i],i,level);
//			tmp+="<tr><td class='invisible1'>&nbsp;</td>"+HREF+"</tr>";
			tmp+="<tr><td><img src='../img/spacer.gif' width='1' height='1' border='0'></td>"+HREF+"</tr>";
		}
		else if(this.item[i].type==POPUP){
		
			if(this.item[i].clicked==TRUE){
				SetHREF(this,this.item[i],i,level);
//				tmp+="<tr><td class='invisible2'>&nbsp;</td>"+HREF+"</tr>";
				tmp+="<tr><td><img src='../img/spacer.gif' width='1' height='1' border='0'></td>"+HREF+"</tr>";
				this.item[i].menu.print(level+1);
			}
			else if(this.item[i].clicked==FALSE){
				SetHREF(this,this.item[i],i,level);
//				tmp+="<tr><td class='invisible2'>&nbsp;</td>"+HREF+"</tr>";
				tmp+="<tr><td><img src='../img/spacer.gif' width='1' height='1' border='0'></td>"+HREF+"</tr>";
			}
		}
		j++;
	}

	if(level==0){
//		tmp+="</table>";
		
		tmp+="<tr><td colspan='3'><br><br><img src='../img/cse_logo1.gif'></td></tr>";
		tmp+="</table>";
		tmp+="</td>";
		tmp+="</tr>";
		tmp+="</table>";
		}
	
	if(level==0){
		if(ns){  	
			eval(ref("menu",Mare)+"top="+A_RAS);
			document.layers["mare"].document.layers["menu"].document.open("text/html", "replace");
			document.layers["mare"].document.layers["menu"].document.write(tmp);
			document.layers["mare"].document.layers["menu"].document.close();      
		}
		else{
			if(ie){
				eval(ref("menu","")+"top="+A_RAS);
				document.all["menu"].innerHTML=tmp; 
			}
		}
	}
}


function SetHREF(This,ThisItem,i,level){
	var str=ThisItem.text;
	var color="";

	// Si tiene espacios es que es una opción final del menú.
	if(str.indexOf("&nbsp;")!=-1){
		// Item con link sin padre interior.
		if(This.name == document.fmenu.mnom.value && i == parseInt(document.fmenu.mitem.value)){
//			HREF="<td valign='top'><img src='../img/cse_fletxa_menu.gif' border='0'></td>";
//			HREF+="<td valign='middle'><A HREF=javascript:envia('"+This.name+"','"+i+"','"+ThisItem.link+"'); class='submenublanco'>"+str.substr(str.lastIndexOf(";")+1,str.length)+"</a></td>";
//Comment Francesc Roca 24/09/2001:			HREF="<td valign='top'><img src='../img/cse_fletxa_menu.gif' border='0' width='12' height='13'></td>";
//Comment Francesc Roca 24/09/2001:			HREF+="<td valign='middle'><span class='submenublanco'>"+str.substr(str.lastIndexOf(";")+1,str.length)+"</span></td>";
//Added Francesc Roca 24/09/2001 BEGIN: Para hacer clickables las opciones activas
			HREF="<td valign='top'><img src='../img/cse_fletxa_menu.gif' border='0' width='12' height='13'></td>";
			HREF+="<td valign='middle'><A HREF=javascript:envia('"+This.name+"','"+i+"','"+ThisItem.link+"'); class='submenublanco'>"+str.substr(str.lastIndexOf(";")+1,str.length)+"</a></td>";
//Added Francesc Roca 24/09/2001 END
		}
		else{
//			HREF="<td valign='top' class='invisible1'>&nbsp;</td>";
//			HREF+="<td valign='middle'><A HREF=javascript:envia('"+This.name+"','"+i+"','"+ThisItem.link+"'); class='submenunegro'>";
//			HREF+=str.substr(str.lastIndexOf(";")+1,str.length)+"</A></td>";
			HREF="<td class='invisible1' valign='top'>&nbsp;</td>";
			HREF+="<td valign='middle'><a href=javascript:envia('"+This.name+"','"+i+"','"+ThisItem.link+"'); class='submenunegro'>";
			HREF+=str.substr(str.lastIndexOf(";")+1,str.length)+"</a></td>";
		}
		
	}
	else{
		// Si no tiene espacios y es de tipo 0 es que és un menú descriptivo y no linkable si es q su link es contenido.asp.
		
		// De tipo 0 son los menús interiores, los de tipo 1 son los padres.
		if(ThisItem.type==1){
			
			if(level==0 && i != (parseInt(document.fmenu.mnom.value.substr(7))-1)){
				//caso en que el menú no contiene el submenú marcado con la flecha
//				HREF="<td colspan='2'><A HREF='javascript:"+This.name+".click("+i+",TRUE);' class='linkmenu'>"+str+"</A></td>";
//Comment Francesc Roca 3/10/2001:				HREF="<td colspan='2'><a href='javascript:"+This.name+".click("+i+",TRUE);' class='linkmenu'>"+str+"<br></a></td>";
//Added Francesc Roca 3/10/2001 BEGIN: Para hacer clickable opción 1er nivel, si link no empieza por caracter almoadilla
				if (ThisItem.link.indexOf("#")==0) {
					HREF="<td colspan='2'><a href='javascript:"+This.name+".click("+i+",TRUE);' class='linkmenu'>"+str+"<br></a></td>";
				} else {  
				HREF="<td colspan='2'><a href=javascript:envia('"+This.name+"','"+i+"','"+ThisItem.link+"'); class=linkmenu>"+str+"<br></a></td>";
				}
//Added Francesc Roca 3/10/2001 END:
//Added Francesc Roca 3/10/2001 BEGIN: Para hacer que la opción de primer nivel activa se muestre en blanco, aunque no tenga subopción activa
				if (ThisItem.subhomeactual==TRUE	) {
					HREF="<td colspan='2'><span class='menuactual'>"+str+"<br></span></td>";
				}
//Added Francesc Roca 3/10/2001 END:
			}
			else{
				if(ThisItem.clicked==TRUE){
//					HREF="<td colspan='2'><span class='menuactual'>"+str+"</span></td>";
					HREF="<td colspan='2'><span class='menuactual'>"+str+"<br></span></td>";
				}
				else{
//					HREF="<td colspan='2'><A HREF='javascript:"+This.name+".click("+i+",TRUE);' class='linkmenu'>"+str+"</A></td>";
//Comment Francesc Roca 3/10/2001:					HREF="<td colspan='2'><a href='javascript:"+This.name+".click("+i+",TRUE);' class='linkmenu'>"+str+"<br></a></td>";
//Added Francesc Roca 3/10/2001 BEGIN:  Para hacer clickable opción 1er nivel, si link no empieza por caracter almoadilla
				if (ThisItem.link.indexOf("#")==0) { 
					HREF="<td colspan='2'><a href='javascript:"+This.name+".click("+i+",TRUE);' class='linkmenu'>"+str+"<br></a></td>";
				} else {
				HREF="<td colspan='2'><a href=javascript:envia('"+This.name+"','"+i+"','"+ThisItem.link+"'); class='linkmenu'>"+str+"<br></a></td>";
				}
//Added Francesc Roca 3/10/2001 END:
				}
			}
			
			
		}
		else{
		
		 	// Item con Link interiores.
			if(This.name == document.fmenu.mnom.value && i == parseInt(document.fmenu.mitem.value)){
//				HREF="<td valign='top'><img src='../img/cse_fletxa_menu.gif' border='0'></td>";
//				HREF+="<td valign='middle'><A HREF=javascript:envia('"+This.name+"','"+i+"','"+ThisItem.link+"'); class='submenublanco'>"+str.substr(str.lastIndexOf(";")+1,str.length)+"</a></td>";
//Comment Francesc Roca 24/09/2001:				HREF="<td valign='top'><img src='../img/cse_fletxa_menu.gif' border='0' width='12' height='13'></td>";
//Comment Francesc Roca 24/09/2001:				HREF+="<td valign='middle'><span class='submenublanco'>"+str.substr(str.lastIndexOf(";")+1,str.length)+"</span></td>";
//Added Francesc Roca 24/09/2001 BEGIN: Para hacer clickables las opciones activas
				HREF="<td valign='top'><img src='../img/cse_fletxa_menu.gif' border='0' width='12' height='13'></td>";
				HREF+="<td valign='middle'><A HREF=javascript:envia('"+This.name+"','"+i+"','"+ThisItem.link+"'); class='submenublanco'>"+str.substr(str.lastIndexOf(";")+1,str.length)+"</a></td>";
//Added Francesc Roca 24/09/2001 END
			}
			else{
//				HREF="<td valign='top' class='invisible1'>&nbsp;</td>";
//				HREF+="<td valign='middle'><A HREF=javascript:envia('"+This.name+"','"+i+"','"+ThisItem.link+"'); class='submenunegro'>";
//				HREF+=str.substr(str.lastIndexOf(";")+1,str.length)+"</A></td>";
				HREF="<td class='invisible1' valign='top'>&nbsp;</td>";
				HREF+="<td valign='middle'><a href=javascript:envia('"+This.name+"','"+i+"','"+ThisItem.link+"'); class='submenunegro'>";
				HREF+=str.substr(str.lastIndexOf(";")+1,str.length)+"</a></td>";
			}

		}
	}
}


function click(num,change){
var tmp;
var k;
var Frame;

	if((this.parent==null)&&(change==FALSE)){
		this.print(0);
		}
	else{
		if(change==TRUE){
			if(this.item[num].clicked==TRUE) this.item[num].clicked=FALSE;
			else if(this.item[num].clicked==FALSE) this.item[num].clicked=TRUE;

			for(k=0;k<this.numItem;k++){		
				if(k!=num){
					this.item[k].clicked=FALSE;
				}    	
			}
			if(!isNaN(parseInt(document.fmenu.mnom.value.substr(7))-1)){
				this.item[(parseInt(document.fmenu.mnom.value.substr(7))-1)].clicked=TRUE;
				}
		}
		this.print(0);  
	}
}


var prop;

function ref(nom_capa,ref_ns){
	if(ref.arguments[2]){
		prop=ref.arguments[2];
		prop=prop.toLowerCase();
	}
	else prop="";
	
	switch(prop){
		case "top":
			if(ie) return eval("document.all['" + nom_capa + "'].offsetTop");
			if(ns) return eval(ref_ns+"document.layers['" + nom_capa + "'].top");
			break;

		case "left":
			if(ie) return eval("document.all['" + nom_capa + "'].offsetLeft");
			if(ns) return eval(ref_ns+"document.layers['" + nom_capa + "'].left");
			break;

		case "height":
			if(ie) return eval("document.all['" + nom_capa + "'].offsetHeight");
			if(ns) return eval(ref_ns+"document.layers['" + nom_capa + "'].clip.height");
			break;

		case "width":
			if(ie) return eval("document.all['" + nom_capa + "'].offsetWidth");
			if(ns) return eval(ref_ns+"document.layers['" + nom_capa + "'].width");
			break;

		default:
			if(ie) return "document.all['" + nom_capa + "'].style.";
			if(ns) return (ref_ns+"document.layers['" + nom_capa + "'].");		
			break;
	}
} 

var c=200;
