/**
* Funciones para un menu que se despliega en varios submenus
* @Copyright
* @see sin referencias
* @date 24/09/2007
*/

/*Variables globals*/
var divs = [];
var optionDetected = [];
/**
* Funcion principal para escribir el menu en el navegador
* @see sin referencias
* @return true/false
*/
function desplegar(option){
	var seleccionado=true;
	if(!optionDetected['menuAccesible']){
		selectedid=option;
		escribemenu('menuAccesible');
		seleccionado=false;
	}
		return seleccionado;
}
	
	
	
/**
* Funcion principal para escribir el menu en el navegador
* @see sin referencias
* @return sin return
*/
function escribemenu(divid){
	var cad = document.getElementById(divid).innerHTML;
	cad=cad.replace(/v1s1bl3/g, 'c3rr0');
	var s = window.location.toString();
	s = s.substring(s.indexOf('?') + 1);
	var arr = s.split('&');
	var arr2;
	/* Si existe la variable selectedid */
	if(typeof(selectedid) !== 'undefined'){
		s = selectedid;
		optionDetected[divid] = true;
	}
	else{
		for(var i = 0; i < arr.length; i++){
			arr2 = arr[i].split('=');
			if(arr2[0] == 'cid'){
				s = arr2[1];
				i = arr.length;
			}
		}
	}
	seleccionados = divs[s];
	if(seleccionados != null && seleccionados != ''){
		optionDetected[divid] = true;
		arr=seleccionados.split(',');
		var arrLen=arr.length;
		for(var i = 0; i < arrLen; i++){
			cad=cad.replace(arr[i] + ' c3rr0', arr[i] + ' v1s1bl3');		
			cad=cad.replace('p' + arr[i] + ' noselect' , 'p' + arr[i] + ' select ');
		}
	}
	document.getElementById(divid).innerHTML = cad;
	if(!document.getElementById(s) && document.getElementById('p' + s)){
		//Slo para las opciones que NO tienen subopciones
		document.getElementById('p' + s).className = 'selectedHijos';
	}
	document.getElementById(divid).className = '';
}

/**
* funcion para desplegar el menu  
* @param objId id del objeto que queremos cambiar de clase
* @see sin referencias
* @return sin return
*/
function despliegaNivel2(objId){
// la variable objNivel es el objeto de id que pasamos como parametro
var objNivel = document.getElementById(objId);

var pobjNivel = document.getElementById('p' + objId);

	if (objNivel.className.match('c3rr0')){objNivel.className=objNivel.className.replace('c3rr0','v1s1bl3');}
	else if(objNivel.className.match('v1s1bl3')){objNivel.className=objNivel.className.replace('v1s1bl3','c3rr0');}
	
	if (pobjNivel.className.match('select')){pobjNivel.className=pobjNivel.className.replace('select','NoSelec');}
	else if(pobjNivel.className.match('noselect')){pobjNivel.className=pobjNivel.className.replace('noselect','selected');}
}

/**
* En las subopciones de ultimo nivel deleccionamos la opcion padre (mastercard) que las despliega
* seleccionamos la subopcion seleccionada (Nivel4 opcion 1, 2 ...) y
* reseteamos las subopciones por si haban seleccionado alguna antes
* @param sobjUl, string, id del ul cerrado3 
* @param objOptSel, objeto, href pulsado en el html
* @param sObjDesSel, string, id de la opcion padre a deseleccionar (mastercard)
* @see sin referencias
* @return sin return
*/
function subopciones(sobjUl,objOptSel,sObjDesSel)
{
//opcion mastercard a deseleccionar
var objDeselect = document.getElementById(sObjDesSel);
//objeto ul cerrado3
var objUl = document.getElementById(sobjUl);
//longitud de nodos del ul cerrado3
var lenUl = objUl.childNodes.length;
 
//recorremos los lis del ul cerrado3
for (var i=0;i< lenUl; i++)
{
	//si es un li su firstChild ser un href
	if (objUl.childNodes[i].nodeName=='LI')
	{
		//cambiamos el class de los href para "resetear" si hay alguno seleccionado de antes
		objUl.childNodes[i].firstChild.className='';
	}
}

//cambiamos el class de la subopcion seleccionada
if (objOptSel){objOptSel.className='select4';}
//cambiamos el class del ul cerrado3 a visible para que aparezca desplegado
if (objUl){objUl.className=objUl.className.replace('c3rr0','v1s1bl3');}
//cambiamos el class de la opcion objId3 a deseleccionada
if (objDeselect){objDeselect.className='select3';}

}