User:Chixpy/WSS1/inicializar.js

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

// Modificada por User:Chixpy

// Cutreapaño para gente que usa NoScript if(typeof quantserve != 'function') { function quantserve {   return false; } }

//Módulo que inicializa algunas variables usadas por otros módulos, así como algunas // variables genérica.

var WSS = new Object;

// ---

// Funciones Principales del WSS

WSS.FP ={ // WSS.FP.ObtenerElemento (identificador, nowarning) // Busca el elemento que tenga ese // nowarning = true -> no muestra el error (por ejemplo si se usa para comprobar la existencia del elemento) ObtenerElemento : function (identificador, nowarning) {   var elemento = document.getElementById ? document.getElementById(identificador) : document.all[identificador]; if (!elemento && !nowarning) { var Error = WSS.FP.AnadirHijo(document.body, "div"); Error.innerHTML = " WSS1: ¡OOOPPPSSS! No se ha encontrado el identificador: " + identificador + " "; }   return elemento },

// WSS.FP.AnadirHijo (padre, tipo, atributos) // Crea un elemento (p.e., "div") con unos //  (p.e., className:"clase", id: "nombre") y lo pone como hijo del //  elemento // Además devuelve el elemento recién creado AnadirHijo : function(padre, tipo, atributos) {   var elemento = document.createElement(tipo); if (atributos) {     for (key in atributos) { elemento[key] = atributos[key] } }

if (!padre) { padre = WSS.FP.AnadirHijo(document.body, "div"); padre.innerHTML = " WSS1: ¡OOOPPPSSS! No se ha encontrado el padre para poder añadir: " + tipo + " "; }   return padre.appendChild(elemento); },

// WSS.FP.AnadirAntes (padre, elemento0, tipo, atributos) // Crea un elemento (p.e., "div") con unos //  (p.e., className:"clase", id: "nombre") y lo coloca antes del elemento //  que se encuentra dentro de   // Además devuelve el elemento recién creado AnadirAntes : function(padre, elemento0, tipo, atributos) {   var elemento = document.createElement(tipo); if (atributos) {     for (key in atributos) { elemento[key] = atributos[key]; } }

if (!padre) { padre = WSS.FP.AnadirHijo(document.body, "div"); padre.innerHTML = " WSS1: ¡OOOPPPSSS! No se ha encontrado el padre para poder añadir: " + tipo + " "; }

if (!elemento) { padre.innerHTML = " WSS1: ¡OOOPPPSSS! No se ha encontrado el elemento para poder añadir: " + tipo+ " "; elemento = WSS.FP.AnadirHijo(padre, "div"); }

if (!elemento0) { padre.innerHTML = " WSS1: ¡OOOPPPSSS! No se ha encontrado el elemento0 para poder añadir: " + tipo+ " "; elemento0 = WSS.FP.AnadirHijo(padre, "div"); }

return padre.insertBefore(elemento, elemento0); },

// WSS.FP.AnadirCeldaTabla (tabla, NColumnas) // Añade una celda a una tabla // Se se sobrepasa el número de columnas crea una nueva fila. //  AnadirCeldaTabla : function(tabla, NColumnas){ var celda = null; var fila = tabla.getElementsByTagName("tr");

// Obtenemos la última fila if (fila.length == 0) { fila = WSS.FP.AnadirHijo(tabla, "tr"); } else { fila = fila[fila.length - 1]; };

// Si la fila ya está completa, creamos otra if (fila.childNodes.length >= NColumnas) { fila = WSS.FP.AnadirHijo (tabla, "tr"); };    return WSS.FP.AnadirHijo (fila, "td"); },

// WSS.FP.IncluirConfiguracion (archivo, IncGlobal, IncLocal, IncGlobalUsuario) // Incluye una serie de páginas con JavaScript de configuración en el siguiente //  orden: // Todas aquellas cosas modificables se cargan en el siguiente orden: //  1.- Wikia:Community:User:Chixpy/WWS1/ -global.js  //   2.- :User:Chixpy/WWS1/ -local.js  //   3.- Wikia:Community:User: /WWS1/ -g.js  //   4.- :User: /WWS1/ .js  // Parámetros //  archivo - Nombre de la página de configuración (sin ".js") //  IncGlobal - ¿Incluir configuración global? //  IncLocal- ¿Incluir configuración local? //  IncGlobalUsuario - ¿Incluir configuración global del usuario? IncluirConfiguracion : function (archivo, IncGlobal, IncLocal, IncGlobalUsuario) {   if (IncGlobal == true) { WSSIncluir ("", "", archivo + "-global.js"); };   if (IncLocal== true) { WSSIncluir (wgServer + wgScriptPath, "", archivo + "-local.js"); };   if (IncGlobalUsuario == true) { WSSIncluir ("", wgUserName + "/WSS1", archivo + "-g.js"); };   WSSIncluir (wgServer + wgScriptPath, wgUserName + "/WSS1", archivo + ".js"); } }

// Es un coñazo que capturen los errores del common.js if (window._customJSerror) { var Error = WSS.FP.AnadirHijo(document.body, "div"); Error.innerHTML = " WSS1: Se ha capturado la siguiente excepción: " + window._customJSerror + " "; }