/*	* menuHandler
	* <b>Descripcion:</b> Funcion que regula el comportamiento inicial del menu
	* <b>Parametros:</b>
*/
function menuHandler(){

	var d = document.getElementsByTagName('li');
	var dl = d.length;
	
	for(var j = 0; j<dl; j++){
		if(d[j].className=='opened'){
			var subd = d[j].innerHTML;
			var sel = subd.split('selected');
			if(sel.length<2)d[j].className = 'closed';
		}
		if(d[j].className=='menuRedop'){
			d[j].className = 'menuRedcl';
		}
	}
	

}

/*	* manageMenu
	* <b>Descripcion:</b> Funcion que regula el comportamiento del menu
	* <b>Parametros: (elem)</b> Elemento manejado
*/
function manageMenu(idElem)
{
	var elem=document.getElementById(idElem);
	if (elem!=null)
	{
		// Limpia todos los selected
		var listaOpcs=document.getElementById("menu").getElementsByTagName('li');
		for (i=0;i<listaOpcs.length;i++)
		{
		 inicio=listaOpcs[i].className.indexOf('selected');
		 if (inicio!=-1) listaOpcs[i].className=listaOpcs[i].className.substring(0,inicio);
		}
		if ((elem.className.indexOf('opened')!=-1)||(elem.className.indexOf('closed')!=-1)){
		(elem.className=='opened')?elem.className='closed':elem.className='opened';}
		else
		{
		 if (idElem.substring(0,6)=='subopc')
		 {
		  //Despliega el menú
		  var idPadre="";
		  var i=6;
		  while (idElem.substr(i,1)!=",")
		  {
		   idPadre+=idElem.substr(i,1);
		   i++;
		  }
		  idPadre=parseInt(idPadre);
		  var padre=document.getElementById('opc'+idPadre);
		  padre.className='opened';
		 }
		 (elem.className.indexOf('menuRedop')!=-1)?elem.className='menuRedcl selected':elem.className='menuRedop selected';
		}	
	}
}


function abrirweb(idselect){
	var avalue=(document.getElementById(idselect).options[document.getElementById(idselect).selectedIndex].value);
	if (avalue!=0){
		window.open(avalue,'windows');
	}
	else {return false}
}

/*función para generar el menú. Recibe 3 parámetros, el array con las opciones, el array con las subopciones (arrays) de cada opción (si no tiene subopciones recibe un 0 o vacío) y los enlaces.*/
function generarMenu(arrOpcs,arrSubopcs,arrEnlaces,opcionSel)
{
 var salida="";
 salida +="<ul>";
 // Bucle que va generando las opciones de la lista
 for (i=0;i<arrOpcs.length;i++)
 {
  if (arrSubopcs[i]==0 || arrSubopcs[i]==""|| arrSubopcs[i]==null)
  {
   salida +="<li id=\"opc" + i + "\" class=\"\" onclick=\"javascript:manageMenu('opc" + i + "')\"><a href=\"" + arrEnlaces[i] + "\" title=\"" + arrOpcs[i] +"\">";
   salida +=arrOpcs[i] + "</a></li>";
  }
  else // hay subopciones, se cargan no visibles al principio
  {
   salida +="<li id=\"opc" + i + "\" class=\"closed\"><a href=\"javascript:manageMenu('opc" + i + "')\" title=\"" + arrOpcs[i] +"\" >" + arrOpcs[i] + "</a>";
   salida +="<ul>";
   for (j=0;j<arrSubopcs[i].length;j++)
   {
    salida +="<li id=\"subopc" + i + "," + j + "\" class=\"\" onclick=\"javascript:manageMenu('subopc"+ i + "," + j + "')\">" + "<a href=\"" + arrEnlaces[i][j] + "\" title=\"" + arrSubopcs[i][j] + "\">" + arrSubopcs[i][j] + "</a></li>";
   }
   salida +="</ul></li>";
  }
 }
 salida +="</ul>";
 document.write(salida);
 manageMenu(opcionSel);
}