Usuario:Chixpy/WSS1/menusmw.js

De Wikipedia, la enciclopedia libre

Nota: Después de guardar, debes refrescar la caché de tu navegador para ver los cambios. Internet Explorer: mantén presionada Ctrl mientras pulsas Actualizar. Firefox: mientras presionas Mayús pulsas el botón Actualizar, (o presiona Ctrl-Shift-R). Los usuarios de Google Chrome y Safari pueden simplemente pulsar el botón Recargar. Para más detalles e instrucciones acerca de otros exploradores, véase Ayuda:Cómo limpiar la caché.

// Basada en la versión de Axxgreazz para el MonoBook-Suie de WP-es
// http://es.wikipedia.org/wiki/Usuario:Axxgreazz/Monobook-Suite

// Modificada por User:Chixpy

// Usa "inicializar.js"

// Evitemos su carga duplicada
if (!WSS.Menu){

WSS.Menu = {
  // Funciones para usar con la carga automática de menús
  // ----------------------------------------------------	

  // WSS.Menu.AnadirMenu (identificador, nombre)
  // Añade un menu nuevo (un menú tipo "navegación" o "herramientas")
  AnadirMenu : function(identificador, nombre)
  {
    WSS.Menu.WSSMenus[WSS.Menu.WSSMenus.length] = {"menu": identificador, "url": "",
      "nombre": nombre};
  },

  // WSS.Menu.AnadirOpcionMenu (menu, dirección, nombre)
  AnadirOpcionMenu : function(menu, dirección, nombre)
  {
    WSS.Menu.WSSMenus[WSS.Menu.WSSMenus.length] = {"menu": menu, "url": dirección,
      "nombre": nombre};
  },	
	
  // Funciones internas para llamar desde otros módulos
  // --------------------------------------------------
  // WSS.Menu.CrearMenu (identificador, nombre)
  // Devuelve el nuevo menú creado
  CrearMenu : function(identificador, nombre)
  {
    if ((identificador == "") || !identificador) {return;}
    if (WSS.FP.ObtenerElemento(identificador, true)) {return;}

    var NuevoMenu = null;
 
    switch (skin)
    {
      case 'monaco':
        NuevoMenu = WSS.FP.AnadirHijo(
          WSS.FP.ObtenerElemento("navigation_widget"),
          "div",
          {className:"widget", id:identificador});
        NuevoMenu.style.fontSize = "smaller";
        NuevoMenu.cellSpacing="5";
      break;
      case 'answers':
        NuevoMenu = WSS.FP.AnadirHijo(
          WSS.FP.ObtenerElemento("toolbox"),
          "div",
          {className:"portlet", id:identificador});
        NuevoMenu.style.fontSize = "smaller";
      break;
      case 'vector':
        NuevoMenu = WSS.FP.AnadirHijo(
          WSS.FP.ObtenerElemento("mw-panel"),
          "div",
          {className:"portal", id:identificador});
      break;
      default:
        NuevoMenu = WSS.FP.AnadirHijo(
          WSS.FP.ObtenerElemento("column-one"),
          "div",
          {className:"portlet", id:identificador});
    }
    if (NuevoMenu == null) return null;
 
    WSS.FP.AnadirHijo(NuevoMenu, "h5").innerHTML = nombre;
    switch (skin)
    {
      case 'monaco':
        WSS.FP.AnadirHijo(NuevoMenu, "table", {id:"Tabla" + identificador});
      break;
      case 'answers':
        WSS.FP.AnadirHijo(NuevoMenu, "table", {id:"Tabla" + identificador});
      break;
      case 'vector':
        WSS.FP.AnadirHijo(WSS.FP.AnadirHijo(NuevoMenu, "div", {className:"body"}), "ul");
      break;
      default:
        WSS.FP.AnadirHijo(WSS.FP.AnadirHijo(NuevoMenu, "div", {className:"pBody"}), "ul");
    }
    return NuevoMenu;
  },

  // WSS.Menu.CrearOpcionMenu (menu, dirección, nombre)
  // Devuelve la nueva opción creada
  CrearOpcionMenu : function(menu, dirección, nombre)
  {
    var Opcion = WSS.FP.ObtenerElemento(menu);
    if (!Opcion) {Opcion = WSS.Menu.CrearMenu(menu, menu)};
    switch (skin)
    {
      case 'monaco':
        Opcion = WSS.FP.AnadirCeldaTabla(WSS.FP.ObtenerElemento("Tabla" + menu), 2)
      break;
      case 'answers':
        Opcion = WSS.FP.AnadirCeldaTabla(WSS.FP.ObtenerElemento("Tabla" + menu), 3)
      break;
      default:
        Opcion = WSS.FP.AnadirHijo(
          (Opcion.getElementsByTagName("ul"))[0],
          "li");
    }

    with(WSS.FP.AnadirHijo(Opcion, "a"))
    {
      innerHTML = nombre;
      href = dirección;
    }
    return Opcion;
  },

  // Carga automática de menus
  // -------------------------

  // WSS.Menu.CargarMenu
  // Funcion que cargar los menús.
  CargarMenu : function()
  {
    if (WSS.Menu.Cargar == false) {return;};

    for (i = 0; i < WSS.Menu.WSSMenus.length; i++)
    {
      if (WSS.Menu.WSSMenus[i].url == ""){        
        WSS.Menu.CrearMenu (WSS.Menu.WSSMenus[i].menu, WSS.Menu.WSSMenus[i].nombre);
      }
      else
      {
        WSS.Menu.CrearOpcionMenu (WSS.Menu.WSSMenus[i].menu,
          WSS.Menu.WSSMenus[i].url, WSS.Menu.WSSMenus[i].nombre);
      };
    };
  },

  WSSMenus : [],
  Cargar : true,    // Cargar módulo de menús
  Globales : true,  // Cargar menús globales
  Locales : true,   // Cargar menús locales
  Usuario : true    // Cargar menús globales de usuario

  // Nota: Los menús locales de usuario siempre se cargan cuando está activo  
};

WSS.FP.IncluirConfiguracion ("menus", WSS.Menu.Globales, WSS.Menu.Locales,
    WSS.Menu.Usuario);

addOnloadHook(WSS.Menu.CargarMenu, false);

} //if (!WSS.Menu)