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>