Usuario:Chixpy/WSS1/botonesbusqueda.js
< Usuario:Chixpy · WSS1
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-Suite de WP-es
// http://es.wiki.x.io/wiki/Usuario:Axxgreazz/Monobook-Suite
// Modificada por User:Chixpy
// Usa "inicializar.js"
// Evitemos su carga duplicada
if (!WSS.Buscador){
WSS.Buscador = {
// Funciones para usar con la carga automática de buscadores
// ---------------------------------------------------------
// WSS.Buscador.SkinHacks ()
// Hack muuuy específicos para ciertas wikis.
SkinHacks : function()
{
// Inciclopedia -> Subir a caja de búsqueda.
if (wgSiteName == "Inciclopedia")
{
BlqBusqueda = WSS.FP.ObtenerElemento("p-search", true);
if (BlqBusqueda) {BlqBusqueda.style.top = "32px";};
};
},
// WSS.Buscador.AnadirGrupoBuscadores (identificador)
// Añade un menu nuevo grupo de buscadores relacionados (visualmente solo salta a la linea siguiente...)
AnadirGrupoBuscadores : function(identificador)
{
WSS.Buscador.WSSBuscadores[WSS.Buscador.WSSBuscadores.length] = {"grupo": "", "url": "",
"nombre": identificador, "descripcion": ""};
},
// WSS.Buscador.AnadirBuscador (grupo, dirección, nombre, descripcion)
AnadirBuscador : function(grupo, dirección, nombre, descripcion)
{
WSS.Buscador.WSSBuscadores[WSS.Buscador.WSSBuscadores.length] = {"grupo": grupo, "url": dirección,
"nombre": nombre, "descripcion": descripcion};
},
// Funciones internas para llamar desde otros módulos
// --------------------------------------------------
// WSS.Buscador.CrearNuevoGrupo (identificador)
// Crea un nuevo grupo de botones de buscadores
// Devuelve el grupo de botones de búsqueda creado
CrearNuevoGrupo : function(identificador)
{
if ((identificador == "") || !identificador) {return;}
// Si ya existe, ¡¡out!!
if (WSS.FP.ObtenerElemento(identificador, true)) {return;}
var NuevoGrupo = null;
switch (skin)
{
case 'monaco':
NuevoGrupo = WSS.FP.AnadirAntes (
WSS.FP.ObtenerElemento("navigation_widget"),
WSS.FP.ObtenerElemento("search_box"),
"div",
{className:"GrupoBuscadores color2 center small", id:identificador});
break;
case 'oasis':
case 'wikia':
NuevoGrupo = WSS.FP.AnadirAntes (
WSS.FP.ObtenerElemento("WikiaRail"),
WSS.FP.ObtenerElemento("WikiaSearch"),
"div",
{className:"GrupoBuscadores color2 center small", id:identificador});
break;
case 'vector':
NuevoGrupo = WSS.FP.AnadirHijo(
WSS.FP.ObtenerElemento("searchform"),
"div",
{className:"GrupoBuscadores", id:identificador});
break;
default:
NuevoGrupo = WSS.FP.AnadirAntes (
WSS.FP.ObtenerElemento("p-search"),
WSS.FP.ObtenerElemento("searchBody"),
"div",
{className:"GrupoBuscadores", id:identificador});
}
return NuevoGrupo;
},
// WSS.Buscador.CrearBuscador (grupo, direccion, nombre, ayuda)
// Debería devolver el buscador creado... pero no lo hace :P
CrearBuscador : function (grupo, direccion, nombre, descripcion)
{
if ((grupo == "") || !grupo) {return;}
if ((direccion == "") || !direccion) {return;}
if ((nombre == "") || !nombre) {return;}
if (!descripcion) {descripcion == "";}
var GrupoBuscadores = WSS.FP.ObtenerElemento(grupo);
// Usando el tan odiado innerHTML...
GrupoBuscadores.innerHTML += '<input type="button" class="searchButton" class="searchButton" ' +
'style="font-size: xx-small; padding:0; margin:0;" ' +
'onclick="WSS.Buscador.Buscar(\'' + direccion + '\')" value="' +
nombre + '" title="' + descripcion + '" />';
return;
},
// Funcion de búsqueda usada por los botones creados
// -------------------------------------------------
Buscar : function (direccion)
{
switch (skin)
{
case 'monaco':
var texto = WSS.FP.ObtenerElemento("search_field");
break;
case 'answers':
var texto = WSS.FP.ObtenerElemento("search_input");
break;
default:
var texto = WSS.FP.ObtenerElemento("searchInput");
}
var Qs = '';
if (escape(texto.value) == '')
{
switch (wgNamespaceNumber )
{
case -1:
Qs = wgUserName;
break;
case 0:
Qs = WSSTituloSinSubpaginas().replace(/_/g , '+');
break;
default:
Qs = WSSTituloSinSubpaginas().replace(/_/g , '+');
Qs = Qs.substring(Qs.indexOf(':')+ 1 , Qs.length);
}
}
else { Qs = texto.value; }
window.open(direccion + Qs);
},
// Carga automática de buscadores
// ------------------------------
// WSS.Buscador.CargarBuscador
// Funcion que cargar los menús.
CargarBuscador: function()
{
if (WSS.Buscador.Cargar == false) {return;};
// Vaciamos la caja de búsqueda
switch (skin)
{
case 'monaco':
WSS.FP.ObtenerElemento("search_field").value = '';
break;
case 'answers':
WSS.FP.ObtenerElemento("search_input").value = '';
break;
default:
WSS.FP.ObtenerElemento("searchInput").value = '';
}
for (i = 0; i < WSS.Buscador.WSSBuscadores.length; i++)
{
if (WSS.Buscador.WSSBuscadores[i].url == ""){
WSS.Buscador.CrearNuevoGrupo (WSS.Buscador.WSSBuscadores[i].nombre);
}
else
{
WSS.Buscador.CrearBuscador (WSS.Buscador.WSSBuscadores[i].grupo, WSS.Buscador.WSSBuscadores[i].url,
WSS.Buscador.WSSBuscadores[i].nombre, WSS.Buscador.WSSBuscadores[i].descripcion);
};
};
},
WSSBuscadores : [],
Cargar : true, // Cargar módulo de buscadores
Globales : true, // Cargar buscadores globales
Locales : true, // Cargar buscadores locales
Usuario : true // Cargar buscadores globales de usuario
// Nota: Los buscadores locales de usuario siempre se cargan cuando está activo
}
WSS.FP.IncluirConfiguracion ("buscadores", WSS.Buscador.Globales,
WSS.Buscador.Locales, WSS.Buscador.Usuario);
addOnloadHook(WSS.Buscador.SkinHacks, false);
addOnloadHook(WSS.Buscador.CargarBuscador, false);
} //if (!WSS.Buscador)