User:Psl631/common.js: Difference between revisions
Content added Content deleted
(replace nonworking script) |
No edit summary |
||
Line 29: | Line 29: | ||
} |
} |
||
} |
} |
||
//<nowiki> |
|||
topaz.statuschanger = new Object(); |
|||
topaz.statuschanger.version = 20061108; |
|||
/* configuration */ |
|||
// change these to whatever you'd like to show up on your status page. you can add new lines in |
|||
// the same format provided there is a comma at the end of each line but the last one. you can |
|||
// also use wikimarkup here to, for example, display an image instead of text. |
|||
topaz.statuschanger.statuscode = { |
|||
online:'<font color="green">online</font>', |
|||
busy:'<font color="orange">busy</font>', |
|||
offline:'<font color="red">offline</font>' |
|||
}; |
|||
// this will make wikimarkup work in your stauscodes but will disable auto-updating |
|||
topaz.statuschanger.enablewikimarkup = false; |
|||
// true to use the personal bar, false to create a panel in the left column |
|||
topaz.statuschanger.usepersonalbar = true; |
|||
// true if you'd like your status page on your watchlist |
|||
topaz.statuschanger.watchstatus = false; |
|||
/* end configuration */ |
|||
topaz.statuschanger.buttonlist = {}; |
|||
topaz.statuschanger.oldonload = window.onload; |
|||
window.onload = function() { |
|||
if (typeof topaz.statuschanger.oldonload == "function") { |
|||
setTimeout('topaz.statuschanger.oldonload()',50); |
|||
} |
|||
if (!topaz.statuschanger.usepersonalbar) { |
|||
topaz.wputil.addsidepanel("tz-statuschanger", "status changer"); |
|||
} |
|||
var buttonlist = []; |
|||
for (status in topaz.statuschanger.statuscode) { |
|||
buttonlist.push(status); |
|||
topaz.statuschanger.buttonlist[status] = |
|||
topaz.wputil.addsidepanelbutton( |
|||
topaz.statuschanger.usepersonalbar ? "p-personal" : "tz-statuschanger", |
|||
status, |
|||
'javascript:topaz.statuschanger.setstatus("' + status + '")' |
|||
); |
|||
} |
|||
if (topaz.statuschanger.usepersonalbar) { |
|||
for(var i=0; i<buttonlist.length; i++) { |
|||
with (topaz.statuschanger.buttonlist[buttonlist[i]].style) { |
|||
if (i != buttonlist.length-1) { |
|||
borderRight = "1px solid #aaaaaa"; |
|||
paddingRight = "2px"; |
|||
} |
|||
if (i != 0) { |
|||
marginLeft = "0px"; |
|||
paddingLeft = "2px"; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
var spanlist = document.getElementsByTagName("span"); |
|||
for (var i=0; i<spanlist.length; i++) { |
|||
if (spanlist[i].className == "topaz.statuschanger.curstatus."+escape(topaz.wputil.username())) { |
|||
topaz.util.cookie.set("topaz.statuschanger.curstatus", spanlist[i].innerHTML); |
|||
} |
|||
} |
|||
topaz.statuschanger.update(); |
|||
}; |
|||
topaz.statuschanger.setstatus = function(statusname) { |
|||
topaz.wputil.setpagecontent( |
|||
"User:"+topaz.wputil.username()+"/Status", |
|||
(!topaz.statuschanger.enablewikimarkup ? |
|||
'<includeonly><span class="topaz.statuschanger.inlinestatus.' |
|||
+ escape(topaz.wputil.username()) |
|||
+ '"></includeonly>' |
|||
: '') + |
|||
topaz.statuschanger.statuscode[statusname] + |
|||
(!topaz.statuschanger.enablewikimarkup ? |
|||
'<includeonly></span></includeonly>' |
|||
: '') + |
|||
'<span class="topaz.statuschanger.curstatus.'+escape(topaz.wputil.username()) + |
|||
'" style="display:none">'+statusname+'</span>', |
|||
statusname, |
|||
topaz.statuschanger.watchstatus); |
|||
topaz.util.cookie.set("topaz.statuschanger.curstatus", statusname); |
|||
topaz.statuschanger.update(); |
|||
}; |
|||
topaz.statuschanger.laststatus = null; |
|||
topaz.statuschanger.update = function() { |
|||
var curstatus = topaz.util.cookie.get("topaz.statuschanger.curstatus"); |
|||
if (curstatus && curstatus != topaz.statuschanger.laststatus) { |
|||
for (status in topaz.statuschanger.buttonlist) { |
|||
with (topaz.statuschanger.buttonlist[status].style) { |
|||
if (status == curstatus) { |
|||
fontWeight = "bold"; |
|||
} else { |
|||
fontWeight = "normal"; |
|||
} |
|||
} |
|||
} |
|||
if (!topaz.statuschanger.enablewikimarkup) { |
|||
var spanlist = document.getElementsByTagName("span"); |
|||
for (var i=0; i<spanlist.length; i++) { |
|||
if (spanlist[i].className == "topaz.statuschanger.inlinestatus."+escape(topaz.wputil.username())) { |
|||
spanlist[i].innerHTML = topaz.statuschanger.statuscode[curstatus]; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
topaz.statuschanger.laststatus = curstatus; |
|||
}; |
|||
setInterval("topaz.statuschanger.update()", 5000); |
|||
//</nowiki> |