User:Yair rand/languagetabs.js

From Wiktionary, the free dictionary
Jump to navigation Jump to search

Note – after saving, you may have to bypass your browser’s cache to see the changes.

  • Mozilla / Firefox / Safari: hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (Command-R on a Macintosh);
  • Konqueror and Chrome: click Reload or press F5;
  • Opera: clear the cache in Tools → Preferences;
  • Internet Explorer: hold Ctrl while clicking Refresh, or press Ctrl-F5.

var langcontent=new Array()
var langtabbaredit=new Array()
function createlanguagetabs()
{
var langtabbar=document.createElement('h2')
document.getElementById('toc').style.display="none"
var x
var v=document.getElementById("bodyContent").getElementsByTagName('h2')
var prelangtabbar
for(i in v)
{
if(v[i].lastChild&&v[i].lastChild.innerHTML!=undefined)
{
if(!prelangtabbar){prelangtabbar=v[i].previousSibling}
var w=v[i].lastChild.innerHTML
var qq="<a id='langtab"+w+"' style=color:"
if(x){qq+="grey"}else{qq+="black";x=1;currentlangtab=w}
qq+=" onclick=updatelangtab('"+w+"',this)>"+w+"</a> "
langtabbar.innerHTML+=qq
langcontent[w]=document.createElement('span')
var z=v[i]
langtabbaredit[w]=z.firstChild
while(z.nextSibling&&z.nextSibling.nodeName!='H2'&&z.nextSibling.className!="printfooter")
{langcontent[w].appendChild(z.nextSibling)}
if(langcontent[w].lastChild.previousSibling.nodeName=="HR")
{langcontent[w].removeChild(langcontent[w].lastChild.previousSibling)}
z.style.display="none"
}
}
document.getElementById('bodyContent').insertBefore(langcontent[currentlangtab],prelangtabbar.nextSibling)
document.getElementById('bodyContent').insertBefore(langtabbar,prelangtabbar)
langtabbar.insertBefore(langtabbaredit[currentlangtab],langtabbar.firstChild)
}

function updatelangtab(c,d)
{
document.getElementById('bodyContent').replaceChild(langcontent[c],langcontent[currentlangtab])
d.parentNode.replaceChild(langtabbaredit[c],langtabbaredit[currentlangtab])
document.getElementById('langtab'+currentlangtab).style.color="grey"
currentlangtab=c
d.style.color="black"
}

if(wgNamespaceNumber==0)
{addOnloadHook(createlanguagetabs)}