Utente:NonciVompologo/monobook.js

Vai alla navigazione Vai alla ricerca

Questa pagina definisce alcuni parametri di aspetto e comportamento generale di tutte le pagine. Per personalizzarli vedi Aiuto:Stile utente.


Nota: dopo aver salvato è necessario pulire la cache del proprio browser per vedere i cambiamenti, e comunque qualche minuto di preghiera non guasta. Per Mozilla / Firefox / Safari: fare clic su Ricarica tenendo premuto il tasto delle maiuscole, oppure premere Ctrl-F5 o Ctrl-R (Command-R su Mac); per Chrome premere Ctrl-Shift-R (Command-Shift-R su un Mac); per Konqueror: premere il pulsante Ricarica o il tasto F5; per Opera può essere necessario svuotare completamente la cache dal menu Strumenti → Preferenze; per Internet Explorer: mantenere premuto il tasto Ctrl mentre si preme il pulsante Aggiorna o premere Ctrl-F5.

addOnloadHook (function () {
	if (wgAction != 'view' || wgPageName != "Utente:Zazjlops/sandbox") return false;
	var httpRequest;
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
	    httpRequest = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
	    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
	}
	httpRequest.onreadystatechange = function () { FakeMSN(httpRequest); };
	httpRequest.open('GET', "http://nonciclopedia.wikia.com/api.php?action=parse&page=Utente:Zazjlops/FakeMSN&prop=text&format=xml", true);
	httpRequest.send('');
	return;
});

function FakeMSN(o) {
	if (o.readyState != 4) return;
	if (o.status < 199 || o.status > 300) return false;
	var box = document.createElement('div');
	box.id = "FakeMSN";
	box.innerHTML = o.responseXML.getElementsByTagName('text').item(0).firstChild.data;
	box.style.position = 'fixed';
	box.style.right = "0px";
	document.getElementById("bodyContent").appendChild(box);
	const dT = 20; /* ritardo tra due scatti */
	const Scatti = 5; /* numero di scatti */
	const Intervallo = 10000; /* tempo tra un popup e l'altro */
	const Durata = 6000; /* tempo di apertura di un popup */
	box.style.display = 'block';
	height = box.scrollHeight;
	box.style.bottom = '-' + height + 'px';
	function slide_up() {
		Slide(box, 2, height, Scatti, dT, 0 - height, false);
		return;
		}
	function slide_down() {
		Slide(box, 2, height, Scatti, dT, 0, true);
		return;
		}
	slide_up();
	setTimeout(slide_down, Durata);
	setInterval(slide_up, Intervallo);
	setTimeout(function() {setInterval(slide_down, Intervallo); return;}, Durata);
	return;
}


function Slide(elem, mode, size, loops, delay, pos, inv) {
	var step = Math.round(size/loops);
	var last_step = size - step * (loops - 1);
	var id = setInterval(Move, delay * loops);
	var i = 1, dim = (inv)? size : 0;
	return;

	function Move() {
		if (i < loops) {
			pos = (inv)? pos - step: pos + step;
			dim = (inv)? dim - step: dim + step;
		 }
		 else {
			pos = (inv)? pos - last_step: pos + last_step;
			dim = (inv)? dim - last_step: dim + last_step;
			clearInterval(id);
		 }
		switch (mode) {
			/* position: fixed */
			case 1:
			elem.style.top = pos + 'px';
			break;
			case 2:
			elem.style.bottom = pos + 'px';
			break;
			case 3:
			elem.style.left = pos + 'px';
			break;
			case 4:
			elem.style.right = pos + 'px';
			break;

			/* position: static */
			case -1:
			elem.style.height = dim + 'px';
			break;
			case -2:
			elem.style.width = dim + 'px';
			break;

			default:
			return false;
		 }
		i++;
		return;
	 }
 }


 // 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 ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent') ) {
                 if (hasClass(NavChild, "morph-in-Nav")) NavChild.style.display = 'none';
                  else NavSlide(NavChild, true);
             }
         }
     NavToggle.firstChild.data = NavigationBarShow;
  
     // if hidden now
     } else if (NavToggle.firstChild.data == NavigationBarShow) {
         for (
                 var NavChild = NavFrame.firstChild;
                 NavChild != null;
                 NavChild = NavChild.nextSibling
             ) {
             if (hasClass(NavChild, 'NavPic') || hasClass(NavChild, 'NavContent')) {
                 NavChild.style.display = 'block';
                 if (!hasClass(NavChild, "morph-in-Nav")) NavSlide(NavChild, false);
             }
         }
     NavToggle.firstChild.data = NavigationBarHide;
     }
  }

function NavSlide(NavChild, inv) {
	const loops = 20;
	const delay = 3;
        var size = NavChild.scrollHeight;
	var step = Math.round(size/loops);
	var last_step = size - step * (loops - 1);
	var id = setInterval(Move, delay * loops);
	var i = 1, dim = (inv)? size : 0;
	return;

	function Move() {
		if (i < loops) {
			dim = (inv)? dim - step: dim + step;
		 }
		 else {
			dim = (inv)? dim - last_step: dim + last_step;
			clearInterval(id);
		 }
		NavChild.style.height = dim + 'px';
		i++;
		return;
	 }
 }