function cierra_menu (id1,id2) 
{
	//id2 es el menu principal
	
	var obj = document.getElementById(id1);
	var obj2 = document.getElementById(id2);	
	
	cambioEstado=1;
	if(obj.className=="oculto")
	{
		//estaba cerrado y lo abrimos aņadimos el id al final
		//se cierran todos los menus excepto el que se acaba de abrir
		var menuExclusivo=false;
		for(i=0;i<vExclusivo.length;i++)
		{
			if(id2==vExclusivo[i])
				menuExclusivo=true;
		}
		if(menuExclusivo==true) //solo se cierra en caso de que habramos un menu correspondiente a los exclusivos
		{
			for(i=0;i<vE.length;i++) //para cada elemento del vector de estados comprobamos si es exclusivo en tal caso se cierrra
			{

				var elemento=vE[i];
				for(j=0;j<vExclusivo.length;j++)
				{
					if(elemento==vExclusivo[j]) //si es exlusivo se cierra ya que solo puede quedar abierto el actual
					{

						var identificador='submenu_'+elemento;
						var cajaElementos=document.getElementById(identificador);
						var cajaSuperior=document.getElementById(elemento);

						cajaElementos.className="oculto";
						if(cajaSuperior.className=="fondo_enlace_menos")
							cajaSuperior.className="fondo_enlace_mas";
							ponerImagen(elemento,"+");
						eliminarVector(elemento);
					}
				}
			}
		}

		obj.style.opacity="0.0";
		obj.style.filter="alpha(opacity=0)";
		obj2.className="fondo_enlace_menos";
		ponerImagen(id2,"-");		
		obj.className="mostrar";
		Effect.Appear(id1,{duration:1.0});

		vE[vE.length]=id2;
		
		posActual++;
		
	}
	else
	 {
		obj2.className="fondo_enlace_mas";
		ponerImagen(id2,"+");
		obj.className="oculto";
		//estaba abierto y lo cerramos
		//tenemos que quitar su id de vector de estados
		//Effect.BlindUp(id1);
		eliminarVector(id2);
                posActual--;

		//mostrarVector();
	}
}	

function ponerImagen(id,simbolo)
{
	var img=document.images["img" + id];
	if (simbolo=="+")
	{	
		img.src=img_mas.src;
		img.alt=img_mas.alt;
		img.title=img_mas.title;
	}
	else
	{
		img.src=img_menos.src;
		img.alt=img_menos.alt;
		img.title=img_menos.title;
	}
}

function cierra_menu_derecho (idElementos,idActivo)
 {
        cambioEstado=1;
	var obj = document.getElementById(idElementos);

	if(obj.className=="mostrar" || obj.className=="defecto")
	 {

		obj.className="oculto";	
		
	 }
	else //oculto
	 {

		for(i=0;i<vIdsDerecho.length;i++)
		{
			var identificador='sub_menu_derecho_'+vIdsDerecho[i];
			var cajaElementos=document.getElementById(identificador);
			cajaElementos.className="oculto";

		}

		obj.style.opacity="0.0";
		obj.style.filter="alpha(opacity=0)";
		Effect.Appear(idElementos,{duration:1.0});

		obj.className="mostrar";
		
	 }
}	

function cierra_menu_generico (id1,id2) 
{
        cambioEstado=1;
        
	var obj = document.getElementById(id1);
		//alert(obj.style.display);
	if(obj.className=="mostrar" || obj.className=="defecto")
	 {

		obj.className="oculto";	
		eliminarVector(id2);
		//mostrarVector();
                posActual--;
		
	 }
	else //oculto
	 {

		var menuExclusivo=false;
		for(i=0;i<vExclusivo.length;i++)
		{
			if(id2==vExclusivo[i])
				menuExclusivo=true;
		}
		if(menuExclusivo==true) //solo se cierra en caso de que habramos un menu correspondiente a los exclusivos
		{
			for(i=0;i<vE.length;i++) //para cada elemento del vector de estados comprobamos si es exclusivo en tal caso se cierrra
			{

				var elemento=vE[i];
				for(j=0;j<vExclusivo.length;j++)
				{
					if(elemento==vExclusivo[j]) //si es exlusivo se cierra ya que solo puede quedar abierto el actual
					{

						var identificador='submenu_'+elemento;
						var cajaElementos=document.getElementById(identificador);
						var cajaSuperior=document.getElementById(elemento);

						cajaElementos.className="oculto";
						cajaSuperior="fondo_enlace_mas";
						ponerImagen(id2,"+");
						eliminarVector(elemento);
					}
				}
			}
		}
		obj.style.opacity="0.0";
		obj.style.filter="alpha(opacity=0)";
		Effect.Appear(id1,{duration:1.0});

		obj.className="mostrar";
		vE[vE.length]=id2;
		posActual++;
		
	 }
}	

function eliminarVector(id)
{
	var vectorTemporal=new Array();
	var j=0;
	for(i=0;i<vE.length;i++)
	{
		if(vE[i]!=id)
		{
			vectorTemporal[j]=vE[i];
			j++;
		}
	}
	vE=new Array();
	for(i=0;i<vectorTemporal.length;i++)
	{
		vE[i]=vectorTemporal[i];
	}
	
}


function vacio()
{
	
}

/** Aņade al enlace el vector de estados  **/
function anadirEstado(elem)
{
 
 var exp=/.vE=.*(&?)/;
 elem.href=elem.href.replace(exp,'$1');

   if(vE.length>0)
   {
    var vector=getVectorEstados();
    
    if (elem.href.indexOf('?')!=-1) elem.href=elem.href+'&';
    else elem.href=elem.href+'?';
    
  
    elem.href=elem.href+'vE='+vector;
   }
   else
   {
     if (elem.href.indexOf('?')!=-1) elem.href=elem.href+'&';
     else elem.href=elem.href+'?';
    
     elem.href=elem.href+'vE=';
    
   }
    
}

function anadirEstadoFormulario(id)
{
   var obj = document.getElementById(id);
 
    var vector=getVectorEstados();
    obj.value=vector;
 

      
}


function anadirEstado_e(elem)
{
  if(vE.length>0)
  {
    var vector=getVectorEstados();
    var cadena=elem;
    
    if (cadena.indexOf('?')!=-1) cadena=cadena+'&';
    else cadena=cadena+'?';
    
  
    cadena=cadena+'vE='+vector;
    return cadena
  }
}
function getVectorEstados()
{
   var cadena="";
   for(i=0;i<vE.length;i++)
   {
   	cadena=cadena+vE[i];
   	if(i!=vE.length-1)
   		cadena=cadena+",";
   }
   return cadena;
}


function mostrarVector()
{
	for(i=0;i<vE.length;i++)
		alert('vector: '+vE[i]);
}

function oculta_combo_ir(id1)
{
	var obj = document.getElementById(id1);
	obj.style.display="none";		
}



function crea_pie_foto(id, texto){
	var div_imagen = document.getElementById(id);
	var dimension = Element.getDimensions(div_imagen);
  	var ancho = dimension.width;
  	div_imagen.style.width = ancho+"px";
  	var div_pie = document.createElement("div");
  	div_pie.style.width = eval(dimension.width - 2)+"px";
  	var texto_pie = document.createTextNode(texto);
  	div_pie.appendChild(texto_pie);
  	div_imagen.appendChild(div_pie);
 }