Nota: dopo aver pubblicato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.

  • Firefox / Safari: tieni premuto il tasto delle maiuscole Shift e fai clic su Ricarica, oppure premi Ctrl-F5 o Ctrl-R (⌘-R su Mac)
  • Google Chrome: premi Ctrl-Shift-R (⌘-Shift-R su un Mac)
  • Internet Explorer / Edge: tieni premuto il tasto Ctrl e fai clic su Aggiorna, oppure premi Ctrl-F5
  • Opera: premi Ctrl-F5.
/* Il codice JavaScript inserito qui viene caricato dagli utenti che usano la skin Vector */

/** Supporto per il Template:Interprogetto ********************************************
 *
 *  Attenzione: questo codice è un "hack", strettamente dipendente dal funzionamento
 *  della skin Vector; potrebbe smettere di funzionare in caso di modifiche alla skin.
 *
 *  Maintainer: [[Utente:Salvatore Ingala]]
 */
$(function(){
	try {
		if ( $( '#interProject' ).length == 0 )
			return;
 
		//Controlli aggiuntivi sul div 'interProject'
		var $ul = $( '#interProject' ).find( 'ul' );
		if ( $ul.length == 0 || $ul.find( 'li' ).length == 0)
			return;
 
		var id = 'p-iproject';
 
		var portal = document.createElement( 'div' );
		portal.id = id;
		var $portal = $( portal );
		var $divbody = $( document.createElement( 'div' ) );
		$divbody.addClass( 'body' )
			.append( $( '#interProject' ).find( 'ul' ) );
			
 		// Cerca la classe da mettere tra gli altri portlet, *evitando* di indovinare
		// la classe per ogni skin, e usando 'portlet' se non si riesce a fare di meglio.
		// Non includere p-navigation perché è diverso (ha la classe 'portal-first').
		var plausibleIDs = [ 'p-Comunità', 'p-tb', 'p-coll-print_export' ],
			interProjectClass = 'portlet',
			IDElement;
		for ( var idkey in plausibleIDs ) {
			IDElement = document.getElementById( plausibleIDs[idkey] );
			if ( IDElement ) {
				interProjectClass = IDElement.classList.value;
				break;
			}
		}
		$portal.addClass( interProjectClass )
			.html( '<h3>Altri progetti</h3>' )
			.append( $divbody )
			.insertAfter( $('#p-tb') );

		//Ricalcola TabIndex
		//Calcola il massimo TabIndex presente, ma escludendo i portal
		var maxTI = 0;
		$( '[tabindex]' ).each(function(){
			if ($(this).is( '#mw-panel > div.portal' ))
				return;
			var ti = parseInt($(this).attr( 'tabindex' ));
			if (ti > maxTI)
				maxTI = ti;
		});
 
		var tabIndex = maxTI+1;
 
		//Assegna tabIndex incrementali ai portals non persistenti (anche quelli che esistevano prima)
		$( '#mw-panel > div.portal:not(.persistent) > h5' ).each(function(){
			$( this ).attr( 'tabindex', tabIndex++ );
		});
	} catch(e) {
		//non fa nulla
	}
});

/*************************/
/* Supporto per NavFrame */
/*************************/

// copiato da MediaWiki:Monobook.js

// BEGIN Dynamic Navigation Bars

// set up the words in your language
var NavigationBarHide = '▲ Nascondi';
var NavigationBarShow = '▼ Espandi';

// set up max count of Navigation Bars on page,
// if there are more, all will be hidden
// NavigationBarShowDefault = 0; // all bars will be hidden
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
var NavigationBarShowDefault = 0;


// shows and hides content and picture (if available) of navigation bars
// Parameters:
//     indexNavigationBar: the index of navigation bar to be toggled
function toggleNavigationBar(indexNavigationBar)
{
   var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
   var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);

   if (!NavFrame || !NavToggle) {
       return false;
   }

   // if shown now
   if (NavToggle.firstChild.data == NavigationBarHide) {
       for (
               var NavChild = NavFrame.firstChild;
               NavChild != null;
               NavChild = NavChild.nextSibling
           ) {
           if (NavChild.className == 'NavPic') {
               NavChild.style.display = 'none';
           }
           if (NavChild.className == 'NavContent') {
               NavChild.style.display = 'none';
           }
           if (NavChild.className == 'NavToggle') {
               NavChild.firstChild.data = NavigationBarShow;
           }
       }

   // if hidden now
   } else if (NavToggle.firstChild.data == NavigationBarShow) {
       for (
               var NavChild = NavFrame.firstChild;
               NavChild != null;
               NavChild = NavChild.nextSibling
           ) {
           if (NavChild.className == 'NavPic') {
               NavChild.style.display = 'block';
           }
           if (NavChild.className == 'NavContent') {
               NavChild.style.display = 'block';
           }
           if (NavChild.className == 'NavToggle') {
               NavChild.firstChild.data = NavigationBarHide;
           }
       }
   }
}

// adds show/hide-button to navigation bars
function createNavigationBarToggleButton()
{
   var indexNavigationBar = 0;
   // iterate over all < div >-elements
   for(
           var i=0;
           NavFrame = document.getElementsByTagName("div")[i];
           i++
       ) {
       // if found a navigation bar
       if (NavFrame.className == "NavFrame") {

           indexNavigationBar++;
           var NavToggle = document.createElement("a");
           NavToggle.className = 'NavToggle';
           NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
           NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');

           var NavToggleText = document.createTextNode(NavigationBarHide);
           NavToggle.appendChild(NavToggleText);

           // add NavToggle-Button as first div-element
           // in < div class="NavFrame" >
           NavFrame.insertBefore(
               NavToggle,
               NavFrame.firstChild
           );
           NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
       }
   }
   // if more Navigation Bars found than Default: hide all
   if (NavigationBarShowDefault < indexNavigationBar) {
       for(
               var i=1;
               i<=indexNavigationBar;
               i++
       ) {
           toggleNavigationBar(i);
       }
   }

}

$(createNavigationBarToggleButton);

// END Dynamic Navigation Bars

/********************************/
/* Fine - Supporto per NavFrame */
/********************************/