MediaWiki:Common.js

Da ItaChan.
Vai alla navigazioneVai alla ricerca

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

  • Firefox / Safari: tenere premuto il tasto delle maiuscole Shift e fare clic su Ricarica, oppure premere Ctrl-F5 o Ctrl-R (⌘-R su Mac)
  • Google Chrome: premere Ctrl-Shift-R (⌘-Shift-R su un Mac)
  • Internet Explorer: tenere premuto il tasto Ctrl e fare clic su Aggiorna, oppure premere Ctrl-F5
  • Opera: Vai nel Menu → Impostazioni (Opera → Preferenze su un Mac) e poi in Privacy & sicurezza → Pulisci dati del browser → Immagini e file nella cache.
 /********************************
 
 THE FOLLOWING VISIBILITY TOGGLING CODE IS STOLEN DIRECTLY FROM
 THE CODE THEY USE AT ED.
 
 */
   
   
   addOnloadHook(createToggleLinks);
 
   /* Function that toggles ED's collapsing objects.
    * Added 11/5/2007 by WhiteMystery ([email protected])
    * Uses publicly available code in one function, where noted. */
 
   function toggleCollapse(objToToggle, collapseText, expandText) {
 
   	var linkText = "";
   	var targetObject = returnObjById(objToToggle);
 
   	if ( targetObject ) {
 
   		if ( targetObject.style.display == "none" ) {
 
   			targetObject.style.display = "block";
   			linkText = collapseText;
   		}
 
   		else {
 
   			targetObject.style.display = "none";
   			linkText = expandText;
   		}
 
   		var toggleLink = document.createElement("a");
   		toggleLink.appendChild(document.createTextNode(linkText));
   		toggleLink.setAttribute("href", "javascript:toggleCollapse('" + objToToggle + "','" + collapseText + "','" + expandText + "')");
 
   		returnObjById(objToToggle + "Link").innerHTML = "";
   		returnObjById(objToToggle + "Link").appendChild(toggleLink);
   	}
   }
 
   /* Functions that performs the morph operation.
    * Added 1/11/2008 by WhiteMystery ([email protected])
    * Uses publicly available code in one function, where noted. */
 
   function performMorph(targetID, targetNumber) {
 
   	var counter = 1;
 
   	while ( returnObjById(targetID + "Content" + counter) ) {
 
   		if ( counter == targetNumber )
   			returnObjById(targetID + "Content" + counter).style.display = "block";
   		else
   			returnObjById(targetID + "Content" + counter).style.display = "none";
 
   		counter++;
   	}
 
   	returnObjById(targetID + "Master").innerHTML = targetNumber;
   }
 
   function morphForward(targetID) {
 
   	var nextPane = parseInt(returnObjById(targetID + "Master").innerHTML) + 1;
 
   	if ( returnObjById(targetID + "Content" + nextPane) )
   		performMorph(targetID, nextPane);
 
   	else
   		performMorph(targetID, "1");
   }
 
   function morphBackward(targetID) {
 
   	var prevPane = parseInt(returnObjById(targetID + "Master").innerHTML) - 1;
 
   	if ( prevPane > 0 )
   		performMorph(targetID, prevPane);
 
   	else {
 
   		var maxIndex = 1;
 
   		while ( returnObjById(targetID + "Content" + maxIndex) )
   			maxIndex++;
 
   		performMorph(targetID, maxIndex - 1);
   	}
   }
 
   /* Function that creates ED's collapsing objects and toggle links.
    * Added 11/5/2007 by WhiteMystery ([email protected])
    * Uses publicly available code in one function, where noted.
    *
    * Updated: 1/11/2008 by WhiteMystery to add new Morphing Objects
    * functionality. */
 
   function createToggleLinks() {
 
   	var spanCollection = document.getElementsByTagName("span");
 
   	for ( i = 0; i < spanCollection.length; i++ ) {
 
   		if ( spanCollection[i].className == "toggleLink" ) {
 
   			var spanID = spanCollection[i].getAttribute("id");
   			var targetID = spanID.substr(0, spanID.length - 4);
   			var collapseText = returnObjById(targetID + "CollapseText").innerHTML;
   			var expandText = returnObjById(targetID + "ExpandText").innerHTML;
   			var initialState = returnObjById(targetID + "InitialState").innerHTML;
 
   			var toggleLink = document.createElement("a");
 
   			if ( initialState == "0" ) {
 
   				returnObjById(targetID).style.display = "none";
   				toggleLink.appendChild(document.createTextNode(expandText));
   			}
 
   			else {
 
   				returnObjById(targetID).style.display = "block";
   				toggleLink.appendChild(document.createTextNode(collapseText));
   			}
 
   			toggleLink.setAttribute("href", "javascript:toggleCollapse('" + targetID + "','" + collapseText + "','" + expandText + "')");
 
   			spanCollection[i].appendChild(toggleLink);
   		}
 
   		else if ( spanCollection[i].className == "morphMaster" ) {
 
   			var spanID = spanCollection[i].getAttribute("id");
   			var targetID = spanID.substr(0, spanID.length - 6);
   			var counter = 1;
 
   			// Create forward and backward paging if the paging elements exist
   			if ( returnObjById(targetID + "LinkNext") && returnObjById(targetID + "LinkPrev") && returnObjById(targetID + "Content1") ) {
 
   				// Create the forward link
   				var nextLink = document.createElement("a");	
   				nextLink.appendChild(document.createTextNode(returnObjById(targetID + "LinkNext").innerHTML));
   				nextLink.setAttribute("href", "javascript:morphForward('" + targetID + "')");
 
   				returnObjById(targetID + "LinkNext").innerHTML = "";
   				returnObjById(targetID + "LinkNext").appendChild(nextLink, 0);
 
   				// Create the backward link
   				var prevLink = document.createElement("a");	
   				prevLink.appendChild(document.createTextNode(returnObjById(targetID + "LinkPrev").innerHTML));
   				prevLink.setAttribute("href", "javascript:morphBackward('" + targetID + "')");
 
   				returnObjById(targetID + "LinkPrev").innerHTML = "";
   				returnObjById(targetID + "LinkPrev").appendChild(prevLink, 0);
 
   				// Initialize content panes
   				while ( returnObjById(targetID + "Content" + counter) ) {
 
   					if ( counter == 1 )
   						returnObjById(targetID + "Content" + counter).style.display = "block";
   					else
   						returnObjById(targetID + "Content" + counter).style.display = "none";
 
   					counter++;
   				}	
   			}
 
   			counter = 1;
 
   			// Whether or not there is paging, generate normal links				
   			while ( returnObjById(targetID + "Link" + counter) && returnObjById(targetID + "Content" + counter) ) {
 
   				var morphLink = document.createElement("a");
   				morphLink.appendChild(document.createTextNode(returnObjById(targetID + "Link" + counter).innerHTML));
   				morphLink.setAttribute("href", "javascript:performMorph('" + targetID + "','" + counter + "')");
 
   				returnObjById(targetID + "Link" + counter).innerHTML = "";
   				returnObjById(targetID + "Link" + counter).appendChild(morphLink, 0);
 
   				// Initialize content panes
   				if ( counter == 1 )
   					returnObjById(targetID + "Content" + counter).style.display = "block";
   				else
   					returnObjById(targetID + "Content" + counter).style.display = "none";
 
   				counter++;
   			}
 
   			spanCollection[i].innerHTML = "1";
   			spanCollection[i].style.display = "none";
   		}
   	}
   }
 
   /* Function that toggles ED's collapsing objects.
    * Added 11/5/2007 by WhiteMystery ([email protected])
    * Taken from http://www.netlobo.com/javascript_get_element_id.html */
 
   function returnObjById( id ) {
 
       if (document.getElementById) 
           var returnVar = document.getElementById(id); 
       else if (document.all) 
           var returnVar = document.all[id]; 
       else if (document.layers) 
           var returnVar = document.layers[id]; 
       return returnVar; 
   }
   
   /****************
 
  END OF THE VISIBILITY TOGGLING CODE FROM ED
  
   ***/
 
 
   /*** 
    This function autohides content of the class 'autohide'.
    Haven't touched js code in ages so I may be doing this
    in a retarded fashion, but whatever. -IAAPMOTESOD
  **/
  
    addOnloadHook(autoHide);  
    function autoHide() {
      var stuffToAutohide = getElementsByClassName(document, "*", "autohide");
     	for (var i = 0; i < stuffToAutohide.length; i++) {
     		stuffToAutohide[i].style.display = 'none';
     	}
    }