Utente:Cresh.Bot/js

Vai alla navigazione Vai alla ricerca
<script type="text/javascript">
// Variabili per gli effetti
var navigationBarHide = '[Nascondi]'; // Usati per il dismissableNotice e il cassetto
var navigationBarShow = '[Vedi]';
var slideDelay = 600; // Usati per cassetto, toggleLink e Morph
var fadeDelay = 400;
var navigationBarShowDefault = 0; // Usato per cassetto

/*************** Variabili di regolazione degli effetti ***************/
var noNavSlide = false; // Disabilita lo scorrimento nei cassetti [funzione toggleNavigationBar()]
var noMorphSFX = false; // Disabilita scorrimento e fading nel morph [funzioni toggleCollapse() e performMorph()]

/***************           Variabili di debug           ***************/
var navBarDebug = false; // Funzione createNavigationBarToggleButton()
var toggleDebug = false; // Funzione createToggleLinks()
var morphDebug = false; // Funzione createMorphLinks()
var createTagsDebug = false; // Funzione createTags()
var testDebug = false; // Funzione displayTest()
var abcDebug = false; // Funzione displayAbc()

// Funzioni da avviare al caricamento della pagina e dell'anteprima
function hooksCommonRender() {
	// Patch
	youtubePatch();
	if(wgCanonicalNamespace == 'File') filePatch();
	if(wgPageName == 'Speciale:Carica' || wgAction == 'edit') catTreePatch();
	if(navigator.appName == 'Microsoft Internet Explorer') hiddenCatsExplorerPatch();
	if(!disableHideEdit && $('#ca-edit').length && $('#hide-edit').length) hideEditPatch();
 
	// Skin
	//randomLogo();
	moveEditSection();
	if(wgNamespaceNumber > -1 && !disableSectionZeroEditLink) sectionZeroEditLink();
	if(!disableAddCSS) addCSS();
	if(!disableAssignTitle) rewriteTitle();
	if(!disableAssignSubTitle) rewriteSubTitle();
 
	// Effetti
	numList();
	randomList();
	checkTimers();
	initializeCoolCounter();
	if(!disableTargetBlank) targetBlank();
	if(!disableUsernameReplace) usernameReplace();
	if(!disableAlert) {
		alertLink();
		setTimeout(alertLoad, 1);
	}
	if(!disableRefTooltip) refTooltip();
	if(!navBarDebug) createNavigationBarToggleButton();
	if(!toggleDebug) createToggleLinks();
	if(!morphDebug) createMorphLinks();
	if(!createTagsDebug) createTags();
	if(!testDebug) displayTest();
	if(!abcDebug) displayAbc();
 
	// Altro
	jsLoading(); // Non mettere altro qui sotto
 
	// Funzioni fuori dal common.js
	for(var i = 0; i < hooksCustomRender.length; i++) {
		if(typeof hooksCustomRender[i] == typeof Array()) { // Se ci sono parametri da passare alla funzione
			hooksCustomRender[i][0].apply(this, hooksCustomRender[i][1]);
		}
		else {
			hooksCustomRender[i]();
		}
	}
	return;
}
 
// Boh, non so a cosa serva ma c'era anche questo
function dismissableNotice() {
	var urll = '/api.php?action=query&prop=revisions&titles=Nonciclopedia:Dismissablenotice';
	var params = '&rvprop=content|timestamp&format=json';
	$.getJSON(wgServer + wgScriptPath + urll + params, function(data) {
		$.each(data['query']['pages'], function(key, val) {
			timestamp = val['revisions'][0]['timestamp'];
			if(timestamp != getCookie('gendn')) {
				message = val['revisions'][0]['*'];
				if(message == '') {
					message = 'undefined';
				}
			}
			else {
				message = 'undefined';
			}
		});
		params = '&action=render'
		if(message != 'undefined') {
			$.get({
				url: wgServer + wgScriptPath + urll + params,
				dataType: 'text',
				success: function(data) {
					var div = $('<div></div>').attr('id', 'gendn').css({
						'display': 'block',
						'background-color': '#FFCE7B',
						'border': '1px solid #FFA500',
						'width': '98%',
						'padding': '0.6em',
						'margin': '0.2em',
						'font-weight': 'bold',
						'margin-bottom': '20px'
					});
					var span = $('<span></span>').attr('class', 'morphLink').css({
						'font-size': '80%',
						'float': 'right'
					}).text(navigationBarHide).click(function() {
						createCookie('gendn', timestamp, 1000);
						$('#gendn').remove();
					});
					div.append(span, data);
					$('#contentSub').after(div);
				}
			});
		}
	});
	return;
}

