MediaWiki:Monobook.js: Difference between revisions
From Bulbanews, your community Pokémon newspaper.
Jump to navigationJump to search
(UTC clocks all around!) |
m (this probably wont work either) |
||
Line 106: | Line 106: | ||
} | } | ||
} | } | ||
function createContentTabs() { | |||
var ict=0; var ctdiv; var tabs; var toggle;var firstTab;var firstToggle; | |||
var divs = document.getElementsByTagName("div"); | |||
for (var i=0; i<divs.length; i++) { | |||
ctdiv = divs[i]; | |||
if (ctdiv.className == "Tabs") { | |||
ict++; | |||
//alert("tab for div i "+i + " ict="+ict); | |||
if (document.getElementById("ct_"+ict)) continue; | |||
ctdiv.parentNode.id = "ct_"+ict; | |||
tabs = ctdiv.childNodes; | |||
for (var j=0; j < tabs.length; j++) { | |||
var tab = tabs[j]; | |||
var toggle = document.createElement("a"); | |||
var tabName = tab.className; | |||
if (!tabName) continue; | |||
//toggle.setAttribute('href', 'javascript:toggleTab(this,\''+'ct_'+ict+'\', \'' + tabName + '\',0);'); | |||
toggle.setAttribute('href', 'javascript:void(0)'); | |||
toggle.setAttribute('onclick', 'toggleTab(this,\''+'ct_'+ict+'\', \'' + tabName + '\',0);'); | |||
var spLabel = tab.innerHTML; | |||
if (!spLabel) continue; | |||
toggle.innerHTML = spLabel; | |||
if (!firstTab) { | |||
firstTab = tabName; | |||
toggle.setAttribute('id','ct_'+ict+'_first'); | |||
//toggle.setAttribute('class',"first"); | |||
} | |||
ctdiv.appendChild(toggle); | |||
ctdiv.removeChild(tab); | |||
} | |||
toggleTab(1,'ct_'+ict, firstTab,1); | |||
firstTab=null; | |||
} | |||
} | |||
} | |||
function toggleTab(elem,ct_id,tab_id,first) { | |||
//alert("in "+ct_id+ " hiding all but " +tab_id + " sender: "+elem); | |||
var ctdiv = document.getElementById(ct_id); | |||
for (var i=0; i < ctdiv.childNodes.length;i++) { | |||
if (ctdiv.childNodes[i].className=="Contents") { | |||
var contentdiv = ctdiv.childNodes[i]; | |||
for (var j=0; j <contentdiv.childNodes.length;j++) { | |||
if (contentdiv.childNodes[j].style) contentdiv.childNodes[j].style.display = "none"; | |||
} | |||
} | |||
if (ctdiv.childNodes[i].className=="Tabs") { | |||
var contentdiv = ctdiv.childNodes[i]; | |||
for (var j=0; j <contentdiv.childNodes.length;j++) { | |||
if (contentdiv.childNodes[j].className){ | |||
contentdiv.childNodes[j].className = ""; | |||
} | |||
} | |||
if (first) contentdiv.childNodes[0].className = "active"; | |||
} | |||
} | |||
if (document.getElementById(tab_id).style) { | |||
//alert("setting style of id "+tab_id); | |||
document.getElementById(tab_id).style.display = "block"; | |||
if (!first) elem.className = "active"; | |||
} | |||
} | |||
addOnloadHook(createContentTabs); | |||
/*</nowiki>*/ | /*</nowiki>*/ |
Revision as of 19:45, 18 July 2009
/* tooltips and access keys */ ta = new Object(); ta['pt-userpage'] = new Array('.','My user page'); ta['pt-anonuserpage'] = new Array('.','The user page for the ip you\'re editing as'); ta['pt-mytalk'] = new Array('n','My talk page'); ta['pt-anontalk'] = new Array('n','Discussion about edits from this ip address'); ta['pt-preferences'] = new Array('','My preferences'); ta['pt-watchlist'] = new Array('l','The list of pages you\'re monitoring for changes.'); ta['pt-mycontris'] = new Array('y','List of my contributions'); ta['pt-login'] = new Array('o','You are encouraged to log in, it is not mandatory however.'); ta['pt-anonlogin'] = new Array('o','You are encouraged to log in, it is not mandatory however.'); ta['pt-logout'] = new Array('o','Log out'); ta['ca-talk'] = new Array('t','Discussion about the content page'); ta['ca-edit'] = new Array('e','You can edit this page. Please use the preview button before saving.'); ta['ca-addsection'] = new Array('+','Add a comment to this discussion.'); ta['ca-viewsource'] = new Array('e','This page is protected. You can view its source.'); ta['ca-history'] = new Array('h','Past versions of this page.'); ta['ca-protect'] = new Array('=','Protect this page'); ta['ca-delete'] = new Array('d','Delete this page'); ta['ca-undelete'] = new Array('d','Restore the edits done to this page before it was deleted'); ta['ca-move'] = new Array('m','Move this page'); ta['ca-nomove'] = new Array('','You don\'t have the permissions to move this page'); ta['ca-watch'] = new Array('w','Add this page to your watchlist'); ta['ca-unwatch'] = new Array('w','Remove this page from your watchlist'); ta['search'] = new Array('f','Search this wiki'); ta['p-logo'] = new Array('','Front page'); ta['n-mainpage'] = new Array('z','Visit the Front page'); ta['n-portal'] = new Array('','About the project, what you can do, where to find things'); ta['n-currentevents'] = new Array('','Find background information on current events'); ta['n-uploadlink'] = new Array('u','Upload images or media files'); ta['n-recentchanges'] = new Array('r','The list of recent changes in the wiki.'); ta['n-randompage'] = new Array('x','Load a random page'); ta['n-help'] = new Array('','The place to find out.'); ta['n-sitesupport'] = new Array('','Support us'); ta['t-whatlinkshere'] = new Array('j','List of all wiki pages that link here'); ta['t-recentchangeslinked'] = new Array('k','Recent changes in pages linked from this page'); ta['feed-rss'] = new Array('','RSS feed for this page'); ta['feed-atom'] = new Array('','Atom feed for this page'); ta['t-contributions'] = new Array('','View the list of contributions of this user'); ta['t-emailuser'] = new Array('','Send a mail to this user'); ta['t-specialpages'] = new Array('q','List of all special pages'); ta['ca-nstab-main'] = new Array('c','View the content page'); ta['ca-nstab-user'] = new Array('c','View the user page'); ta['ca-nstab-media'] = new Array('c','View the media page'); ta['ca-nstab-special'] = new Array('','This is a special page, you can\'t edit the page itself.'); ta['ca-nstab-wp'] = new Array('a','View the project page'); ta['ca-nstab-image'] = new Array('c','View the image page'); ta['ca-nstab-mediawiki'] = new Array('c','View the system message'); ta['ca-nstab-template'] = new Array('c','View the template'); ta['ca-nstab-help'] = new Array('c','View the help page'); ta['ca-nstab-category'] = new Array('c','View the category page'); /*<nowiki>*/ /** additional monobook scripts **/ hookEvent( 'load', displayTimer ); /**** function displayTimer.js * by Patrick Westerhoff [poke] */ function displayTimer () { if ( typeof( timerDisplay ) !== 'undefined' && timerDisplay === false ) return; var date; var timerParent = document.getElementById( 'p-personal' ).getElementsByTagName( 'ul' )[0]; var timerLink = document.createElement( 'a' ); var timerObj = document.createElement( 'li' ); timerLink.href = '/wiki/' + wgPageName + '?action=purge'; timerLink.title = 'Purge the server cache and update the contents of this page.' timerObj.id = 'pt-timer'; timerObj.style.textTransform = 'none'; timerObj.style.fontWeight = 'bold'; timerObj.style.fontSize = '100%'; timerObj.appendChild( timerLink ); timerParent.insertBefore( timerObj, timerParent.firstChild ); function actualizeUTC () { timerDate = new Date(); timerLink.innerHTML = ( timerDate.getUTCHours() < 10 ? '0' : '' ) + timerDate.getUTCHours() + ':' + ( timerDate.getUTCMinutes() < 10 ? '0' : '' ) + timerDate.getUTCMinutes() + ':' + ( timerDate.getUTCSeconds() < 10 ? '0' : '' ) + timerDate.getUTCSeconds() + ' (UTC)'; } function actualizeCustom () { timerDate = new Date(); timerDate.setMinutes( timerDate.getMinutes() + timerDate.getTimezoneOffset() + timerTimezone * 60 ); timerLink.innerHTML = ( timerDate.getHours() < 10 ? '0' : '' ) + timerDate.getHours() + ':' + ( timerDate.getMinutes() < 10 ? '0' : '' ) + timerDate.getMinutes() + ':' + ( timerDate.getSeconds() < 10 ? '0' : '' ) + timerDate.getSeconds() + ' (UTC' + ( timerTimezone < 0 ? '' : '+' ) + timerTimezone + ')'; } // start if ( typeof( timerTimezone ) !== 'number' ) { actualizeUTC(); setInterval( actualizeUTC, 1000 ); } else { actualizeCustom(); setInterval( actualizeCustom, 1000 ); } } function createContentTabs() { var ict=0; var ctdiv; var tabs; var toggle;var firstTab;var firstToggle; var divs = document.getElementsByTagName("div"); for (var i=0; i<divs.length; i++) { ctdiv = divs[i]; if (ctdiv.className == "Tabs") { ict++; //alert("tab for div i "+i + " ict="+ict); if (document.getElementById("ct_"+ict)) continue; ctdiv.parentNode.id = "ct_"+ict; tabs = ctdiv.childNodes; for (var j=0; j < tabs.length; j++) { var tab = tabs[j]; var toggle = document.createElement("a"); var tabName = tab.className; if (!tabName) continue; //toggle.setAttribute('href', 'javascript:toggleTab(this,\''+'ct_'+ict+'\', \'' + tabName + '\',0);'); toggle.setAttribute('href', 'javascript:void(0)'); toggle.setAttribute('onclick', 'toggleTab(this,\''+'ct_'+ict+'\', \'' + tabName + '\',0);'); var spLabel = tab.innerHTML; if (!spLabel) continue; toggle.innerHTML = spLabel; if (!firstTab) { firstTab = tabName; toggle.setAttribute('id','ct_'+ict+'_first'); //toggle.setAttribute('class',"first"); } ctdiv.appendChild(toggle); ctdiv.removeChild(tab); } toggleTab(1,'ct_'+ict, firstTab,1); firstTab=null; } } } function toggleTab(elem,ct_id,tab_id,first) { //alert("in "+ct_id+ " hiding all but " +tab_id + " sender: "+elem); var ctdiv = document.getElementById(ct_id); for (var i=0; i < ctdiv.childNodes.length;i++) { if (ctdiv.childNodes[i].className=="Contents") { var contentdiv = ctdiv.childNodes[i]; for (var j=0; j <contentdiv.childNodes.length;j++) { if (contentdiv.childNodes[j].style) contentdiv.childNodes[j].style.display = "none"; } } if (ctdiv.childNodes[i].className=="Tabs") { var contentdiv = ctdiv.childNodes[i]; for (var j=0; j <contentdiv.childNodes.length;j++) { if (contentdiv.childNodes[j].className){ contentdiv.childNodes[j].className = ""; } } if (first) contentdiv.childNodes[0].className = "active"; } } if (document.getElementById(tab_id).style) { //alert("setting style of id "+tab_id); document.getElementById(tab_id).style.display = "block"; if (!first) elem.className = "active"; } } addOnloadHook(createContentTabs); /*</nowiki>*/