Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
function OptionText() {
   var indexNavigationBar = 0;
   // iterate over all < span >-elements until class "OptionText" is found
   for(
           var i=0; 
           SpanElem = document.getElementsByTagName("span")[i]; 
           i++
       ) {
       // if found an option span
       if (SpanElem.className == "OptionText") {
          //SpanElem.style.display = 'none';
          OptionTitle = SpanElem.title;
          OptionStyle = SpanElem.firstChild.getAttribute('style');
 
          //check if option was already encountered...
          if(!document.getElementById(OptionTitle)){
 
            //read cookie
            var DisplayOptionDefault = true;
            CookieDisplayOption = $.cookie("Display"+OptionTitle)
            if (CookieDisplayOption ) {
            if (CookieDisplayOption == "false") DisplayOptionDefault = false; }
 
            var PageDisplay = document.createElement("li");
            PageDisplay.setAttribute('id', OptionTitle);
            var PageDisplayLink = document.createElement("a");
 
            OptionText = document.createTextNode("Désactiver "+OptionTitle);
            PageDisplayLink.appendChild(OptionText);
            PageDisplayLink.setAttribute('href','javascript:displayOptionText("'+OptionTitle+'","' + OptionStyle +'", '+DisplayOptionDefault+');');
            PageDisplay.appendChild(PageDisplayLink);
 
            var optlist = document.getElementById("optlist");
            if(!optlist) {
               var displayOptions = document.createElement("div");
               displayOptions.style.marginTop = "0.7em";
               displayOptions.innerHTML = '<h5>optiones<\/h5><div class="pBody"><ul id="optlist"></ul><\/div>';
               document.getElementById("p-tb").appendChild(displayOptions);
               optlist = document.getElementById("optlist");
            }
            optlist.appendChild(PageDisplay);
 
            displayOptionText(OptionTitle,OptionStyle,DisplayOptionDefault);
          }
       }
   }
 }
 
 function displayOptionText(optiontitle, optionstyle, bool) {
 
  $.cookie( "Display"+optiontitle, bool );
  var PageDisplayLink =  document.getElementById(optiontitle).firstChild;;
 
   // iterate over all < span >-elements
   for(
           var i=0; 
           SpanElem = document.getElementsByTagName("span")[i]; 
           i++
       ) {
        // if found an option text
        if ((SpanElem.className == "OptionText") && (SpanElem.title == optiontitle)) {
          if(bool==true ) {
            SpanElem.setAttribute('style',optionstyle);
            PageDisplayLink.firstChild.data = (optiontitle);
            PageDisplayLink.setAttribute('href', 'javascript:displayOptionText("'+optiontitle+'","'+optionstyle+'", false);');
          }
          if(bool==false) {
            SpanElem.setAttribute('style','null');
            PageDisplayLink.firstChild.data = (optiontitle);
            PageDisplayLink.setAttribute('href', 'javascript:displayOptionText("'+optiontitle+'","'+optionstyle+'", true);');
 
         }        
      }
   }
 }
 
$(document).ready(OptionText);
 
function BilingualLink() 
{
    if( mw.config.get('wgNamespaceNumber') != 0) return;
    var doc_url = document.URL;
    var url = '';
    // iterate over all <li>-elements
    for(var j=0; b = document.getElementsByTagName("li")[j]; j++) {
         if(b.className.substring(0,10) == "interwiki-" ) {
               var lang = b.className.substring(10,b.className.length);
               if( doc_url.indexOf('?title=') != -1 ) { 
                   var qm  = doc_url.indexOf('&match=');
                   if( qm != -1 ) url = doc_url.substring(0,qm)+"&match="+lang;
                   else url = doc_url+"&match="+lang;
               } else {
                   var qm  = doc_url.indexOf('?');
                   if( qm != -1 ) url = doc_url.substring(0,qm)+"?match="+lang;
                   else url = doc_url+"?match="+lang;
               }
               b.innerHTML = b.innerHTML+"<a href='"+url+"'> ⇔</a>";
             }
         }
}

$(document).ready(BilingualLink);



function tabulae()
{
   //tabula secunda
   if( document.getElementById("infoedit") )
     {
      var b = document.getElementById("ca-talk");
      if (b) {
             b.childNodes[0] = "Fons";
               }
      }
}

jQuery(document).ready(tabulae);

