	var baseurlpath = window["urlpathforimages"];
	function getobjeto(idobjeto){
		if (window.document.all){
			return window.document.all("" + idobjeto);
		}else{
			if (window.document.getElementById){
				return window.document.getElementById("" + idobjeto);
			}
		}
    }
    function seleccionarHijo(idsource)
		{
			
			getobjeto(idsource).getElementsByTagName("TD")[0].className = "menuhijo";			
			getobjeto(idsource).getElementsByTagName("TD")[1].className = "menuhijo";			
			tagA = getobjeto(idsource).getElementsByTagName("A")[0];
			tagA.className = "menu2";				
			tagA = getobjeto(idsource).getElementsByTagName("A")[1];
			tagA.className = "menu2";			
			tagA = getobjeto(idsource).getElementsByTagName("img")[0];
			tagA.src=baseurlpath + "img/transp.gif";
			tagA.className = "menu2";
		}
	function moveMenu(text, idsource,newitemscript)
		{		
			
			borrarSeleccionAnterior();	
			if (text != "")
			{
				SetLinkPath(text, idsource,newitemscript);																								
			}
			
			RemoveParentText(idsource);
			var bChildDesplegated = IsChildDesplegated(idsource);
			
			if (idsource.length == IdSelected.length)
			{
				//hermano
				// Borrar hijos de otro hermano
				for (j= 0;j<colIdExpanded.length;j++)
				{
					var oldSourceId = colIdExpanded[j];
					//alert(oldSourceId);
					getobjeto(oldSourceId).style.display="none"; 				
				}
				FormatSibiling(IdSelected);
			}
	
			
			if ((idsource.length > IdSelected.length)&& (IdSelected!=""))
			{				
				var newSourceId ;
				// Borra hermanos de seleccionado	
													
				if (hasChilds(idsource))
				{
					NoDisplayAll();	
					
							
					// Muestra hijos de si mismo
					IdSelected = idsource.substr(0, (idsource.length)-3);		
					
					getobjeto(IdSelected).style.display="block";
										
					MuestraHijos(IdSelected);
					for (j= 0;j<colIdExpanded.length;j++)
					{				
					
						var oldSourceId = colIdExpanded[j];					
						getobjeto(oldSourceId).style.display="block"; 
						FormatSibiling(oldSourceId)									
					}
				
					FormatParent(IdSelected);	
				}
				else
				{
					seleccionarHijo (idsource);
					return;				
				}
				
				getobjeto(IdSelected).style.display = "block"; 							
				getobjeto(idsource).style.display= "block"; 

			}
			
			
			if (idsource.length < IdSelected.length)
			{	
			
				NoDisplayAll();		
				
				var auxSource;
				// Muestra su padre
				auxSource = idsource.substr(0, (idsource.length)-3);
				elem = getobjeto(auxSource)
				if (elem)
				{
					elem.style.display="block"; 
				}				
				
				// Muestra sus hermanos
				i=1;
				while (true)								
				{										
					if (auxSource!= "")
					{
						if (i<10){
							newSourceId = auxSource + "_0"+ i;	
						}else{
							newSourceId = auxSource + "_"+ i;	
						}
					}
					else 
					{
						newSourceId = auxSource + "L0"+ i;	
					}
					elem = getobjeto(newSourceId);
					if (elem)
					{					
						elem.style.display="block"; 	
						FormatSibiling(newSourceId);																						
					}
					else
					{
						break
					}	
					i++;								
				}
				
				// muestra el hermano de diseņo si lo hay
				if (auxSource!= "")
				{
					
					newSourceId = auxSource + "_NW";	
					
				}
				else 
				{
					newSourceId = auxSource + "LNW";	
				}
				elem = getobjeto(newSourceId);
				if (elem)
				{					
					elem.style.display="block"; 	
					FormatSibiling(newSourceId);																						
				}
				
			
			}
			
			MuestraHijos(idsource);
			
			IdSelected = idsource;
			FormatSelected(IdSelected);
			
			
			if (bChildDesplegated) HiddenSelectedChilds(idsource);
		}
			
		function borrarSeleccionAnterior()
		{   
			var i;
			var j;
			
			var nivel;
			var sClass;
			var sOrigen;
			var aux;
			var plevel;
			var plevel2;
			var plevel3;
			 
			var lNiveles=0;
			var lNiveles2= 0;
			var lNiveles3 = 0;
			i=0;
			j=1;
			
			lNiveles =getobjeto("niveles").value;
			lNiveles2 =getobjeto("niveles2").value;
			lNiveles3 =getobjeto("niveles3").value;
	
			
			for(i=1; i<=lNiveles ; i++)
			{	
				if (i<10){
					plevel = "L0" + i;
				}else{
					plevel = "L" + i;
				}
				sOrigen = plevel; 
				CambioSeleccionado(sOrigen);
				CambioSeleccionado("LNW"); 			
				for (j = 1 ; j< lNiveles2; j++)
				{  
					
					if (j<10){
						plevel2 = "0" + j;
					}else{
						plevel2 = j;
					}	
					
					
					aux = plevel + "_" + plevel2;
					CambioSeleccionado(aux);
					CambioSeleccionado(plevel + "_NW");
					for ( k=1; k<lNiveles3; k++)
					{
					
						if (k<10){
							plevel3 = "0" + k;
						}else{
							plevel3 = k;
						}	
						aux = plevel + "_" + plevel2 + "_" + plevel3; 					 
						CambioSeleccionado(aux);
						CambioSeleccionado(plevel + "_" + plevel2 + "_NW");
					}
				} 
			}
		}
		
		function CambioSeleccionado(aux)
		{ 
		
			var elem; 
			var lNiveles = 0;
			var sClass = "";			
			var plevel;
			elem = getobjeto(aux);
			if (elem)
			{	 
				if ( elem.innerHTML.indexOf("menu2") != -1 )
				{ 
					nivel = aux.length / 3;
					 
					if ( nivel  == 1 )
						sClass = "menu"; // amarillo
					else
						sClass = "menu3"; // blanco
					lNiveles = getobjeto('niveles').value;		
					
					for(i=1; i<=lNiveles ; i++)
					{	
					
						if (i<10){
							plevel = "L0" + i;
						}else{
							plevel = "L" + i;
						}
							
						sOrigen = plevel; 
						aux0 = getobjeto(sOrigen);
						if (!aux0){
							sOrigen = "L" + "NW";
							aux0 = getobjeto(sOrigen);
						}
						if ( aux0.innerHTML.indexOf("cinta") != -1 )
						{
							if ( nivel  == 2 )
								sClass = "menu"; // amarillo
							else
								sClass = "menu3"; // blanco	
						}
					}  
					
					getobjeto(aux).getElementsByTagName("TD")[0].className = sClass;		
					getobjeto(aux).getElementsByTagName("TD")[1].className = sClass;				
					tagA = getobjeto(aux).getElementsByTagName("A")[0];
					tagA.className = sClass;					
					tagA = getobjeto(aux).getElementsByTagName("A")[1];
					tagA.className = sClass;				
					tagA = getobjeto(aux).getElementsByTagName("img")[0];						
					tagA.className =sClass;  
				}
			}
		
		}
		function MuestraHijos(idsource)
		{
			// Muestra hijos
			intAux = 0;
			colIdExpanded = new Array(); 
			i=1;
			while (true)											
			{
				var newSourceId = "";
				if (i<10){
				 newSourceId = idsource + "_0"+ i;
				}else{
				 newSourceId = idsource + "_"+ i;
				}
				
				
				elem = getobjeto(newSourceId) ;
				if (elem)
				{					
					elem.style.display="block";
					//alert("en muestra hijos " + newSourceId); 										
					FormatChild(newSourceId)
					colIdExpanded[intAux] = newSourceId;		
					intAux++;
				}
				else
				{
					break
				}	
				i++;																
			}
			
			// format design nodes
			elem = getobjeto(idsource + "_NW") ;
			if (elem)
			{					
				elem.style.display="block"; 										
				FormatChild(idsource + "_NW")
				colIdExpanded[intAux] = idsource + "_NW";		
				intAux++;
			}
			
		}
			
		function hasChilds(idsource)
		{
			var newSourceId = idsource + "_01";
			var oObject;
			oObject = getobjeto(newSourceId);
			if (!oObject){
				newSourceId = idsource + "_NW";
				oObject = getobjeto(newSourceId);
			}
			return (oObject)
		}
		
		function FormatParent(oldSourceId)
		{		
			var oTD2;
			getobjeto(oldSourceId).getElementsByTagName("TD")[0].className = "cinta";
			oTD2 = getobjeto(oldSourceId);
			if (oTD2){
				oTD2.getElementsByTagName("TD")[1].className = "cinta";
			}
			var tagA =getobjeto(oldSourceId).getElementsByTagName("A")[0];
			tagA.className = "sobreColor";							    					      			
			tagA.innerHTML = "<img src='" + baseurlpath+ "img/ic_menu_menos.gif' border=0/>&nbsp;"+ tagA.innerHTML;
			
			var tagTD =getobjeto(oldSourceId).getElementsByTagName("TD")[1];
			tagTD.innerHTML = "";
						
			//document.getElementById(oldSourceId).style.height = 30;
			
	
		}
		function FormatChild(oldSourceId)
		{		
			getobjeto(oldSourceId).getElementsByTagName("TD")[0].className = "menu3";
			getobjeto(oldSourceId).getElementsByTagName("TD")[1].className = "menu3";
			tagA = getobjeto(oldSourceId).getElementsByTagName("A")[0];
			tagA.className = "menu3";
			tagA = getobjeto(oldSourceId).getElementsByTagName("A")[1];
			tagA.className = "menu3";	
		
			tagA = getobjeto(oldSourceId).getElementsByTagName("img")[0];
			tagA.className = "menu3";	
			//document.getElementById(oldSourceId).style.height = 10;
		}
		function FormatSelected(oldSourceId)
		{	
				
			
			getobjeto(oldSourceId).getElementsByTagName("TD")[0].className = "menu2";
			
			getobjeto(oldSourceId).getElementsByTagName("TD")[1].className = "menu2";
			
			tagA = getobjeto(oldSourceId).getElementsByTagName("A")[0];
			tagA.className = "menu2";	
			
			tagA = getobjeto(oldSourceId).getElementsByTagName("A")[1];
			tagA.className = "menu2";	
		
			tagA = getobjeto(oldSourceId).getElementsByTagName("img")[0];
			if (hasChilds(oldSourceId))
				tagA.src=baseurlpath + "img/ic_menu_mas.gif";
			else
				tagA.src=baseurlpath + "img/transp.gif";
			tagA.className = "menu2";  
		}
		function FormatSibiling(oldSourceId)
		{		
			getobjeto(oldSourceId).getElementsByTagName("TD")[0].className = "menu";
			getobjeto(oldSourceId).getElementsByTagName("TD")[1].className = "menu";
			tagA = getobjeto(oldSourceId).getElementsByTagName("A")[0];
			tagA.className = "menu";
			 
			tagA = getobjeto(oldSourceId).getElementsByTagName("A")[1];
			tagA.className = "menu";	
		
			tagA = getobjeto(oldSourceId).getElementsByTagName("img")[0];
			tagA.className = "menu";					 	
		}
		function RemoveParentText(idsource)
		{		
			var tagA = getobjeto(idsource).getElementsByTagName("A")[0];			
			
			if (tagA.innerHTML.indexOf("ic_menu_menos")!= -1)
			{
				//alert(tagA.innerHTML);
				len = tagA.innerHTML.search('0>&') +8;
				
				if (len != 7){
					tagA.innerHTML =  tagA.innerHTML.substr(len);
				}else{
					len = tagA.innerHTML.search('>') + 2;
					tagA.innerHTML =  tagA.innerHTML.substr(len);
				}
				
				var tagTD =getobjeto(idsource).getElementsByTagName("TD")[1];
				tagTD.innerHTML = "<a class='menu' href='#'><img src='" + baseurlpath + "img/ic_menu_mas.gif' border=0 /></a>";
			}
			
			
			
		}
		
		function SetLinkPath(path, idsource,scripttoexecute)
		{
			if (!scripttoexecute)
			{
				if ((path.length > 0)&&(path != " "))
				{
					tagA = getobjeto(idsource).getElementsByTagName("A")[0];
					//alert(path);
					if (path!= "#")
					{
						window.document.location.href = path;
					}
				}
			}else{
				eval(scripttoexecute);
			}

		}	
		
		function IsChildDesplegated(idsource)
		{
			var newSourceId = idsource + "_01";
			newSource = getobjeto(newSourceId);
			if (newSource)
			{						
			   return (newSource.style.display=="block"); // has childs desplegated
			}else{
			   newSourceId = idsource + "_NW";
			   newSource = getobjeto(newSourceId);
			   if (newSource){
				return (newSource.style.display=="block"); // has childs desplegated
			   }
			}
			return false;
		}
		
		function HiddenSelectedChilds(idsource)
		{								
			// Hide  his childs
			i=1;
			while (true)								
			{							
				if (i<10){
					newSourceId = idsource + "_0"+ i;					
				}else{
					newSourceId = idsource + "_" + i;
				}
				elem = getobjeto(newSourceId);
				if (elem)
				{				
					elem.style.display="none"; 																													
				}
				else
				{
					break
				}	
				i++;								
			}
			// ocultar design nodes
			elem = getobjeto(idsource + "_NW");
			if (elem)
			{				
				elem.style.display="none"; 																													
			}
			
											
		}

