User:Chixpy/WSS1/botonesbusqueda.js

// Basada en la versión de Axxgreazz para el MonoBook-Suite 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.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 = "30px";}; }; },

// 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; 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 += ''; 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)