User:Ioeth/friendlytabs.js

// If FriendlyConfig aint exist.

if( typeof( FriendlyConfig ) == 'undefined' ) {

FriendlyConfig = {};

}

/**

FriendlyConfig.idsToRename ( array )

An array of hashes that defines the ids of the tabs to be renamed and what they should be renamed to.

*/

if( typeof( FriendlyConfig.idsToRename ) == 'undefined' ) {

FriendlyConfig.idsToRename = [

{ id: 'ca-nstab-main', name: 'Main', mainPageOnly: true },

{ id: 'ca-main', name: 'Main', mainPageOnly: true },

{ id: 'ca-nstab-help', name: 'Help' },

{ id: 'ca-history', name: 'History' },

{ id: 'ca-nstab-special', name: 'Special' },

{ id: 'ca-special', name: 'Special' },

{ id: 'ca-nstab-project', name: 'Project' },

{ id: 'ca-project', name: 'Project' },

{ id: 'ca-nstab-user', name: 'User' },

{ id: 'ca-user', name: 'User' },

{ id: 'ca-edit', name: 'Edit' },

{ id: 'ca-viewsource', name: 'Source' },

{ id: 'ca-talk', name: 'Talk' },

{ id: 'ca-undelete', name: 'Undelete' },

{ id: 'ca-addsection', name: '+' }

];

}

function friendlyFindTabCaption(tab) {

while (tab.nodeType != 3) { //Until we find a text node

tab = tab.firstChild;

}

return tab.parentNode;

}

function friendlytabs() {

for(i = 0; i < FriendlyConfig.idsToRename.length; i++) {

if(document.getElementById(FriendlyConfig.idsToRename[i].id)) {

if(typeof( FriendlyConfig.idsToRename[i].mainPageOnly ) == 'boolean' && FriendlyConfig.idsToRename[i].mainPageOnly ) {

if( mw.config.get('wgPageName') == 'Main_Page' ) {

friendlyFindTabCaption( document.getElementById( FriendlyConfig.idsToRename[i].id ) ).innerHTML = FriendlyConfig.idsToRename[i].name;

}

} else {

friendlyFindTabCaption( document.getElementById( FriendlyConfig.idsToRename[i].id ) ).innerHTML = FriendlyConfig.idsToRename[i].name;

}

}

}

}

$(friendlytabs);