/*
- LanguageLinks.js
- Changes the text of language links in the sidebar,
- by replacing the name of the language with the code
- of the language and the name of the linked page,
- changing the language box into an ersatz multi-lingual
- dictionary.
- /
// wait for everything to load
addOnloadHook(function() {
// get the language portlet
langs = document.getElementById('p-lang');
// proceed only if the language portlet exists
if(langs) {
// get the links
var lnks=langs.getElementsByTagName('a');
// start building the replacement table
var html = '
';
// cycle through all the links
for (var i=0;i
lnk=lnks[i];
// FF vs. IE 6
href = document.addEventListener
? lnk.href
: lnk.href.replace(/\/wiki\/(.*)$/,) + '/wiki/' + escape(lnk.href.replace(/^.*?\/wiki\//,));
// extract the language code and the page from the URL
var page=href.replace(/^.*?\/wiki\//,'').replace(/_/g,' ');
var lang=href.replace(/(^http:\/\/|\..*$)/g,'');
// prepare new text
// If pointing to the main page on another wiki, use the
// long language name, otherwise use the linked page's name.
var text = page == '' ? lnk.innerHTML : decodeURIComponent(page);
// for short language codes, make one row in the table
if (lang.length<4)
{
html += '
'
+ lang
+ ': | '
+ '
' + text +' |
';
}
// for long language codes, make two rows
else
{
html += '
'
+ lang
+ ': |
'
+ '
| ' + text +' |
';
}
}; // end of the loop
// finish the table
html += '
';
//insert it into the first div in the portlet
langs.getElementsByTagName('div')[0].innerHTML=html
};
});