// Funzioni (2) per il cassetto
// Parametri:
// indexNavigationBar: Numero identificativo del cassetto
function toggleNavigationBar(indexNavigationBar) {
	var navToggle = $('#NavToggle' + indexNavigationBar);
	var navFrame = $('#NavFrame' + indexNavigationBar);
	var navContent = $('>.NavPic, >.NavContent', navFrame);
 
	if(!navFrame.length || !navToggle.length) {
		return false;
	}
 
	// Se il cassetto è aperto
	if(navToggle.text() == navigationBarHide) {
		if(!navFrame.hasClass('noSlide') && !noNavSlide) {
			navContent.fadeOut({duration: fadeDelay, queue: false}).slideUp(slideDelay);
		}
		else {
			navContent.hide();
		}
		navToggle.text(navigationBarShow);
	}
	// Se il cassetto è chiuso
	else if(navToggle.text() == navigationBarShow) {
		if(!navFrame.hasClass('noSlide') && !noNavSlide) {
			navContent.fadeIn({duration: fadeDelay, queue: false}).hide().slideDown(slideDelay);
		}
		else {
			navContent.show();
		}
		navToggle.text(navigationBarHide);
	}
	return;
}
 
function createNavigationBarToggleButton() {
	var indexNavigationBar = 0;
	$('div.NavFrame').each(function() {
		indexNavigationBar++;
		var index = indexNavigationBar;
		var navToggle = $('<span></span>');
		navToggle.attr({
			'class': 'NavToggle morphLink',
			'id': 'NavToggle' + index,
			'onclick': 'toggleNavigationBar(\'' + index + '\');'
		});
		navToggle.text(navigationBarHide);
		$('>.NavHead', this).append(navToggle);
		$(this).attr({
			'id': 'NavFrame' + index
		});
	});
	if(navigationBarShowDefault < indexNavigationBar) {
		for(var i = 1; i <= indexNavigationBar; i++) {
			toggleNavigationBar(i);
		}
	}
	return;
}
 
// Funzioni (2) di toggleLink
// Autore: WhiteMystery
function toggleCollapse(objToToggle) {
	var linkText = '';
	var targetObject = $('#' + objToToggle);
	if(!targetObject.length) {
		return;
	}
	var collapseText = $('#' + objToToggle + 'CollapseText').html();
	var expandText = $('#' + objToToggle + 'ExpandText').html();
	var slide = !$('#' + objToToggle + 'Link').hasClass('noSlide') && !noMorphSFX;
	var fade = !$('#' + objToToggle + 'Link').hasClass('noFade') && !noMorphSFX;
	if(targetObject.is(':hidden')) {
		if(fade && slide) {
			targetObject.fadeIn({duration: slideDelay, queue: false}).hide().slideDown(fadeDelay);
			// I delay sono volutamente invertiti
		}
		else if(!fade && slide) {
			targetObject.slideDown(slideDelay);
		}
		else if(fade && !slide) {
			targetObject.fadeIn(fadeDelay);
		}
		else {
			targetObject.show();
		}
		linkText = collapseText;
	}
	else {
		if(fade && slide) {
			targetObject.fadeOut({duration: fadeDelay, queue: false}).slideUp(slideDelay);
		}
		else if(!fade && slide) {
			targetObject.slideUp(slideDelay);
		}
		else if(fade && !slide) {
			targetObject.fadeOut(fadeDelay);
		}
		else {
			targetObject.hide();
		}
		linkText = expandText;
	}
	$('#' + objToToggle + 'Link-').html(linkText);
	return;
}
 
function createToggleLinks() {
	$('.toggleLink').each(function() {
		var spanID = $(this).attr('id');
		var targetID = spanID.replace(/Link$/, '');
		var collapseText = $('#' + targetID + 'CollapseText').html();
		var expandText = $('#' + targetID + 'ExpandText').html();
		var initialState = $('#' + targetID + 'InitialState').text();
		var toggleLink = $('<span></span>');
		$(this).append(toggleLink);
		if(initialState == '0') {
			$('#' + targetID).hide();
			toggleLink.html(expandText);
		}
		else {
			$('#' + targetID).show();
			toggleLink.html(collapseText);
		}
		toggleLink.attr({
			'id': targetID + 'Link-',
			'class': 'morphLink',
			'onclick': 'toggleCollapse(\'' + targetID + '\');'
		});
	});
	return;
}
 
