<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://dnatamer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ACommon.js</id>
		<title>MediaWiki:Common.js - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://dnatamer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ACommon.js"/>
		<link rel="alternate" type="text/html" href="http://dnatamer.net/wiki/index.php?title=MediaWiki:Common.js&amp;action=history"/>
		<updated>2026-04-04T10:57:46Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>http://dnatamer.net/wiki/index.php?title=MediaWiki:Common.js&amp;diff=939&amp;oldid=prev</id>
		<title>Jess: Created page with &quot;/* Any JavaScript here will be loaded for all users on every page load. */ /* Most of it shamelessy grabbed from Wikimon.net, yes. */  /************* General utility functions...&quot;</title>
		<link rel="alternate" type="text/html" href="http://dnatamer.net/wiki/index.php?title=MediaWiki:Common.js&amp;diff=939&amp;oldid=prev"/>
				<updated>2014-08-14T17:46:27Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Any JavaScript here will be loaded for all users on every page load.: &lt;/span&gt; ‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Most of it shamelessy grabbed from Wikimon.net, yes.: &lt;/span&gt;  /************* General utility functions...&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
/* Most of it shamelessy grabbed from Wikimon.net, yes. */&lt;br /&gt;
&lt;br /&gt;
/************* General utility functions *************/&lt;br /&gt;
&lt;br /&gt;
 /* Test if an element has a certain class **************************************&lt;br /&gt;
 *&lt;br /&gt;
 * Description: Uses regular expressions and caching for better performance.&lt;br /&gt;
 * Maintainers: User:Mike Dillon, User:R. Koot, User:SG&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
var hasClass = (function () {&lt;br /&gt;
    var reCache = {};&lt;br /&gt;
    return function (element, className) {&lt;br /&gt;
        return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp(&amp;quot;(?:\\s|^)&amp;quot; + className + &amp;quot;(?:\\s|$)&amp;quot;))).test(element.className);&lt;br /&gt;
    };&lt;br /&gt;
 })();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function getElementsByClass (node, className, tagName) {&lt;br /&gt;
	if (node.getElementsByClassName &amp;amp;&amp;amp; (tagName == undefined || tagName == null || tagName == '*')) return node.getElementsByClassName(className);&lt;br /&gt;
	var list = node.getElementsByTagName(tagName?tagName:'*');&lt;br /&gt;
	var array = new Array();&lt;br /&gt;
	var i = 0;&lt;br /&gt;
	for (i in list) {&lt;br /&gt;
		if (hasClass(list[i], className))&lt;br /&gt;
			array.push(list[i]);&lt;br /&gt;
	 }&lt;br /&gt;
	return array;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
/* Creates the method getElementsByClass, if unsupported from the browser */&lt;br /&gt;
if(!document.getElementsByClass) document.getElementsByClass = function(className) {&lt;br /&gt;
	return getElementsByClass(document, className, '*');&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function getElementsByName (name, root) {&lt;br /&gt;
 if (root == undefined) root = document;&lt;br /&gt;
 var e = root.getElementsByTagName('*');&lt;br /&gt;
 var r = new Array();&lt;br /&gt;
 for (var i = 0; i &amp;lt; e.length; i++) {&lt;br /&gt;
	if (e[i].getAttribute('name') == name) r[r.length] = e[i];&lt;br /&gt;
 }&lt;br /&gt;
 return r;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 function getText (e) {&lt;br /&gt;
	 if (e.textContent) return e.textContent;&lt;br /&gt;
	  else if (e.innerText) return e.innerText;&lt;br /&gt;
	  else return null;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
 function setText (e, t) {&lt;br /&gt;
	 if (e.textContent) e.textContent = t;&lt;br /&gt;
	  else if (e.innerText) e.innerText = t;&lt;br /&gt;
	  else { e.textContent = t; e.innerText = t; } // entrambi nulli, non si può discriminare&lt;br /&gt;
	 return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
 function appendText (e, t) {&lt;br /&gt;
	 if (e.textContent) e.textContent += t;&lt;br /&gt;
	  else if (e.innerText) e.innerText += t;&lt;br /&gt;
	  else { e.textContent = t; e.innerText = t; }&lt;br /&gt;
	 return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/* Create an Ajax request */&lt;br /&gt;
function createRequest () {&lt;br /&gt;
	if (window.XMLHttpRequest) { // Mozilla, Safari...&lt;br /&gt;
		return new XMLHttpRequest();&lt;br /&gt;
	 }&lt;br /&gt;
	 else if (window.ActiveXObject) { // IEmmerda&lt;br /&gt;
		return new ActiveXObject(&amp;quot;Microsoft.XMLHTTP&amp;quot;);&lt;br /&gt;
	 }&lt;br /&gt;
	return&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
/* Returns the value of a cookie */&lt;br /&gt;
function getCookie(name) {&lt;br /&gt;
	if (document.cookie.length == 0) return null;&lt;br /&gt;
	var start = document.cookie.indexOf(name);&lt;br /&gt;
	if (start == -1) return null;&lt;br /&gt;
	start += name.length + 1;&lt;br /&gt;
	var end = document.cookie.indexOf(';', start);&lt;br /&gt;
	if (end == -1) end = document.cookie.length;&lt;br /&gt;
	return unescape(document.cookie.substring(start,end));&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
/* Adds a zero to the figures under 10 in the textual representation */&lt;br /&gt;
function addzero(n) {&lt;br /&gt;
	if (n&amp;lt;10) return '0' + n.toString();&lt;br /&gt;
	 else return n.toString();&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
function addEvent(el, ev, f, capt) {&lt;br /&gt;
 if (capt == undefined) capt = false;&lt;br /&gt;
 if (el.addEventListener) el.addEventListener(ev, f, capt);&lt;br /&gt;
  else if (el.attachEvent) el.attachEvent('on' + ev, f);&lt;br /&gt;
 return;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function removeEvent(el, ev, f, capt) {&lt;br /&gt;
 if (capt == undefined) capt = false;&lt;br /&gt;
 if (el.removeEventListener) el.removeEventListener(ev, f, capt);&lt;br /&gt;
  else if (el.detachEvent) el.detachEvent('on' + ev, f);&lt;br /&gt;
 return;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var noFade = false;&lt;br /&gt;
function Fade (element, delay, i, rev, ratio) {&lt;br /&gt;
 if (noFade) return;&lt;br /&gt;
/* rev = sparizione; se !rev, ratio = opacità finale; se rev, ratio = opacità iniziale*/&lt;br /&gt;
 var start_time = new Date().getTime();&lt;br /&gt;
 var start_value = rev? ratio : 0;&lt;br /&gt;
 element.style.filter = &amp;quot;alpha(opacity=&amp;quot; + start_value * 100 + &amp;quot;)&amp;quot;;&lt;br /&gt;
 element.style.opacity = start_value;&lt;br /&gt;
 if (!parseInt(element.style.width) &amp;amp;&amp;amp; navigator.appName == &amp;quot;Microsoft Internet Explorer&amp;quot;) element.style.width = element.offsetWidth + 'px';&lt;br /&gt;
 setTimeout(function() { Do()} , i);&lt;br /&gt;
 return;&lt;br /&gt;
 &lt;br /&gt;
 function Do() {&lt;br /&gt;
	 var cur_time = new Date().getTime();&lt;br /&gt;
	 var past_time = cur_time - start_time;&lt;br /&gt;
	 if (past_time &amp;gt;= delay) { /* ultima chiamata */&lt;br /&gt;
		var final_value = rev? 0 : ratio;&lt;br /&gt;
		element.style.filter = &amp;quot;alpha(opacity=&amp;quot; + final_value * 100 + &amp;quot;)&amp;quot;;&lt;br /&gt;
		element.style.opacity = final_value;&lt;br /&gt;
		return;&lt;br /&gt;
	  }&lt;br /&gt;
	 var progress = past_time/delay;&lt;br /&gt;
	 var new_value = rev? ratio * (1 - progress) : ratio * progress;&lt;br /&gt;
	 element.style.filter = &amp;quot;alpha(opacity=&amp;quot; + new_value * 100 + &amp;quot;)&amp;quot;;&lt;br /&gt;
	 element.style.opacity = new_value;&lt;br /&gt;
	 setTimeout(function() { Do(); } , i);&lt;br /&gt;
	 return;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var noSlide = false;&lt;br /&gt;
function Slide(element, param, final_value, final_size, delay, i) {&lt;br /&gt;
 if (noSlide) return;&lt;br /&gt;
 /* NB: Il valore finale deve avere la stessa unità di misura di quello iniziale! */&lt;br /&gt;
 var start_time = new Date().getTime();&lt;br /&gt;
 var unit = 'px';&lt;br /&gt;
 if (typeof(final_value) == 'string') {&lt;br /&gt;
	 final_value = final_value.split(/\D/);&lt;br /&gt;
	 if (final_value.length &amp;gt; 1) unit = final_value[1];&lt;br /&gt;
	 final_value = parseFloat(final_value[0]);&lt;br /&gt;
  }&lt;br /&gt;
 var start_value = Get();&lt;br /&gt;
 var sub = (start_value &amp;gt; final_value)? true : false;&lt;br /&gt;
 var diff = Math.abs(start_value - final_value);&lt;br /&gt;
 var start_size;&lt;br /&gt;
 if (param == 'top' || param == 'bottom') start_size = element.parentNode.offsetHeight;&lt;br /&gt;
  else if (param == 'left' || param == 'right')	start_size = element.parentNode.offsetWidth;&lt;br /&gt;
 var diff_size = Math.abs(start_size - final_size);&lt;br /&gt;
 setTimeout( function() {Do(); } , i);&lt;br /&gt;
 return;&lt;br /&gt;
 &lt;br /&gt;
 function Do() {&lt;br /&gt;
	 var cur_time = new Date().getTime();&lt;br /&gt;
	 var past_time = cur_time - start_time;&lt;br /&gt;
	 if (past_time &amp;gt;= delay) { /* ultima chiamata */&lt;br /&gt;
		Set(final_value);&lt;br /&gt;
	 if (param == 'top' || param == 'bottom') element.parentNode.style.height = final_size + unit;&lt;br /&gt;
	  else if (param == 'left' || param == 'right') element.parentNode.style.width = final_size + unit;		&lt;br /&gt;
		return;&lt;br /&gt;
	  }&lt;br /&gt;
	 var progress = diff * past_time/delay;&lt;br /&gt;
	 new_value = (sub)? start_value - progress : start_value + progress;&lt;br /&gt;
	 Set(new_value);&lt;br /&gt;
	 new_size = (sub)? start_size - diff_size * past_time/delay: start_size + diff_size * past_time/delay;&lt;br /&gt;
	 if (param == 'top' || param == 'bottom') element.parentNode.style.height = new_size + unit;&lt;br /&gt;
	  else if (param == 'left' || param == 'right') element.parentNode.style.width = new_size + unit;&lt;br /&gt;
	 setTimeout(function() { Do(); } , i);&lt;br /&gt;
	 return;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function Get() {&lt;br /&gt;
	var ret;&lt;br /&gt;
	switch (param) {&lt;br /&gt;
		case 'top':&lt;br /&gt;
		 ret = element.style.top;&lt;br /&gt;
		 break;&lt;br /&gt;
		case 'bottom':&lt;br /&gt;
		 ret = element.style.bottom;&lt;br /&gt;
		 break;&lt;br /&gt;
		case 'left':&lt;br /&gt;
		 ret = element.style.left;&lt;br /&gt;
		 break;&lt;br /&gt;
		case 'right':&lt;br /&gt;
		 ret = element.style.right;&lt;br /&gt;
		 break;&lt;br /&gt;
		default:&lt;br /&gt;
		 return false;&lt;br /&gt;
	}&lt;br /&gt;
	if (/em/i.test(ret)) return parseFloat(ret);&lt;br /&gt;
	return (/\d+/.test(ret))? parseInt(ret) : 0;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
 function Set(v) {&lt;br /&gt;
	switch (param) {&lt;br /&gt;
		case 'top':&lt;br /&gt;
		 element.style.top = v + unit;&lt;br /&gt;
		 return;&lt;br /&gt;
		case 'bottom':&lt;br /&gt;
		 element.style.bottom = v + unit;&lt;br /&gt;
		 return;&lt;br /&gt;
		case 'left':&lt;br /&gt;
		 element.style.left = v + unit;&lt;br /&gt;
		 return;&lt;br /&gt;
		case 'right':&lt;br /&gt;
		 element.style.right = v + unit;&lt;br /&gt;
		 return;&lt;br /&gt;
		default:&lt;br /&gt;
		 return false;&lt;br /&gt;
	}&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/************* Application Functions ***************/&lt;br /&gt;
// ============================================================&lt;br /&gt;
// BEGIN Dynamic Navigation Bars (experimental)&lt;br /&gt;
// This script is from Wikipedia. For author attribution, please see http://en.wikipedia.org/w/index.php?title=MediaWiki:Common.js&amp;amp;action=history&lt;br /&gt;
 &lt;br /&gt;
 /** Collapsible tables *********************************************************&lt;br /&gt;
  *&lt;br /&gt;
  *  Description: Allows tables to be collapsed, showing only the header. See&lt;br /&gt;
  *               [[Wikipedia:NavFrame]].&lt;br /&gt;
  *  Maintainers: [[User:R. Koot]]&lt;br /&gt;
  */&lt;br /&gt;
 &lt;br /&gt;
 var autoCollapse = 0; // maximum number of visible bars&lt;br /&gt;
                       // By default, when loading a page&lt;br /&gt;
 var collapseCaption = &amp;quot;hide&amp;quot;;&lt;br /&gt;
 var expandCaption = &amp;quot;show&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 function collapseTable( tableIndex )&lt;br /&gt;
 {&lt;br /&gt;
     var Button = document.getElementById( &amp;quot;collapseButton&amp;quot; + tableIndex );&lt;br /&gt;
     var Table = document.getElementById( &amp;quot;collapsibleTable&amp;quot; + tableIndex );&lt;br /&gt;
 &lt;br /&gt;
     if ( !Table || !Button ) {&lt;br /&gt;
         return false;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     var Rows = Table.getElementsByTagName( &amp;quot;tr&amp;quot; ); &lt;br /&gt;
 &lt;br /&gt;
     if ( Button.firstChild.data == collapseCaption ) {&lt;br /&gt;
         for ( var i = 1; i &amp;lt; Rows.length; i++ ) {&lt;br /&gt;
             Rows[i].style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
         }&lt;br /&gt;
         Button.firstChild.data = expandCaption;&lt;br /&gt;
     } else {&lt;br /&gt;
         for ( var i = 1; i &amp;lt; Rows.length; i++ ) {&lt;br /&gt;
             Rows[i].style.display = Rows[0].style.display;&lt;br /&gt;
         }&lt;br /&gt;
         Button.firstChild.data = collapseCaption;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function createCollapseButtons()&lt;br /&gt;
 {&lt;br /&gt;
     var tableIndex = 0;&lt;br /&gt;
     var NavigationBoxes = new Object();&lt;br /&gt;
     var Tables = document.getElementsByTagName( &amp;quot;table&amp;quot; );&lt;br /&gt;
 &lt;br /&gt;
     for ( var i = 0; i &amp;lt; Tables.length; i++ ) {&lt;br /&gt;
         if ( hasClass( Tables[i], &amp;quot;collapsible&amp;quot; ) &amp;amp;&amp;amp; !Tables[i].id) {&lt;br /&gt;
             NavigationBoxes[ tableIndex ] = Tables[i];&lt;br /&gt;
             Tables[i].id = &amp;quot;collapsibleTable&amp;quot; + tableIndex;&lt;br /&gt;
 &lt;br /&gt;
             var Button     = document.createElement( &amp;quot;span&amp;quot; );&lt;br /&gt;
             var ButtonLink = document.createElement( &amp;quot;a&amp;quot; );&lt;br /&gt;
             var ButtonText = document.createTextNode( collapseCaption );&lt;br /&gt;
 &lt;br /&gt;
             Button.style.styleFloat = &amp;quot;right&amp;quot;;&lt;br /&gt;
             Button.style.cssFloat = &amp;quot;right&amp;quot;;&lt;br /&gt;
             Button.style.fontWeight = &amp;quot;normal&amp;quot;;&lt;br /&gt;
             Button.style.textAlign = &amp;quot;right&amp;quot;;&lt;br /&gt;
             Button.style.width = &amp;quot;6em&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
             ButtonLink.setAttribute( &amp;quot;id&amp;quot;, &amp;quot;collapseButton&amp;quot; + tableIndex );&lt;br /&gt;
             ButtonLink.setAttribute( &amp;quot;href&amp;quot;, &amp;quot;javascript:collapseTable(&amp;quot; + tableIndex + &amp;quot;);&amp;quot; );&lt;br /&gt;
             ButtonLink.appendChild( ButtonText );&lt;br /&gt;
 &lt;br /&gt;
             Button.appendChild( document.createTextNode( &amp;quot;[&amp;quot; ) );&lt;br /&gt;
             Button.appendChild( ButtonLink );&lt;br /&gt;
             Button.appendChild( document.createTextNode( &amp;quot;]&amp;quot; ) );&lt;br /&gt;
 &lt;br /&gt;
             var Header = Tables[i].getElementsByTagName( &amp;quot;tr&amp;quot; )[0].getElementsByTagName( &amp;quot;th&amp;quot; )[0];&lt;br /&gt;
             /* only add button and increment count if there is a header row to work with */&lt;br /&gt;
             if (Header) {&lt;br /&gt;
                 Header.insertBefore( Button, Header.childNodes[0] );&lt;br /&gt;
                 tableIndex++;&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     for ( var i = 0;  i &amp;lt; tableIndex; i++ ) {&lt;br /&gt;
         if ( hasClass( NavigationBoxes[i], &amp;quot;collapsed&amp;quot; ) || ( tableIndex &amp;gt;= autoCollapse &amp;amp;&amp;amp; hasClass( NavigationBoxes[i], &amp;quot;autocollapse&amp;quot; ) ) ) {&lt;br /&gt;
             collapseTable( i );&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 /** Dynamic Navigation Bars (experimental) *************************************&lt;br /&gt;
  *&lt;br /&gt;
  *  Description: See [[Wikipedia:NavFrame]].&lt;br /&gt;
  *  Maintainers: UNMAINTAINED&lt;br /&gt;
  */&lt;br /&gt;
 &lt;br /&gt;
  // set up the words in your language&lt;br /&gt;
  var NavigationBarHide = '[' + collapseCaption + ']';&lt;br /&gt;
  var NavigationBarShow = '[' + expandCaption + ']';&lt;br /&gt;
  &lt;br /&gt;
  // set up max count of Navigation Bars on page,&lt;br /&gt;
  // if there are more, all will be hidden&lt;br /&gt;
  // NavigationBarShowDefault = 0; // all bars will be hidden&lt;br /&gt;
  // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden&lt;br /&gt;
  var NavigationBarShowDefault = autoCollapse;&lt;br /&gt;
  &lt;br /&gt;
  // shows and hides content and picture (if available) of navigation bars&lt;br /&gt;
  // Parameters:&lt;br /&gt;
  //     indexNavigationBar: the index of navigation bar to be toggled&lt;br /&gt;
var noNavSlide = true;&lt;br /&gt;
function toggleNavigationBar(indexNavigationBar)  {&lt;br /&gt;
     var NavToggle = document.getElementById(&amp;quot;NavToggle&amp;quot; + indexNavigationBar);&lt;br /&gt;
     var NavFrame = document.getElementById(&amp;quot;NavFrame&amp;quot; + indexNavigationBar);&lt;br /&gt;
  &lt;br /&gt;
     if (!NavFrame || !NavToggle) {&lt;br /&gt;
         return false;&lt;br /&gt;
     }&lt;br /&gt;
  &lt;br /&gt;
     // if shown now&lt;br /&gt;
     if (NavToggle.firstChild.data == NavigationBarHide) {&lt;br /&gt;
		 if (!hasClass(NavFrame, 'no-slide') &amp;amp;&amp;amp; !noNavSlide) NavSlide(NavFrame, true);&lt;br /&gt;
		 else {&lt;br /&gt;
			 for (&lt;br /&gt;
					 var NavChild = NavFrame.firstChild;&lt;br /&gt;
					 NavChild != null;&lt;br /&gt;
					 NavChild = NavChild.nextSibling&lt;br /&gt;
				 ) {&lt;br /&gt;
				 if ( hasClass( NavChild, 'NavPic' ) ) {&lt;br /&gt;
					 NavChild.style.display = 'none';&lt;br /&gt;
				 }&lt;br /&gt;
				 if ( hasClass( NavChild, 'NavContent') ) {&lt;br /&gt;
					 NavChild.style.display = 'none';&lt;br /&gt;
				 }&lt;br /&gt;
			 }&lt;br /&gt;
		 }&lt;br /&gt;
     NavToggle.firstChild.data = NavigationBarShow;&lt;br /&gt;
  &lt;br /&gt;
     // if hidden now&lt;br /&gt;
     } else if (NavToggle.firstChild.data == NavigationBarShow) {&lt;br /&gt;
         for (&lt;br /&gt;
                 var NavChild = NavFrame.firstChild;&lt;br /&gt;
                 NavChild != null;&lt;br /&gt;
                 NavChild = NavChild.nextSibling&lt;br /&gt;
             ) {&lt;br /&gt;
             if (hasClass(NavChild, 'NavPic')) {&lt;br /&gt;
                 NavChild.style.display = 'block';&lt;br /&gt;
             }&lt;br /&gt;
             if (hasClass(NavChild, 'NavContent')) {&lt;br /&gt;
                 NavChild.style.display = 'block';&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
		 if (!hasClass(NavFrame, 'no-slide') &amp;amp;&amp;amp; !noNavSlide) NavSlide(NavFrame, false);&lt;br /&gt;
     NavToggle.firstChild.data = NavigationBarHide;&lt;br /&gt;
     }&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
var NavigationBarSlideDelay = 600;&lt;br /&gt;
var NavigationBarSlideInterval = 70;&lt;br /&gt;
var NavigationBarFadeDelay = 400;&lt;br /&gt;
var NavigationBarFadeInterval = 70;&lt;br /&gt;
&lt;br /&gt;
function NavSlide (NavFrame, close) {&lt;br /&gt;
/* close = chiusura */&lt;br /&gt;
 for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {&lt;br /&gt;
	if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent') ) Slide(NavChild);&lt;br /&gt;
	}&lt;br /&gt;
	return;&lt;br /&gt;
	&lt;br /&gt;
 function Slide (element) {&lt;br /&gt;
 	 if (navigator.appName == &amp;quot;Microsoft Internet Explorer&amp;quot; &amp;amp;&amp;amp; parseInt(navigator.userAgent[navigator.userAgent.indexOf(&amp;quot;MSIE&amp;quot;) + 5]) &amp;gt;= 8) return;&lt;br /&gt;
	 var fade = !hasClass(NavFrame, 'no-fade');&lt;br /&gt;
	 var start_time = new Date().getTime() + NavigationBarFadeDelay * ((close &amp;amp;&amp;amp; fade)? 1.1 : 0);&lt;br /&gt;
	 var size = element.offsetHeight;&lt;br /&gt;
	 var start_value = close? 0: 0 - size;&lt;br /&gt;
	 var final_value = close? 0 - size : 0;&lt;br /&gt;
	 element.style.marginTop = start_value + 'px';&lt;br /&gt;
	 element.style.width = 'auto';&lt;br /&gt;
	 if (fade) {&lt;br /&gt;
		 if (close) Fade(element, NavigationBarFadeDelay, NavigationBarFadeInterval, true, 0.7);&lt;br /&gt;
		  else {&lt;br /&gt;
			element.style.filter = &amp;quot;alpha(opacity=0)&amp;quot;;&lt;br /&gt;
			element.style.opacity = 0;&lt;br /&gt;
		  }&lt;br /&gt;
	  }&lt;br /&gt;
	 setTimeout(function() { Do(); } , NavigationBarSlideInterval + NavigationBarFadeDelay * ((close &amp;amp;&amp;amp; fade)? 1.1 : 0));&lt;br /&gt;
	 return;&lt;br /&gt;
	 &lt;br /&gt;
	 function Do() {&lt;br /&gt;
		 var cur_time = new Date().getTime();&lt;br /&gt;
		 var past_time = cur_time - start_time;&lt;br /&gt;
		 if (past_time &amp;gt;= NavigationBarSlideDelay) {&lt;br /&gt;
			element.style.marginTop = final_value + 'px';&lt;br /&gt;
			if (!close &amp;amp;&amp;amp; fade) Fade(element, NavigationBarFadeDelay, NavigationBarFadeInterval, false, 1);&lt;br /&gt;
			if (close) element.style.display = 'none';&lt;br /&gt;
			return;&lt;br /&gt;
		  }&lt;br /&gt;
		 var progress = past_time/NavigationBarSlideDelay;&lt;br /&gt;
		 var new_value = close? final_value * progress : start_value * (1 - progress);&lt;br /&gt;
		 element.style.marginTop = new_value + 'px';&lt;br /&gt;
		 setTimeout(function() { Do(); } , NavigationBarSlideInterval);&lt;br /&gt;
		 return;&lt;br /&gt;
		}&lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
  // adds show/hide-button to navigation bars&lt;br /&gt;
  function createNavigationBarToggleButton()&lt;br /&gt;
  {&lt;br /&gt;
     var indexNavigationBar = 0;&lt;br /&gt;
     // iterate over all &amp;lt; div &amp;gt;-elements &lt;br /&gt;
     var divs = document.getElementsByTagName(&amp;quot;div&amp;quot;);&lt;br /&gt;
     for(&lt;br /&gt;
             var i=0; &lt;br /&gt;
             NavFrame = divs[i]; &lt;br /&gt;
             i++&lt;br /&gt;
         ) {&lt;br /&gt;
         // if found a navigation bar&lt;br /&gt;
         if (hasClass(NavFrame, &amp;quot;NavFrame&amp;quot;)) {&lt;br /&gt;
  &lt;br /&gt;
             indexNavigationBar++;&lt;br /&gt;
             var NavToggle = document.createElement(&amp;quot;a&amp;quot;);&lt;br /&gt;
             NavToggle.className = 'NavToggle';&lt;br /&gt;
             NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);&lt;br /&gt;
             NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');&lt;br /&gt;
             &lt;br /&gt;
             var NavToggleText = document.createTextNode(NavigationBarHide);&lt;br /&gt;
             NavToggle.appendChild(NavToggleText);&lt;br /&gt;
             // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)&lt;br /&gt;
             for(&lt;br /&gt;
               var j=0; &lt;br /&gt;
               j &amp;lt; NavFrame.childNodes.length; &lt;br /&gt;
               j++&lt;br /&gt;
             ) {&lt;br /&gt;
               if (hasClass(NavFrame.childNodes[j], &amp;quot;NavHead&amp;quot;)) {&lt;br /&gt;
                 NavFrame.childNodes[j].appendChild(NavToggle);&lt;br /&gt;
               }&lt;br /&gt;
             }&lt;br /&gt;
             NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
     // if more Navigation Bars found than Default: hide all&lt;br /&gt;
     if (NavigationBarShowDefault &amp;lt; indexNavigationBar) {&lt;br /&gt;
         for(&lt;br /&gt;
                 var i=1; &lt;br /&gt;
                 i&amp;lt;=indexNavigationBar; &lt;br /&gt;
                 i++&lt;br /&gt;
         ) {&lt;br /&gt;
             toggleNavigationBar(i);&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
   &lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
 /** Code for replacing the Username ([[template:USERNAME]]) *******************************&lt;br /&gt;
  * Inserts user name into &amp;lt;span id=&amp;quot;insertusername&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
  * By [[wikia:User:Splarka|Splarka]]&lt;br /&gt;
  */&lt;br /&gt;
 var disableUsernameReplace = false;&lt;br /&gt;
 function UserNameReplace() {&lt;br /&gt;
	if (disableUsernameReplace) return;&lt;br /&gt;
	var list = getElementsByClass(document.getElementsByTagName('body')[0], &amp;quot;insertusername&amp;quot;, 'span');&lt;br /&gt;
	if (list.length &amp;lt; 1) return;&lt;br /&gt;
	if (wgUserName) {&lt;br /&gt;
		for (var i=0; UserName = list[i]; i++) {&lt;br /&gt;
			setText(UserName, wgUserName);&lt;br /&gt;
		 }&lt;br /&gt;
		return;&lt;br /&gt;
	 }&lt;br /&gt;
	var defaultText = &amp;quot;&amp;lt;Your Name&amp;gt;&amp;quot;;&lt;br /&gt;
	var userpage = document.getElementById(&amp;quot;pt-anonuserpage&amp;quot;);&lt;br /&gt;
	if (userpage != null) {&lt;br /&gt;
		var IP = getText(userpage.getElementsByTagName('a')[0]);&lt;br /&gt;
		if (IP == null) return;&lt;br /&gt;
		for (var i=0; UserName = list[i]; i++) {&lt;br /&gt;
			if (getText(UserName) == defaultText)&lt;br /&gt;
				setText(UserName, IP);&lt;br /&gt;
		 }&lt;br /&gt;
		return;&lt;br /&gt;
	 }&lt;br /&gt;
	var httpRequest;&lt;br /&gt;
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...&lt;br /&gt;
	    httpRequest = new XMLHttpRequest();&lt;br /&gt;
	 } else if (window.ActiveXObject) { // IE&lt;br /&gt;
	    httpRequest = new ActiveXObject(&amp;quot;Microsoft.XMLHTTP&amp;quot;);&lt;br /&gt;
	 }&lt;br /&gt;
	var id = setTimeout(function() { httpRequest.abort();}, 30000);&lt;br /&gt;
	httpRequest.onreadystatechange = function () {&lt;br /&gt;
		if (httpRequest.readyState != 4) return;&lt;br /&gt;
		clearTimeout(id);&lt;br /&gt;
		if (httpRequest.status != 200) return;&lt;br /&gt;
		if (httpRequest.responseXML == null)  return;&lt;br /&gt;
		var IP = httpRequest.responseXML.getElementsByTagName('userinfo')[0].getAttribute(&amp;quot;name&amp;quot;);&lt;br /&gt;
		if (IP == null) return;&lt;br /&gt;
		for (var i=0; UserName = list[i]; i++) {&lt;br /&gt;
			if (getText(UserName) == defaultText)&lt;br /&gt;
				setText(UserName, IP);&lt;br /&gt;
		 }&lt;br /&gt;
		return;&lt;br /&gt;
	 }&lt;br /&gt;
	httpRequest.open('GET', wgServer + wgScriptPath + &amp;quot;/api.php?action=query&amp;amp;meta=userinfo&amp;amp;format=xml&amp;quot;, true);&lt;br /&gt;
	httpRequest.send('');&lt;br /&gt;
	return;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 /** Code for replacing the Username ([[template:USERNAME]]) *******************************&lt;br /&gt;
  * Inserts user name into &amp;lt;span id=&amp;quot;insertusername&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
  * By [[wikia:User:Splarka|Splarka]]&lt;br /&gt;
  */&lt;br /&gt;
 var disableUsernameReplace = false;&lt;br /&gt;
 function UserNameReplace() {&lt;br /&gt;
	if (disableUsernameReplace) return;&lt;br /&gt;
	var list = getElementsByClass(document.getElementsByTagName('body')[0], &amp;quot;insertusername&amp;quot;, 'span');&lt;br /&gt;
	if (list.length &amp;lt; 1) return;&lt;br /&gt;
	if (wgUserName) {&lt;br /&gt;
		for (var i=0; UserName = list[i]; i++) {&lt;br /&gt;
			setText(UserName, wgUserName);&lt;br /&gt;
		 }&lt;br /&gt;
		return;&lt;br /&gt;
	 }&lt;br /&gt;
	var defaultText = &amp;quot;&amp;lt;tuo nome&amp;gt;&amp;quot;;&lt;br /&gt;
	var userpage = document.getElementById(&amp;quot;pt-anonuserpage&amp;quot;);&lt;br /&gt;
	if (userpage != null) {&lt;br /&gt;
		var IP = getText(userpage.getElementsByTagName('a')[0]);&lt;br /&gt;
		if (IP == null) return;&lt;br /&gt;
		for (var i=0; UserName = list[i]; i++) {&lt;br /&gt;
			if (getText(UserName) == defaultText)&lt;br /&gt;
				setText(UserName, IP);&lt;br /&gt;
		 }&lt;br /&gt;
		return;&lt;br /&gt;
	 }&lt;br /&gt;
	var httpRequest;&lt;br /&gt;
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...&lt;br /&gt;
	    httpRequest = new XMLHttpRequest();&lt;br /&gt;
	 } else if (window.ActiveXObject) { // IE&lt;br /&gt;
	    httpRequest = new ActiveXObject(&amp;quot;Microsoft.XMLHTTP&amp;quot;);&lt;br /&gt;
	 }&lt;br /&gt;
	var id = setTimeout(function() { httpRequest.abort();}, 30000);&lt;br /&gt;
	httpRequest.onreadystatechange = function () {&lt;br /&gt;
		if (httpRequest.readyState != 4) return;&lt;br /&gt;
		clearTimeout(id);&lt;br /&gt;
		if (httpRequest.status != 200) return;&lt;br /&gt;
		if (httpRequest.responseXML == null)  return;&lt;br /&gt;
		var IP = httpRequest.responseXML.getElementsByTagName('userinfo')[0].getAttribute(&amp;quot;name&amp;quot;);&lt;br /&gt;
		if (IP == null) return;&lt;br /&gt;
		for (var i=0; UserName = list[i]; i++) {&lt;br /&gt;
			if (getText(UserName) == defaultText)&lt;br /&gt;
				setText(UserName, IP);&lt;br /&gt;
		 }&lt;br /&gt;
		return;&lt;br /&gt;
	 }&lt;br /&gt;
	httpRequest.open('GET', wgServer + wgScriptPath + &amp;quot;/api.php?action=query&amp;amp;meta=userinfo&amp;amp;format=xml&amp;quot;, true);&lt;br /&gt;
	httpRequest.send('');&lt;br /&gt;
	return;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
/* Class that adds' target = '_blank' &amp;quot;to link */&lt;br /&gt;
function target_blank () {&lt;br /&gt;
 var tags = getElementsByClass(document.getElementsByTagName('body')[0], &amp;quot;target-blank&amp;quot;);&lt;br /&gt;
 if (tags == null) return;&lt;br /&gt;
 var i, j, links;&lt;br /&gt;
 for (i=0; i &amp;lt; tags.length; i++) {&lt;br /&gt;
	links = tags[i].getElementsByTagName('a');&lt;br /&gt;
	for (j=0; j &amp;lt; links.length; j++) links[j].target = '_blank';&lt;br /&gt;
 }&lt;br /&gt;
 return;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* View notes as tooltip */&lt;br /&gt;
/* by Sanjilops - http://nonciclopedia.wikia.com/wiki/Utente:Sanjilops */&lt;br /&gt;
var disablereftooltip = false;&lt;br /&gt;
function ref_tooltip () {&lt;br /&gt;
 if (disablereftooltip) return;&lt;br /&gt;
 var refs = getElementsByClass(document.getElementById('bodyContent'), &amp;quot;reference&amp;quot;, 'sup');&lt;br /&gt;
 if (!refs) return;&lt;br /&gt;
 for (var i = 0; i &amp;lt; refs.length; i++) Do(refs[i]);&lt;br /&gt;
 return;&lt;br /&gt;
 &lt;br /&gt;
 function Do (ref) {&lt;br /&gt;
	var span = document.createElement('span');&lt;br /&gt;
	var id = ref.id.substr('cite_ref-'.length);&lt;br /&gt;
	span.className = &amp;quot;reference-tt&amp;quot;;&lt;br /&gt;
	span.id = &amp;quot;cite_tt-&amp;quot; + id;&lt;br /&gt;
	var li = document.getElementById('cite_note-' + id.replace(/_(\d+)-\d+$/, '-$1'));&lt;br /&gt;
	if (!li) return;&lt;br /&gt;
	var temp = li.innerHTML;&lt;br /&gt;
	temp = temp.split(/^.+a href=\&amp;quot;#cite_ref-.+\&amp;quot; title=\&amp;quot;\&amp;quot;&amp;gt;.+?&amp;lt;\/a&amp;gt;(&amp;lt;\/sup&amp;gt;)? /);&lt;br /&gt;
	span.innerHTML = (temp.length)? temp[temp.length - 1] : temp;&lt;br /&gt;
	if (ref.offsetLeft &amp;lt; document.getElementById('bodyContent').offsetWidth/2) span.style.left = (ref.offsetWidth - 1) + 'px';&lt;br /&gt;
	 else span.style.right =  (ref.offsetWidth - 1) + 'px';&lt;br /&gt;
	temp = getText(span);&lt;br /&gt;
	temp = temp.length * 12;&lt;br /&gt;
	span.style.width = (temp &amp;lt; 400)? temp + 'px' : &amp;quot;400px&amp;quot;;&lt;br /&gt;
	ref.appendChild(span);&lt;br /&gt;
	return;&lt;br /&gt;
 }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Jess</name></author>	</entry>

	</feed>