MediaWiki:Monobook.js: Difference between revisions

From Wikizilla, the kaiju encyclopedia
Jump to navigationJump to search
No edit summary
No edit summary
Line 326: Line 326:
wgSidebar['Film & TV'] = [
wgSidebar['Film & TV'] = [
{'Showa era|Showa': [
{'Showa era|Showa': [
          //sub
{':Category:Showa Godzilla Films|Godzilla Films': [
'Godzilla (1954 film)|Godzilla',
'Godzilla (1954 film)|Godzilla',
'Godzilla Raids Again',
'King Kong vs. Godzilla',
'King Kong vs. Godzilla',
'Mothra vs. Godzilla',
'Ghidorah, the Three-Headed Monster',
'Ghidorah, the Three-Headed Monster',
'Frankenstein vs. Baragon',
'Invasion of Astro-Monster',
'Gamera vs. Barugon',
'Ebirah, Horror of the Deep',
'Son of Godzilla',
'Son of Godzilla',
'Destroy All Monsters',
'Destroy All Monsters',
'All Monsters Attack',
'Godzilla vs. Hedorah',
'Godzilla vs. Gigan',
'Godzilla vs. Megalon',
'Godzilla vs. MechaGodzilla',
'Godzilla vs. MechaGodzilla',
'Terror of MechaGodzilla',
          ]},
{':Category:Gamera Films|Gamera Films': [
'Gamera (1965 film)',
'Gamera vs. Barugon',
'Gamera vs. Gyaos',
'Gamera vs. Viras',
'Gamera vs. Guiron',
'Gamera vs. Jiger',
'Gamera vs. Zigra',
'Gamera: Super Monster',
          ]},
{':Category:Showa Series|Other Showa Films': [
'Rodan (1956 film)|Rodan',
'The Mysterians (1957 film)|The Mysterians',
'Varan (1958 film)|Varan',
'Mothra (1961 film)|Mothra',
'Atragon (1963 film)|Atragon',
'Frakenstein vs. Baragon',
'King Kong Escapes',
'Space Amoeba (1970 film)|Space Amoeba',
':Category:Showa Series|more...',
':Category:Showa Series|more...',
          ]},
           ]},
           ]},
{'Heisei era|Heisei': [
{'Heisei era|Heisei': [
          //sub
{':Category:Heisei Godzilla Films|Godzilla Films': [
'The Return of Godzilla',
'The Return of Godzilla',
'Godzilla vs. Biollante',
'Godzilla vs. Biollante',
'Godzilla vs. King Ghidorah',
'Godzilla vs. King Ghidorah',
'Godzilla vs. Mothra',
'Godzilla vs. MechaGodzilla 2',
'Godzilla vs. MechaGodzilla 2',
'Godzilla vs. SpaceGodzilla',
'Godzilla vs. SpaceGodzilla',
'Godzilla vs. Destoroyah',
'Godzilla vs. Destoroyah',
          ]},
{':Category:Gamera Films|Gamera Films': [
'Gamera: Guardian of the Universe',
'Gamera 2: Attack of Legion',
'Gamera 3: Revenge of Iris',
'Gamera: The Brave',
          ]},
{':Category:Rebirth of Mothra|Rebirth of Mothra': [
'Rebirth of Mothra',
'Rebirth of Mothra',
'Gamera 3: Revenge of Iris',
'Rebirth of Mothra II',
':Category:Heisei Series|more...',
'Rebirth of Mothra III',
          ]},
':Category:Heisei Series|Other Heisei Films',
           ]},
           ]},
{':Category:Films|Post-Heisei': [
 
{':Category:Films|Post-1999': [
//{':Category:Millennium Series|Godzilla Films': [
'Godzilla 2000: Millennium|Godzilla 2000',
'Godzilla 2000: Millennium|Godzilla 2000',
'Godzilla vs. Megaguirus',
'Godzilla vs. Megaguirus',
Line 355: Line 402:
'Godzilla: Final Wars',
'Godzilla: Final Wars',
'Godzilla: Resurgence',
'Godzilla: Resurgence',
          //]},
           ]},
           ]},
{':Category:American Films|American': [
{':Category:American Films|American': [
Line 363: Line 411:
'Godzilla 2',
'Godzilla 2',
'Godzilla vs. Kong',
'Godzilla vs. Kong',
                ':Category:American Films|more...',
           ]},
           ]},
{':Category:Unmade Films|Unmade Films': [
{':Category:Unmade Films|Unmade Films': [
Line 378: Line 427:
':Category:Films|All Films',
':Category:Films|All Films',


{':Category:Television': [
{':Category:Television|Television': [
'Go! Godman',
'Go! Godman',
'Go! Greenman',
'Go! Greenman',

Revision as of 07:05, 18 August 2016

/* Any JavaScript here will be loaded for users using the MonoBook skin */
/*<nowiki>*/
/** additional monobook scripts **/

/**** function displayTimer.js
 * by Patrick Westerhoff [poke]
 */
addOnloadHook(function ()
{
  if ( typeof( timerDisplay ) !== 'undefined' && timerDisplay === false )
    return;
  
  var date;
  var timerParent = document.getElementById( 'p-personal' ).getElementsByTagName( 'ul' )[0];
  var timerLink   = document.createElement( 'a' );
  var timerObj    = document.createElement( 'li' );
  timerLink.href               = '/wiki/' + wgPageName + '?action=purge';
  timerLink.title              = 'Purge the server cache and update the contents of this page.'
  timerObj.id                  = 'pt-timer';
  timerObj.style.textTransform = 'none';
  timerObj.style.fontWeight    = 'bold';
  timerObj.style.fontSize      = '100%';
  timerObj.appendChild( timerLink );
  timerParent.insertBefore( timerObj, timerParent.firstChild );
  
  function actualizeUTC ()
  {
    timerDate           = new Date();
    timerLink.innerHTML = ( timerDate.getUTCHours()   < 10 ? '0' : '' ) + timerDate.getUTCHours()   + ':'
                        + ( timerDate.getUTCMinutes() < 10 ? '0' : '' ) + timerDate.getUTCMinutes() + ':'
                        + ( timerDate.getUTCSeconds() < 10 ? '0' : '' ) + timerDate.getUTCSeconds() + ' (UTC)';
  }
  
  function actualizeCustom ()
  {
    timerDate           = new Date();
    timerDate.setMinutes( timerDate.getMinutes() + timerDate.getTimezoneOffset() + timerTimezone * 60 );
    timerLink.innerHTML = ( timerDate.getHours()   < 10 ? '0' : '' ) + timerDate.getHours()   + ':'
                        + ( timerDate.getMinutes() < 10 ? '0' : '' ) + timerDate.getMinutes() + ':'
                        + ( timerDate.getSeconds() < 10 ? '0' : '' ) + timerDate.getSeconds()
                        + ' (UTC' + ( timerTimezone < 0 ? '' : '+' ) + timerTimezone + ')';
  }
  
  // start
  if ( typeof( timerTimezone ) !== 'number' )
  {
    actualizeUTC();
    setInterval( actualizeUTC, 1000 );
  }
  else
  {
    actualizeCustom();
    setInterval( actualizeCustom, 1000 );
  }
});
/*</nowiki>*/


/* MediaWiki:Monobook.js v2.39 <pre> */

/* alternateBG: Agrega un class al body durante los primeros 30 min de cada hora */
(function () {
	var d = new Date();
	if (d.getMinutes() < 30) {
		try {
			document.body.className += ' alternateBG';
		} catch(e) {
			(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(function(){$(document.body).addClass('alternateBG');});
		}
	}
}());
function FondoFooter() {
	$('#globalWrapper').append($('#footer'));
}
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(FondoFooter);
/* fin alternateBG */

// Mueve cambios recientes a toolbox
function PosicionaElementosToolbox() {
	$('#p-tb').children().eq(1).children().eq(0)
	// Opciones en páginas de usuario
	.prepend($('#t-emailuser'))
	.prepend($('#t-blockip'))
	.prepend($('#t-log'))
	.prepend($('#t-contributions'))
	// 'Enlace permanente' y 'Versión para imprimir'
	.prepend($('#t-permalink'))
	.prepend($('#t-print'))
	// Opciones principales
	.prepend($('#t-specialpages'))
	.prepend($('#t-recentchangeslinked'))
	.prepend($('#t-whatlinkshere'))
	.prepend($('#t-recentchanges'))
	.prepend($('#t-upload'))
	.prepend($('#t-randompage'));

	if ($('#t-multiupload').length === 0 && $('#t-whatlinkshere').length == 1) {
	    $('<li id="t-recentchanges"><a href="/wiki/Special:RecentChanges">Recent changes</a></li>').insertAfter('#t-whatlinkshere');
	}
	if ($('#t-multiupload').length === 0 && $('#t-upload').length == 1) {
	    $('<li id="t-recentfiles"><a href="/wiki/index.php?namespace=6&title=Special:RecentChanges">Recent files</a></li>').insertAfter('#t-upload');
	}
	if ($('#t-multiupload').length === 0 && $('#t-recentfiles').length == 1) {
	    $('<li id="t-randompage"><a href="/wiki/Special:Random">Random page</a></li>').insertAfter('#t-recentfiles');
	}

	$('#t-contributions').before('<hr style="margin: 5px; margin-bottom: -1px; background-color: #E2A600;" />');
	$('#t-print').before('<hr style="margin: 5px; margin-bottom: -1px; background-color: #E2A600;" />');
	$('#t-upload').before('<hr style="margin: 5px; margin-bottom: -1px; background-color: #E2A600;" />');
	$('#t-whatlinkshere').before('<hr style="margin: 5px; margin-bottom: -1px; background-color: #E2A600;" />');

	// wikicities
	$('#p-wikicities-nav').children('div').eq(0).children('hr').eq(0).next('ul').eq(0).children('li').eq(0).attr('id','n-activityfeed');
	$('#n-activityfeed').children('a').eq(0).text('Recent activity').attr('href','/wiki/Special:RecentChanges');
	$('#p-lang').before($('#p-wikicities-nav'));

}
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(PosicionaElementosToolbox);

// UserWikiInfo
if ((mw.config.get('wgNamespaceNumber', 0) == -1 && mw.config.get('wgCanonicalSpecialPageName', '') == 'Contributions') || (mw.config.get('wgCanonicalNamespace', '') == 'User' || mw.config.get('wgCanonicalNamespace', '') == 'User_talk')) {
	(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(function() {
		if (!window.disableUserWikiInfo) {
			mw.loader.using(['mediawiki.api'], function() {
				importScript('MediaWiki:Common.js/Clases/UserWikiInfo.js');
			});
		}
	});
}

/* WMU en Monobook */
if (mw.config.get('wgAction', '') == 'edit' || mw.config.get('wgAction', '') == 'submit') {
	/*GLOBAL WMU VARS*/
	window.wmu_back = "back";
	window.wmu_imagebutton = "Add images";
	window.wmu_close = "close";
	window.wmu_no_preview = "Images can't be added from the page in preview mode";
	window.wmu_warn1 = "You should specify the text you want to look for";
	window.wmu_warn2 = "Select the file you want to upload";
	window.wmu_warn3 = "You must specify the name of the file first!";
	window.wmu_bad_extension = "This type of file is not allowed. Allowed extensions may be found in [[Special:Version]].";
	window.wmu_show_message = "show message";
	window.wmu_hide_message = "hide message";
	window.wmu_show_license_message = "show license";
	window.wmu_hide_license_message = "hide license";
	window.wmu_max_thumb = "The maximum size of the thumbnail has been surpassed. It will now return to its original size.";
	importScript('MediaWiki:Common.js/Extra/WikiaWMU.js');
	importStylesheetURI(mw.config.get('wgExtensionsPath')+'/wikia/WikiaMiniUpload/css/WMU.css?'+mw.config.get('wgStyleVersion'));
}
/* fin WMU en Monobook */

// Añade un aviso al salir de una página cuando se está editando
var LeaveEditingWarning = (function() {
	var _MESSAGE = 'Hay cambios sin guardar que se perderán si abandonas esta página.',
	_enabled = false,
	_originalText = null,
	_forceWarn = false,
	_triggerWarn = false,
	_submit = false,
	_timer = null,
	_init = function() {
		if (mw.config.get('wgAction') != 'submit') {
			_originalText = $('#wpTextbox1').val();
		}
	},
	_enable = function() {
		if (_enabled) return;
		_enabled = true;
		if (mw.config.get('wgAction') == 'submit') {
			_forceWarn = true;
		} else {
			$('#wpTextbox1').bind('change', _onInputChange);
			// El "change" solo se activa al salir del textbox. Comprobamos periódicamente
			window.setInterval(_onInputChange, 5000);
		}
		$('#editform').bind('submit', _onFormSubmit);
		$(window).bind('beforeunload.LeaveEditingWarning', _onBeforeUnload);
	},
	_disable = function() {
		if (!_enabled) return;
		_enabled = false;
		_forceWarn = false;
		_triggerWarn = false;
		$('#editform').unbind('submit', _onFormSubmit);
		$('#wpTextbox1').unbind('change', _onInputChange);
		if (_timer) {
			window.clearInterval(_timer);
			_timer = null;
		}
		$(window).unbind('beforeunload.LeaveEditingWarning');
	},
	_onFormSubmit = function(e) {
		_submit = true;
	},
	_onInputChange = function(e) {
		if (_originalText !== null && _originalText !== $('#wpTextbox1').val()) {
			_triggerWarn = true;
		} else {
			_triggerWarn = false;
		}
	},
	_onBeforeUnload = function() {
		if (_timer) {
			window.clearInterval(_timer);
			_timer = null;
		}
		if (!_submit && (_forceWarn || _triggerWarn)) {
			if (window.event) {
				window.event.returnValue = _MESSAGE;
			}
			return _MESSAGE;
		}
	};
	
	if (mw.config.get('wgAction') == 'edit' || mw.config.get('wgAction') == 'submit') {
		(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(_init);
		
		if (!window.LeaveEditingWarning || window.LeaveEditingWarning.enabled !== false) {
			(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(_enable);
		}
	}
	
	return {
		enable: _enable,
		disable: _disable
	};
})();


// Wikia ha cambiado el texto del título de las imágenes. Restaurando...
if (mw.config.get('wgNamespaceNumber') == 6) {
	(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(function() {
		$('#firstHeading').text(mw.config.get('wgPageName').replace(/_/g, ' '));
	});
}
// Añade un 'span' que sirve para añadir una imagen de fondo a la barra de categorías
function ImagenCatlinks() {
	$('#mw-normal-catlinks').before('<span id="catlinks-background-image">&nbsp;</span>');
}
(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(ImagenCatlinks);

(typeof(window.safeOnLoadHook)=='function'?safeOnLoadHook:$)(function() {
	if (!mw.config.get('wgNoWarnOnLogout', false)) {
		$('#pt-logout').children().eq(0).bind('click', function() {
			return confirm('Si continúas dejarás de estar identificado. Podrás volver a iniciar sesión en cualquier momento. ¿Deseas continuar?');
		});
	}
});

/* MONOBOOK SIDEBAR v2.3 */
window.wgSidebar = ( window.wgSidebar || {} );

wgSidebar['Help'] = [
	'Wikizilla:About|About',
	'Help|Help Pages',
	'Wikizilla:Manual of Style|Manual of Style',
        'Wikizilla:Policy|Policy',
	'Category:Stubs|Stubs',
];

wgSidebar['Monsters'] = [
	{':Category:Showa Kaiju|Showa': [
		'Godzilla',
		'Anguirus',
		'Rodan',
		'Mothra',
		'King Ghidorah',
		'Baragon',
		'Gigan',
		'Kamoebas',
		'MechaGodzilla (Showa)|MechaGodzilla',
		':Category:Showa Kaiju|more...',
         ]},
	{':Category:Heisei Kaiju|Heisei': [
		'Biollante',
		'Mecha-King Ghidorah',
		'Battra',
		'Godzilla Junior',
		'MechaGodzilla (Heisei)|Super MechaGodzilla',
		'SpaceGodzilla',
		'Destoroyah',
		'Mothra Leo',
		':Category:Heisei Kaiju|more...',
         ]},
	{':Category:Monsters|Post-Heisei': [
		'Orga',
		'Megaguirus',
		'Kiryu',
		'Zilla',
		'Monster X',
		'M.U.T.O.',
		':Category:Monsters|more...',
         ]},
	{':Category:Unmade Monsters|Unmade': [
		'Redmoon',
		'Deutalios',
		'Bagan',
		'Ghost Godzilla',
		'Gryphon',
		'Deathla',
		'Lightning Bug',
		'Unnamed Multi-Legged Monster',
		':Category:Unmade Monsters|more...',
         ]},
	{':Category:Monsters|Other': [
		':Category:Comic Kaiju|Monsters from comics',
		':Category:Game Characters|Monsters from games',
		':Category:The Godzilla Power Hour Kaiju|Monsters from the Godzilla Power Hour',
		':Category:Godzilla: The Series Kaiju|Monsters from Godzilla: The Series',
		':Category:Toho Kaiju|Other monsters from Toho',
		':Category:Monsters|more...',
         ]},
	{':Category:Gamera Kaiju|Gamera Monsters': [
		'Gamera',
		'Barugon',
		'Gyaos',
		'Viras',
		'Zigra',
		'Legion',
		'Iris',
		':Category:Gamera Kaiju|more...',
	]},
	':Category:Designs|Suits/Designs',
];

wgSidebar['Film & TV'] = [
	{'Showa era|Showa': [
           //sub
	 {':Category:Showa Godzilla Films|Godzilla Films': [
		'Godzilla (1954 film)|Godzilla',
		'Godzilla Raids Again',
		'King Kong vs. Godzilla',
		'Mothra vs. Godzilla',
		'Ghidorah, the Three-Headed Monster',
		'Invasion of Astro-Monster',
		'Ebirah, Horror of the Deep',
		'Son of Godzilla',
		'Destroy All Monsters',
		'All Monsters Attack',
		'Godzilla vs. Hedorah',
		'Godzilla vs. Gigan',
		'Godzilla vs. Megalon',
		'Godzilla vs. MechaGodzilla',
		'Terror of MechaGodzilla',
           ]},

	 {':Category:Gamera Films|Gamera Films': [
		'Gamera (1965 film)',
		'Gamera vs. Barugon',
		'Gamera vs. Gyaos',
		'Gamera vs. Viras',
		'Gamera vs. Guiron',
		'Gamera vs. Jiger',
		'Gamera vs. Zigra',
		'Gamera: Super Monster',
           ]},
	 {':Category:Showa Series|Other Showa Films': [
		'Rodan (1956 film)|Rodan',
		'The Mysterians (1957 film)|The Mysterians',
		'Varan (1958 film)|Varan',
		'Mothra (1961 film)|Mothra',
		'Atragon (1963 film)|Atragon',
		'Frakenstein vs. Baragon',
		'King Kong Escapes',
		'Space Amoeba (1970 film)|Space Amoeba',
		':Category:Showa Series|more...',
           ]},
          ]},

	{'Heisei era|Heisei': [
          //sub
	 {':Category:Heisei Godzilla Films|Godzilla Films': [
		'The Return of Godzilla',
		'Godzilla vs. Biollante',
		'Godzilla vs. King Ghidorah',
		'Godzilla vs. Mothra',
		'Godzilla vs. MechaGodzilla 2',
		'Godzilla vs. SpaceGodzilla',
		'Godzilla vs. Destoroyah',
           ]},
	 {':Category:Gamera Films|Gamera Films': [
		'Gamera: Guardian of the Universe',
		'Gamera 2: Attack of Legion',
		'Gamera 3: Revenge of Iris',
		'Gamera: The Brave',
           ]},
	 {':Category:Rebirth of Mothra|Rebirth of Mothra': [
		'Rebirth of Mothra',
		'Rebirth of Mothra II',
		'Rebirth of Mothra III',
           ]},
	 ':Category:Heisei Series|Other Heisei Films',
          ]},

	{':Category:Films|Post-1999': [
	 //{':Category:Millennium Series|Godzilla Films': [
		'Godzilla 2000: Millennium|Godzilla 2000',
		'Godzilla vs. Megaguirus',
		'Godzilla, Mothra and King Ghidorah: Giant Monsters All-Out Attack|Giant Monsters All-Out Attack',
		'Godzilla Against MechaGodzilla',
		'Godzilla: Tokyo S.O.S.',
		'Godzilla: Final Wars',
		'Godzilla: Resurgence',
           //]},
          ]},
	{':Category:American Films|American': [
		'King Kong (1933 film)|King Kong (1933)',
		'Godzilla (1998 film)|GODZILLA (1998)',
		'Pacific Rim',
		'Godzilla (2014 film)|Godzilla (2014)',
		'Godzilla 2',
		'Godzilla vs. Kong',
                ':Category:American Films|more...',
          ]},
	{':Category:Unmade Films|Unmade Films': [
		'Operation Robinson Crusoe: King Kong vs. Ebirah',
		'Gamera vs. Garasharp',
		'The Return of King Ghidorah (Heisei)|The Return of King Ghidorah',
		'Godzilla (1994 film)|Godzilla (1994)',
		'Godzilla Reborn',
		'Godzilla X Varan, Baragon and Anguirus: Giant Monsters All-Out Attack',
		'Godzilla vs. Gamera (Unmade 2002 film)|Godzilla vs. Gamera',
		'Godzilla 3D to the MAX',
		':Category:Unmade Films|more...',
          ]},

	':Category:Films|All Films',

	{':Category:Television|Television': [
		'Go! Godman',
		'Go! Greenman',
		'Zone Fighter (Series)|Zone Fighter',
		'The Godzilla Power Hour',
		'Recommend! Godzilland',
		'Godzilla Island (Series)|Godzilla Island',
		'Godzilla: The Series',
		'Kong: King of the Apes',
		':Category:Television Series|more...',
          ]},
];

// needs to be added one day
//wgSidebar['Comics'] = [

wgSidebar['Games'] = [
	{':Category:Video Games|1980s': [
		'Godzilla (Commodore 64)',
		'Godzilla vs. 3 Major Monsters',
		'Monster\'s Fair',
		'Gojira-kun',
		'The Movie Monster Game',
		'Godzilla: Monster of Monsters',
		':Category:Video Games|more...',
          ]},
	{':Category:Video Games|1990s': [
		'Godzilla 2: War of the Monsters',
		'Godzilla (Arcade)',
		'Super Godzilla',
		'Godzilla: Battle Legends',
		'Godzilla: Archipelago Shock',
		'Godzilla Generations',
		'Godzilla: Trading Battle',
		':Category:Video Games|more...',
          ]},
	{':Category:Video Games|2000s': [
		'Godzilla: The Series - Monster Wars',
		'Godzilla: Destroy All Monsters Melee',
		'CR Godzilla 3S-T Battle',
		'Godzilla: Unleashed',
		'Godzilla: Pachislot Wars',
		':Category:Video Games|more...',
          ]},
	{':Category:Video Games|2010s': [
		'CR Godzilla: Descent of the Destruction God',
		'Godzilla on Monster Island (Video Game)|Godzilla on Monster Island',
		'Godzilla: Smash3',
		'Godzilla: The Game',
		'Godzilla: Kaiju Collection',
		'City Shrouded in Shadow',
		':Category:Video Games|more...',
          ]},
	{':Category:Atari Games|Atari': [
		'Godzilla: Domination!',
		'Godzilla: Destroy All Monsters Melee',
		'Godzilla: Save the Earth',
		'Godzilla: Unleashed',
		'Godzilla Unleashed: Double Smash',
          ]},
	{':Category:Applications|Apps': [
		'Godzilla: Monster Mayhem (Fighting Application)|Godzilla: Monster Mayhem (Fighter)',
		'Godzilla: Monster Mayhem (Sidescroller Application)|Godzilla: Monster Mayhem (Sidescroller)',
		'Godzilla Encounter (Application)|Godzilla Encounter',
		'Godzilla: Smash3',
		'Godzilla: Strike Zone',
		'Godzilla: Crisis Defense',
		'Godzilla: Kaiju Collection',
          ]},
	{':Category:Toy Lines|Toys': [
		'Godzilla Island (Bandai Action Figure Series)|Godzilla Island',
		'Toho Kaiju (Bandai Japan Toy Line)|Toho Kaiju',
		'Movie Monster (Bandai Japan Toy Line)|Movie Monster',
		'Godzilla (Bandai Creation Toy Line)|Bandai Creation',
		'Godzilla 50th Anniversary Memorial Box|50th Anniversary Memorial Box',
		'S.H. MonsterArts',
		':Category:Toy Lines|more...',
          ]},
];

/**
 * MonobookSidebar: Sets sidebar submenus for elements of MonoBook, adding special
 * classes to pass the pointer over to allow the effect on all browsers.
 *
 * Date: 15 October 2010
 * Copyright © 2010 Jesús Martínez Novo ([[User:Ciencia Al Poder]])
 *
 * This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version
 */
MonobookSidebar = {
	re_s: / /g,
	re_p: /%/g,
	loadedMenus: [],
	init: function() {
		if ( !window.wgSidebar ) {
			return;
		}
		for ( var menu in wgSidebar ) {
			var item = document.getElementById( MonobookSidebar.getId( menu ) );
			if ( !item ) {
				continue;
			}
			var menuId = jQuery( item ).parents().get( 2 ).id;
			// Check it's a valid portlet item
			if ( !menuId || menuId == '' ) {
				continue;
			}
			// Generate menu hierarchy
			MonobookSidebar.buildSubmenu( item, wgSidebar[menu] );
			// Set events
			MonobookSidebar.setEvents( menuId );
		}
	},
	buildSubmenu: function( el, arr ) {
		var ul = document.createElement( 'ul' );
		ul.className = 'sub-menu';
		for ( var i = 0; i < arr.length; i++ ) {
			var li = document.createElement( 'li' );
			if ( typeof arr[i] == 'string' ) {
				var a = MonobookSidebar.linkFromText( arr[i] );
				li.appendChild( a );
			} else {
				for ( var menukey in arr[i] ) {
					a = MonobookSidebar.linkFromText( menukey );
					li.appendChild( a );
					MonobookSidebar.buildSubmenu( li, arr[i][menukey] );
				}
			}
			ul.appendChild( li );
		}
		el.appendChild( ul );
		el.className = 'with-sub-menu';
		var em = document.createElement( 'em' );
		em.appendChild( document.createTextNode( '\u203A' ) );
		el.firstChild.appendChild( em );
	},
	setEvents: function( menuId ) {
		for ( var i = 0; i < MonobookSidebar.loadedMenus; i++ ) {
			if ( MonobookSidebar.loadedMenus[i] == menuId ) {
				return;
			}
		}
		jQuery( '#' + menuId ).children().eq( 1 ).children().eq( 0 )
			.bind( 'mouseover', MonobookSidebar.mouseover )
			.bind( 'mouseout', MonobookSidebar.mouseout );
		MonobookSidebar.loadedMenus.push( menuId );
	},
	mouseover: function( e ) {
		var target = e.target;
		while ( target.tagName.toLowerCase() != 'div' ) {
			if ( target.tagName.toLowerCase() == 'a' ) {
				target = target.parentNode;
			}
			if ( target.tagName.toLowerCase() == 'li' ) {
				jQuery( target ).addClass( 'hover' );
			}
			target = target.parentNode;
		}
	},
	mouseout: function( e ) {
		var target = e.target;
		while ( target.tagName.toLowerCase() != 'div' ) {
			if ( target.tagName.toLowerCase() == 'a' ) {
				target = target.parentNode;
			}
			if ( target.tagName.toLowerCase() == 'li' ) {
				jQuery( target ).removeClass( 'hover' );
			}
			target = target.parentNode;
		}
	},
	linkFromText: function( txt ) {
		var article = '', caption = '', sepPos = txt.indexOf( '|' );
		if ( sepPos > 0 ) {
			article = txt.substr( 0, sepPos );
			caption = txt.substr( sepPos + 1 );
		} else {
			article = caption = txt;
		}
		article = article.replace( MonobookSidebar.re_s, '_' ); // removed encodeURIComponent(), it was messing things up --Jack Phoenix
		var a = document.createElement( 'a' );
		if ( article.length > 7 && article.substr( 0, 7 ) == 'http://' ) {
			a.setAttribute( 'href', article );
		} else {
			article = article.replace( MonobookSidebar.re_s, '_' ); // removed encodeURIComponent(), it was messing things up --Jack Phoenix
			// Replace encoded colons with normal colons -- added this. --Jack Phoenix
			article = article.replace( '%3A', ':' ); // added code ends here
			a.setAttribute( 'href', mw.config.get('wgArticlePath').replace( '$1', article ) );
		}
		a.appendChild( document.createTextNode( caption ) );
		return a;
	},
	getId: function( name ) {
		return 'n-' + encodeURIComponent( name.replace( MonobookSidebar.re_s, '-' ) ).replace( MonobookSidebar.re_p, '.' );
	}
};

/* Calling this code to initialize */
$( MonobookSidebar.init );