// Funzioni (5) del morph 2.0
// Autore: MFH
// Parametri:
// targetID: ID dell'oggetto morphizzato
// targetNumber: Numero dell'elemento che si vuole visualizzare
function performMorph(targetID, targetNumber) {
	var master = $('#' + targetID + 'Master');
	var maxNumber = master.attr('max');
	for(var i = 1; i <= maxNumber; i++) {
		$('.' + targetID + 'Content' + i).hide();
	}
	if(master.hasClass('noFade') || noMorphSFX) {
		$('.' + targetID + 'Content' + targetNumber).show();
	}
	else {
		$('.' + targetID + 'Content' + targetNumber).fadeIn({duration: fadeDelay, queue: false});
	}
	if(master.hasClass('noLoop')) {
		if(targetNumber == 1) {
			$('.' + targetID + 'LinkNext').show();
			$('.' + targetID + 'LinkPrev').hide();
		}
		else if(targetNumber == maxNumber) {
			$('.' + targetID + 'LinkNext').hide();
			$('.' + targetID + 'LinkPrev').show();
		}
		else {
			$('.' + targetID + 'LinkNext').show();
			$('.' + targetID + 'LinkPrev').show();
		}
	}
	$('.' + targetID + 'Counter').text('(' + targetNumber + '/' + maxNumber + ')');
	master.attr('pos', targetNumber);
	return;
}
 
function morphForward(targetID) {
	var master = $('#' + targetID + 'Master');
	var maxPane = parseInt(master.attr('max'));
	var nextPane = parseInt(master.attr('pos')) + 1;
	if(nextPane <= maxPane) {
		performMorph(targetID, nextPane);
	}
	else {
		performMorph(targetID, '1');
	}
	return;
}
 
function morphBackward(targetID) {
	var master = $('#' + targetID + 'Master');
	var maxPane = parseInt(master.attr('max'));
	var prevPane = parseInt(master.attr('pos')) - 1;
	if(prevPane > 0) {
		performMorph(targetID, prevPane);
	}
	else {
		performMorph(targetID, maxPane);
	}
	return;
}
 
function morphRandom(targetID) {
	var master = $('#' + targetID + 'Master');
	var maxPane = parseInt(master.attr('max'));
	var randPane = Math.floor(Math.random() * maxPane + 1);
	performMorph(targetID, randPane);
	return;
}
 
function createMorphLinks() {
	$('.morphMaster').each(function() {
		var spanID = $(this).attr('id');
		var targetID = spanID.replace(/Master$/, '');
		var noLoop = $(this).hasClass('noLoop');
		var startPane = parseInt($('#' + targetID + 'Start').text());
		var counter = 1;
		while($('.' + targetID + 'Content' + counter).length) { // Creazione link diretti
			$('.' + targetID + 'Link' + counter).addClass('morphLink').attr('onclick', 'performMorph(\'' + targetID + '\', \'' + counter + '\');');
			$('.' + targetID + 'Content' + counter).hide(); // Preparazione contenuti
			counter++;
		}
		$('#' + targetID + 'Start').remove();
		if(startPane >= 1 && startPane <= counter - 1) {
			$('.' + targetID + 'Content' + startPane).show();
		}
		else {
			$('.' + targetID + 'Content1').show();
			startPane = 1
		}
		if($('.' + targetID + 'Counter').length) {
			$('.' + targetID + 'Counter').text('(' + startPane + '/' + (counter - 1) + ')');
		}
		if($('.' + targetID + 'Content1').length) { // Creazione link di scorrimento
			var nextLink = $('.' + targetID + 'LinkNext');
			nextLink.addClass('morphLink').attr('onclick', 'morphForward(\'' + targetID + '\');');
			if(noLoop && startPane == counter - 1) {
				nextLink.hide();
			}
			var prevLink = $('.' + targetID + 'LinkPrev');
			prevLink.addClass('morphLink').attr('onclick', 'morphBackward(\'' + targetID + '\');');
			if(noLoop && startPane == 1) {
				prevLink.hide();
			}
		}
		$('.' + targetID + 'LinkRandom').addClass('morphLink').attr('onclick', 'morphRandom(\'' + targetID + '\');'); // Creazione link random
		$(this).hide().attr({
			'pos': startPane,
			'max': counter - 1
		});
	});
	return;
}
</script>