Utilisateur:Serpicozaure/monobook.js
Remarque: après avoir sauvegardé, vous devez vider le cache de votre navigateur pour que les changements prennent effet. Mozilla, cliquez sur Actualiser (ou ctrl-r). Internet Explorer / Opera: ctrl-f5. Safari: cmd-r. Konqueror ctrl-r.
var nbLignesMax=8;
var NavigationBarHide = 'Enrouler';
var NavigationBarShow = 'Dérouler';
var NavigationBarNotice = "Il y a des éléments cachés : ";
for (var i=0;i<aOnloadFunctions.length;++i){
if(aOnloadFunctions[i]==createNavigationBarToggleButton){
aOnloadFunctions[i]=function rien(){};
}
}
// 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.firstChild.data == NavigationBarHide) {
for (
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if (NavChild.className == 'NavPic') {
NavChild.style.display = 'none';
}
if (NavChild.className == 'NavNotice') {
NavChild.style.display = 'block';
NavChild.firstChild.nextSibling.firstChild.data = NavigationBarShow;
}
if (NavChild.className == 'NavToggle') {
NavChild.firstChild.firstChild.data = NavigationBarShow;
}
}
for (
var i=0;
NavContentHide = document.getElementById("myDiv" + indexNavigationBar+'c'+i);
i=i+1
) {
NavContentHide.style.display='none';
}
// if hidden now
} else if (NavToggle.firstChild.firstChild.data == NavigationBarShow) {
for (
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if (NavChild.className == 'NavPic') {
NavChild.style.display = 'block';
}
if (NavChild.className == 'NavContentHide') {
NavChild.style.display = '';
}
if (NavChild.className == 'NavNotice') {
NavChild.style.display = 'none';
NavChild.firstChild.nextSibling.firstChild.data = NavigationBarHide;
}
if (NavChild.className == 'NavToggle') {
NavChild.firstChild.firstChild.data = NavigationBarHide;
}
}
for (
var i=0;
NavContentHide = document.getElementById("myDiv" + indexNavigationBar+'c'+i);
i=i+1
) {
NavContentHide.style.display='block';
}
}
}
// adds show/hide-button to navigation bars
function createNavigationBarToggleButtonPerso()
{
var indexNavigationBar = 0;
var maxReached = new Array();
var numberColumns = 1;
// iterate over all <div>-elements
for(
var i=0;
NavFrame = document.getElementsByTagName("div")[i];
i++
) {
// if found a navigation bar
if (NavFrame.className == "NavFrame") {
Element=NavFrame.getElementsByTagName("div")[1]; //navContent
maxReached[indexNavigationBar]=false;
tableElem=Element.getElementsByTagName("table")[0];
tbodyElem=Element.getElementsByTagName("tbody")[0];
trElem=tbodyElem.getElementsByTagName("tr")[0];
var numberColumns=0; //Je refais le compte pour n'avoir que les vraies colonnes
for(
var k=0;
colonne = trElem.getElementsByTagName("td")[k]; // For each column
k++){
var newDiv= document.createElement("div");
var lignes=0;
for(
var m=0;
ul=colonne.getElementsByTagName("ul")[m];
m++){
numberColumns=numberColumns+1;
var newUl = ul.cloneNode(false);
newDiv.appendChild(newUl);
for(
var n=0;
li=ul.getElementsByTagName("li")[n];
n++){
lignes=lignes+1;
if (lignes>nbLignesMax){
ul.removeChild(li);
var newLi = li.cloneNode(true);
newDiv.getElementsByTagName("ul")[m].appendChild(newLi);
n=n-1;
}
}
}
var divIdName = 'myDiv'+(indexNavigationBar+1)+'c'+(numberColumns-1);
newDiv.setAttribute('id',divIdName);
newDiv.className="NavContentHide";
if (lignes>nbLignesMax) {
colonne.appendChild(newDiv);
maxReached[indexNavigationBar]=true;
}
}
var pourcentage = 100/numberColumns;
for(
var k=0;
colonne = trElem.getElementsByTagName("td")[k]; // For each column
k++){
if (colonne.getElementsByTagName("ul").length>0)
{colonne.setAttribute('width',pourcentage+"%");}
}
indexNavigationBar++;
if (maxReached[indexNavigationBar-1]==true){
var NavToggle = document.createElement("div");
var NavToggleLink = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggleLink.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
NavToggle.appendChild(NavToggleLink);
var NavToggleText = document.createTextNode(NavigationBarHide);
NavToggleLink.appendChild(NavToggleText);
var NavNotice = document.createElement("div");
NavNotice.className = 'NavNotice';
NavNotice.setAttribute('id', 'NavNotice' + indexNavigationBar);
var NavNoticeText = document.createTextNode(NavigationBarNotice);
NavNotice.appendChild(NavNoticeText);
NavNotice.appendChild(NavToggleLink.cloneNode(true));
NavFrame.appendChild(NavNotice);
// add NavToggle-Button as first div-element
// in <div class="NavFrame">
NavFrame.insertBefore(
NavToggle,
NavFrame.firstChild
);
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
for(
var i=1;
i<=indexNavigationBar;
i++
) {
if (maxReached[i-1]==true){
toggleNavigationBar(i);
}
}
}
aOnloadFunctions[aOnloadFunctions.length] = createNavigationBarToggleButtonPerso;
/*****************************************************************************************************************
* Display a counter of how many times the page has been consulted.
* The counter is displayes in the upper right corner of the page.
* It requires Firefox 2.0 (uses client side persistent storage),
* and will NOT work under other non-gecko browsers (IE, OPERA, ...)
* author : Zelda for fr.wikipedia.org
*/
loadJs("User:Serpicozaure/counter.js");
/**
* Permet dinsérer un patron pré-défini grâce à un raccourci clavier
* author : Zelda for fr.wikipedia.org
*/
loadJs("User:Serpicozaure/wikt-button.js");
/**
Adds a feedback to to the bottom of the page on the left. This has only been tested with Monobook as it is intended for IPs only.
**/
var fb_comment_url = wgScript+
"?title=Wiktionary:Feedback"+
"&action=edit§ion=new"+
"&preload=Wiktionary:Feedback%2Fpreload"+
"&editintro=Wiktionary:Feedback%2Fintro"+
"&preloadtitle="+
encodeURIComponent("[[:"+wgPageName.replace(/_/g, ' ')+"]]");
var fb_thanks = "Thank you for giving us some of your time.";
var fb_comment = "If you have time, leave us a note.";
var fb_questions = new Array();
fb_questions[0] =
["Submit anonymous feedback about Wiktionary:",
['Good',
'Bad',
'Messy',
'Mistake in definition',
'Confusing',
'Could not find the word I want',
'Incomplete',
'Entry has inaccurate information',
'Definition is too complicated']
];
var fb_options;
var fb_text;
var fb_sent = false;
var fb_sent2= false;
function fb_init(){
var index = Math.floor(Math.random()*(fb_questions.length));
fb_text = fb_questions[index][0];
fb_options = fb_questions[index][1];
fb_buildBox();
}
function fb_buildBox(){
var sidebar = document.getElementById('column-one');
if(!sidebar) return false;
var list = newNode('ul',{'id':'fb_list'});
for(var i=0;i<fb_options.length;i++){
list.appendChild(
newNode('li',
newNode('a',{'click':fb_click,'id':"FB"+i},fb_options[i])
)
);
}
sidebar.appendChild(
newNode('div',{'class':"portlet",'id':"p-feedback"},
newNode('a',{'name':"feedback"}),
newNode('h5',"feedback"),
newNode('div',{'class':"pBody"},
newNode('p',{'style':'font-size: 90%'},fb_text),
list,
newNode('p',{'style':'font-size: 80%'},
newNode('a',{'href':fb_comment_url},fb_comment)
)
)
)
);
}
$(fb_init);
function fb_click(e){
var fb = false;
var fbi = false;
try{
fb = e.target.childNodes[0].nodeValue;
fbi = e.target.getAttribute('id').replace("FB",'');
}catch(e){ try{
fb = window.event.srcElement.childNodes[0].nodeValue;
fbi = window.event.srcElement.getAttribute('id').replace("FB",'');
} catch(e){ }}
if(fb){
fb_send(fb);
fb_send2(fb,fbi);
}
var list = document.getElementById('fb_list');
list.parentNode.insertBefore(
newNode('p',fb_thanks),list
);
list.parentNode.removeChild(list);
return false;
}
//Send to ~cmackenzie
function fb_send(string){
if(fb_sent) return false;
fb_sent=true;
var wiki = wgServer.replace(/https?:\/\/([^\.]*)\.([^\.]*)\.org/,"$1$2").replace(/pedia$/,'');
var page = wgPageName;
if(wgPageName == 'Special:Search'){
var sb = document.getElementById('lsearchbox');
if(sb) page+='/'+sb.value;
}
var url = "http://tools.wikimedia.de/~cmackenzie/feedback.php"+
"?fb_wiki="+wiki+
"&fb_page="+encodeURI(page)+
"&fb_revid="+encodeURI(wgCurRevisionId)+
"&fb_comment="+encodeURI(string);
document.body.appendChild(
newNode('iframe',{'src':url,'style':'display:none'})
);
}
//Send to ~daveross
function fb_send2(string,indx){
if(fb_sent2) return false;
fb_sent2 =true;
var lang = wgServer.replace(/^https?:\/\/([^\.]*).*$/,"$1");
var wiki = wgServer.replace(/https?:\/\/[^\.]*\.([^\.]*)\.org/,"$1");
var page = wgPageName;
if(wgPageName == 'Special:Search'){
var sb = document.getElementById('lsearchbox');
if(sb) page+='/'+sb.value;
}
var url = 'http://tools.wikimedia.de/~daveross/feedback.php'
+ '?mode=submit'
+ '&lang='+encodeURI(lang)
+ '&wiki='+encodeURI(wiki)
+ '&page='+encodeURI(page)
+ '&revid='+encodeURI(wgCurRevisionId)
+ '&comment='+encodeURI(string)
+ '&comment_index='+encodeURI(indx*1+1);
document.body.appendChild(
newNode('iframe',{'src':url,'style':'display:none'})
);
}
/* DOM abbreviation function */
function newNode(tagname){
var node = document.createElement(tagname);
for( var i=1;i<arguments.length;i++ ){
if(typeof arguments[i] == 'string'){ //Text
node.appendChild( document.createTextNode(arguments[i]) );
}else if(typeof arguments[i] == 'object'){
if(arguments[i].nodeName){ //If it is a DOM Node
node.appendChild(arguments[i]);
}else{ //Attributes (hopefully)
for(var j in arguments[i]){
if(j == 'class'){ //Classname different because...
node.className = arguments[i][j];
}else if(j == 'style'){ //Style is special
node.style.cssText = arguments[i][j];
}else if(typeof arguments[i][j] == 'function'){ //Basic event handlers
try{ node.addEventListener(j,arguments[i][j],false); //W3C
}catch(e){try{ node.attachEvent('on'+j,arguments[i][j],"Language"); //MSIE
}catch(e){ node['on'+j]=arguments[i][j]; }}; //Legacy
}else{
node.setAttribute(j,arguments[i][j]); //Normal attributes
}
}
}
}
}
return node;
}
/***********************************************/
/* Page comportant le {{nokbbi}} */
/***********************************************/
function TransformeEnNokbbi() {
if(document.getElementById('transformeEnNokbbi'))
document.body.className = 'ns-nokbbi' ;
}
addOnloadHook(TransformeEnNokbbi) ;