function interwikiExtra() 
{
   // iterate over all <span>-elements
   for(var i=0; a = document.getElementsByTagName("span")[i]; i++) {
      // if found a linkInfo span
      if(a.className == "interwiki-info") {
         // iterate over all <li>-elements
         var count=0;
         
         for(var j=0; b = document.getElementsByTagName("li")[j]; j++) {
            if(b.className == "interwiki-" + a.id) {
               b.innerHTML = b.innerHTML + " "+a.title;
               if(a.title == "(to)") { b.title = "Textus originalis"; }
            }
         else if(b.className == "interwiki-" + a.id.substr(0,a.id.length-1)) {
               count = count+1;
               if(a.id.charAt(a.id.length-1) == count) {
                  b.innerHTML = b.innerHTML + " "+a.title;
               }
            }
         }
      }
      if(a.className == "AutreVersion") {
         c = document.getElementById("p-lang");
         e = c.getElementsByTagName("ul")[0]; 
         p = a.title.indexOf("|");
         e.innerHTML = e.innerHTML 
            + "<li class=\"interwiki-fr\"><a href='" 
            + a.title.substr(0,p)
            + "'>Français</a> " + a.title.substr(p+1,a.title.length-1) +"</li>";
      }
   }
}

jQuery(document).ready(interwikiExtra);

// INIZIO Collegamenti Interprogetto (codice adattato da de:wikt:Mediawiki:monobook.js)

 mw.loader.using(['mediawiki.util']).done(function () {mw.util.addCSS('#interProject {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}')});
 function iProject() {
  if (document.getElementById("interProject")) {
   var iProject = document.getElementById("interProject").innerHTML;
   var interProject = document.createElement("div");
   interProject.style.marginTop = "0.7em";
   interProject.innerHTML = '<h5>Alii incepti<\/h5><div class="pBody">'+iProject+'<\/div>';
   document.getElementById("p-tb").appendChild(interProject);
  }
 }
 jQuery(document).ready(iProject);

	/***
	*Expressions régulières
	*Auteur: ThomasV, Pathoschild
	*Note : cet outil utilise la syntaxe javascript : on utilise $ (et pas \) pour appeler un groupe dans la chaîne de remplacement.
	*Tutoriel : http://www.regular-expressions.info/tutorial.html
	****/

	/* create form */
	function custom() {

		/* if already open */
		if(document.getElementById('regexform')) customremove()
		else {	
                        editbox = document.getElementById('wpTextbox1');
			/* container */
			regexform = document.createElement('div');
			regexform.setAttribute('id','regexform');
			editbox.parentNode.insertBefore(regexform,editbox.parentNode.firstChild);

			/* form tag */
			var formform = document.createElement('form');
			formform.setAttribute('id','regexformform');
			formform.setAttribute('onSubmit','customgo(); return false;');
			regexform.appendChild(formform);
	
			// add input boxes
		        var newinput = document.createElement('input');
		        newinput.setAttribute('id','formsearch');
		        newlabel = document.createElement('label');
		        newlabel.setAttribute('for','formsearch');
			newlabel.appendChild(document.createTextNode("Substituere"));

			formform.appendChild(newlabel);
			formform.appendChild(newinput);
		
			var newinput = document.createElement('input');
			newinput.setAttribute('id','formreplace');
			newlabel = document.createElement('label');
			newlabel.setAttribute('for','formreplace');
			newlabel.appendChild(document.createTextNode(' par '));
		
			formform.appendChild(newlabel);
			formform.appendChild(newinput);

			// go! link
			var go_button = document.createElement('input');
			go_button.setAttribute('type',"submit");
			go_button.setAttribute('title',"go!");
			go_button.setAttribute('value',"go!");
			formform.appendChild(go_button);

		}
	}
	


	/* run patterns */
	function customgo() {
		/* get search and replace strings */

                search = document.getElementById('formsearch').value;
		search = search.replace(/\\n/g, '\n');

                replace = document.getElementById('formreplace').value;
		replace = replace.replace(/\\n/g, '\n');

		/* convert input to regex */

		// without delimiters
		if(!search.match(/^\s*\/[\s\S]*\/[a-z]*\s*$/i)) {
			search = new RegExp(search,'g');
		}
		// with delimiters
		else {
			// break into parts
			var regpattern = search.replace(/^\s*\/([\s\S]*)\/[a-z]*\s*$/i,'$1');
			var regmodifiers = search.replace(/^\s*\/[\s\S]*\/([a-z]*)\s*$/,'$1');
			// filter invalid flags
			regmodifiers = regmodifiers.replace(/[^gim]/ig,'');

			search = new RegExp(regpattern, regmodifiers);
		}

		/* perform */
		editbox.value = editbox.value.replace(search,replace);

	}

	/* remove form */
	function customremove() {
		regexform.parentNode.removeChild(regexform);
		patterncount = -1;
	}


	/*******************
	*** create button
	********************/
        function add_regexp_button(){

             toolbar = document.getElementById("toolbar");
		  if(toolbar){
			var image = document.createElement("img");
			image.width = 23;
			image.height = 22;
			image.border = 0;
			image.className = "mw-toolbar-editbutton";
			image.style.cursor = "pointer";
			image.alt = "regexp";
			image.title = "Expression régulière";
			image.src = "//upload.wikimedia.org/wikipedia/commons/a/a0/Button_references_alt.png";
			image.onclick = custom;
			toolbar.appendChild(image);
                 }
       }
       
       $(document).ready(add_regexp_button)

