//variables globales
var i;
var inicio;
var j;

/*	* menuHandler
	* Descripcion: Funcion que regula el comportamiento inicial del menu
	* Parametros:
*/
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'){
			var subd = d[j].innerHTML;
			var sel = subd.split('selected');
			if(sel.length<2)d[j].className = 'menuRedcl';
		}
	}
	

}

/*	* manageMenu
	* Descripcion: Funcion que regula el comportamiento del menu
	* Parametros: (elem) 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}
}

/*	* generarMenu
	* Descripcion: funcion para generar el menu
	* Parametros: Recibe 3 parametros, el array con las opciones, el array con las subopciones (arrays) de cada opcion (si no tiene 		subopciones recibe un 0 o vacio) 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
  {
	if(	arrOpcs[i].substr(1,3)=="img" ) {//Es una imagen
	   salida +='<li id=\"opc' + i + '\" class=\"closed\"><a href=javascript:manageMenu(\"opc' + 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=\"3">' + arrSubopcs[i][j] + '</a></li>';
	   }
	   salida +='</ul></li>';
		}else{// No es una imagen
   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>';
  }
  }//Fin Es una imagen & no lo es
 }
 salida +='</ul>';
 document.write(salida);
 manageMenu(opcionSel);
}

