function ProcessMenu()
{
	var menu = $('menu');
	if (EsconderMenu(menu))
	    menu.style.display="none";
	else
	{   
	    // Distinguir el link en el que estamos:
	    menu.getElements('a').each(function(obj){
	        if (obj.href == window.top.location)
	            obj.addClass('ThisPage');
	    }); 

        // Se asigna un movimiento de desplazamiento lateral (margin-left) cuando se pasa por encima de un elemento del menu
	    menu.getElements('.MenuGroup li').each(function(obj){
	        obj.addEvents({
			    'mouseenter': function(){
			        var efect = this.set('tween',{duration: 50, transition: Fx.Transitions.linear.In}).tween('margin-left', '10px');
		        },
		        'mouseleave': function(){
			        var efect = this.set('tween',{duration: 50, transition: Fx.Transitions.linear.In}).tween('margin-left', '2px');
			    }
		    });
	    });	

	    // Para Los grupos de Menu.
	    $$('.MenuGroup').each(function(obj)
	    {
		    // Se obtinen los controles a traves de las clases PanelToHide y MenuGroupTitle
		    var ListaSubItems = obj.getElement('.PanelToHide');
		    var MenuGroupTitle = obj.getElement('.MenuGroupTitle');
           
            // Se declara el efecto slide a ejecutar.
            var efecto = new Fx.Slide(ListaSubItems, {duration:300, wait:false })
    		
		    // Se lee la cookie que guarda el estado de los grupos
		    // expand = true significa que hay que contraer el grupo para que sea expandible.
		    var hasExpand = Cookie.read(obj.id);
		    if(!IsNull(hasExpand) && hasExpand == "true")
		    {
			    MenuGroupTitle.addClass('Expand');		
                efecto.hide();		
		    }

            // Se registra el evento que dispara el 'slide' al clicar en el MenuGroupTitle
    	    MenuGroupTitle.addEvent('click',function()
    	    {
    	        // Se cambia el efecto, la clase expand y se guarda el estado en la cookie.
    	        efecto.toggle(); 
    	        MenuGroupTitle.toggleClass('Expand');
		        Cookie.write(obj.id, MenuGroupTitle.hasClass('Expand'), {duration:  180, path: '/'});
    	    });
	    });
	}
}


function getQueryStringParameter ( queryString, parameterName ) {
   // Add "=" to the parameter name (i.e. parameterName=value)
   var parameterName = parameterName + "=";
   if ( queryString.length > 0 ) {
      // Find the beginning of the string
      begin = queryString.indexOf ( parameterName );
      // If the parameter name is not found, skip it, otherwise return the value
      if ( begin != -1 ) {
         // Add the length (integer) to the beginning
         begin += parameterName.length;
         // Multiple parameters are separated by the "&" sign
         end = queryString.indexOf ( "&" , begin );
      if ( end == -1 ) {
         end = queryString.length
      }
      // Return the string
      return unescape ( queryString.substring ( begin, end ) );
   }
   // Return "null" if no parameter has been found
   return "null";
   }
}

function EsconderMenu(obj)
{
	//Get querystring
	var queryString = window.top.location.search.substring(1);
	var ShowMenu = getQueryStringParameter ( queryString, 'ShowMenu');
	return (ShowMenu && ShowMenu.toLowerCase() == 'false');
}	