/*********************
Indicateurs de qualité
Auteur: ThomasV
*********************/

function pageQuality() {

	var a = document.getElementById("ca-nstab-main");
	if(!a) return;

	var q = document.getElementById("textquality")
	if( q ) {
		var t = q.className;
		var new_img = document.createElement("img");
                if(t == 'Textes validés') new_img.setAttribute("src", "//upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Compar%C3%A9.png/10px-Compar%C3%A9.png");
		else new_img.setAttribute("src", "/wiki/Special:Filepath/"+t.substring(0,t.length-1)+'%25.png');
		new_img.setAttribute("title", "/wiki/Special:Filepath/"+t.substring(0,t.length-1)+'%25.png');
		a.firstChild.appendChild(new_img);
	}

	if( document.getElementById("Author") ) a.firstChild.innerHTML = "Auteur";         

	for(
		var i=0; 
		spanElem = document.getElementsByTagName("span")[i]; 
		i++
	) {
	if (spanElem.className == "pagequality")  {
		t = spanElem.title;
		var new_img = document.createElement("img");
		new_img.setAttribute("src", "/wiki/Special:Filepath/"+t.substring(0,t.length-1)+'%25.png');
		new_img.setAttribute("title", "/wiki/Special:Filepath/"+t.substring(0,t.length-1)+'%25.png');
 
		if(mw.config.get('wgCanonicalNamespace') == "Pagina") {
			a.firstChild.appendChild(new_img);
		}
		else {
			s1 = spanElem.parentNode.previousSibling;
			opttext = s1.firstChild.firstChild;
			img = opttext.firstChild.nextSibling.nextSibling.nextSibling;
			next = img.nextSibling;
			opttext.removeChild(img);
			opttext.insertBefore(new_img,next);
		}
	}
   }
}
 
$(document).ready(pageQuality);


/****
*Mode édition
*****/

if(mw.config.get('wgAction')=='edit' || mw.config.get('wgAction')=='submit') {


	/*
	 *Boutons Qualité
	 *Auteur: ThomasV
	 */


	function addQuality(form,value){
	var text="";
	switch(value){
		case "0%": text = "Emendandum"; break;
		case "25%": text = "Textus infectus"; break;
		case "50%": text = "Textus non paratum"; break;
		case "75%": text = "Perfectus et paratum"; break;
		case "100%": text = "Bis lectus et emendatum"; break;
	} 

	form.elements["wpSummary"].value="/* "+text+" */";
	s = form.elements["wpTextbox1"].value;
	if(mw.config.get('wgCanonicalNamespace') == "Pagina") {
			prefix="Pagina";
			s = s.replace(/\{\{PaginaQuality\|(.*?)\}\}/gi,"")
		}
		else {
			prefix="Text";
			s = s.replace(/\{\{TextQuality\|(.*?)\}\}/gi,"")
		}
	form.elements["wpTextbox1"].value="{"+"{"+prefix+"Quality|"+value+"}"+"}"+s;
	}

	function addQualityButtons(){
		if( mw.config.get('wgNamespaceNumber') !=0 ) return;
		var ig  = document.getElementById("wpWatchthis"); 
		if(ig) {
			var f = document.createElement("span");
			f.innerHTML = ' <input type="radio" name="quality" value="25%" onclick="addQuality(this.form,this.value)"><img src = "/wiki/Special:Filepath/25%25.png">'+'<input type="radio" name="quality" value="50%" onclick="addQuality(this.form,this.value)"><img src = "/wiki/Special:Filepath/50%25.png">'+'<input type="radio" name="quality" value="75%" onclick="addQuality(this.form,this.value)"><img src = "/wiki/Special:Filepath/75%25.png">'+'<input type="radio" name="quality" value="100%" onclick="addQuality(this.form,this.value)"><img src = "/wiki/Special:Filepath/100%25.png"> Niveau d\’avancement du texte';
			ig.parentNode.insertBefore(f,ig.nextSibling.nextSibling.nextSibling)
		}
	}

	$(document).ready(addQualityButtons);

//Ressemble à la fonction de /w/skins/common/wikibits.js pour insérer un autre lien que insertTags
function marque_tab()
{
 var toolbar = document.getElementById('toolbar');
 if (!toolbar) return false;
 
 var textbox = document.getElementById('wpTextbox1');
 if (!textbox) return false;
 
 if (!document.selection && textbox.selectionStart == null)
 return false;
 
 var image = document.createElement("img");
 image.width = 23;
 image.height = 22;
 image.src = '//upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png';
 image.border = 0;
 image.alt = 'Tableau';
 image.title = 'Tableau';
 image.style.cursor = "pointer";
 image.onclick = function() {
   popupTableau();
   return false;
 }
 toolbar.appendChild(image);
}

$(document).ready(marque_tab);


} /* endif edition*/