/** Sort iw-links according to a preference table ******************************************************
*
* First revision was imported from http://no.wikipedia.org/wiki/MediaWiki:Interwiki-links.js
* Original description [[:no:Wikipedia:Sortering av interwiki-lenker]]
*
*/
appendCSS('.iw-focus {font-weight: bold} .iw-babel {font-style: italic}')
var wgDebugIWlang;
var wgUseUserlanguage;
var wgAddLangHints;
var wgInterwikiDone = false;
var wgDefaultLangPrefs = [];
// make sure we in fact has a array
var wgLangPrefs;
if (typeof wgLangPrefs == 'undefined') wgLangPrefs = Array();
wgLangPrefs.push(wgUserLanguage);
// choose and adjust lists for prefered languages
if (wgUserName) {
wgLangPrefs = wgLangPrefs;
}
else {
wgLangPrefs = wgDefaultLangPrefs;
}
var wgLangIWlinks = Object();
for (i=0;is.indexOf('interwiki-')) continue;
s = s.replace(/^.*?interwiki-/, '');
s = s.replace(/\s.*$/, '');
var a = c[ i ].getElementsByTagName("a");
// localize language names
try {
if ( typeof wgUseUserLanguage != 'undefined' && wgUseUserLanguage
&& typeof wgLangNames[ wgUserLanguage ] != 'undefined' ) {
if ( typeof wgLangNames[ wgUserLanguage ][ s ] != 'undefined'
&& typeof wgLangNames[ wgUserLanguage ][ s ][ 0 ] == 'string' ) {
if (a.length) a[0].innerHTML = wgLangNames[ wgUserLanguage ][ s ][ 0 ];
}
}
}
catch (e) { /* just skip this */ }
// add hints for language names
try {
if ( typeof wgAddLangHints != 'undefined' && wgAddLangHints
&& typeof wgLangNames[ wgUserLanguage ] != 'undefined' ) {
if ( typeof wgLangNames[ wgUserLanguage ][ s ] != 'undefined'
&& typeof wgLangNames[ wgUserLanguage ][ s ][ 0 ] == 'string' ) {
//c[ i ].setAttribute( 'title', wgLangNames[ wgUserLanguage ][ s ][ 0 ] );
a[0].setAttribute( 'title', wgLangNames[ wgUserLanguage ][ s ][ 0 ] + ' - ' + a[0].getAttribute('title'));
}
}
}
catch (e) { /* just skip this */ }
// check if we have any odd link}
try {
if ( typeof wgUseUserLanguage != 'undefined' && wgUseUserLanguage
&& typeof wgLangNames[ wgUserLanguage ][ s ] != 'undefined'
&& typeof wgLangNames[ wgUserLanguage ][ s ][ 1 ] == 'number' ) {
childs.push(c[ i ]);
//wgLangNames[ c[ i ].className ] = wgLangNames[ wgUserLanguage ][ s ];
}
else {
adds.push(c[ i ]);
}
}
catch (e) { /* just skip this */ }
}
else {
childs.push(c[ i ]);
}
}
// sort the childs according to definitions used by sortIWlinks
if ( typeof wgUseUserLanguage != 'undefined' && wgUseUserLanguage
&& typeof wgLangNames[ wgUserLanguage ] != 'undefined' ) {
childs = childs.sort(sortIWlinks);
}
// reinsert those we didn't know how to sort into the list of children
for (i=0;i=0;i--) {
if ( typeof wgLangIWlinks[ childs[i].className.split(' ')[0] ] != 'undefined' && wgLangIWlinks[ childs[i].className.split(' ')[0] ] ) {
childs[i].className += ' iw-focus';
}
else {
keeps[--n] = childs[i];
}
}
}
catch (e) { /* just skip this */ }
// remove all existing children and reinsert from our own list
if (keeps.length) {
var child;
while (child = ul.firstChild) {
ul.removeChild(child);
}
for (i=0;i