User:StonedChipmunk/AntiVandalMeter

Credit Where Credit is Due!
I'd like to give a big "thank you" to Topaz for the great Status Changer which, with his permission, was the base of Configs A and D. Sooooo...

Installation
Choose your configuration:

Configuration A
Size: Automatically Created Sidebar Installation: Hard Ease of Use: Easy

Open your monobook.js (type in "User:(yourusername)/monobook.js" into the search box). Add the following code to it: function inc (file) { var lt = String.fromCharCode(60); var gt = String.fromCharCode(62); if (file.indexOf(".js") > -1) { document.writeln(lt+'script type="text/javascript" src="/w/index.php?title='+file+'&action=raw&ctype=text/javascript&dontcountme=s"'+gt+lt+'/script'+gt); } else if (file.indexOf(".css") > -1) { document.writeln(lt+'link rel="stylesheet" type="text/css" href="/w/index.php?title='+file+'&action=raw&ctype=text/css" /'+gt); } }

inc("User:Topaz/init.js"); inc("User:Topaz/util.js"); inc("User:Topaz/comm.js"); inc("User:Topaz/wputil.js");

Also add this line to the bottom (insert your username first): inc("User:(yourusername)/avm.js");

Then, put "User:(yourusername)/avm.js" into the search box and start that page. Put the following code in it: //

topaz.statuschanger_avm = new Object;

/* 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_avm.statuscode = { overload:' The AVM displays my current frequency of fighting vandalism. Low Med High    Status: OVERLOAD! ', high:' The AVM displays my current frequency of fighting vandalism. Low Med High    Status: High ', medium:' The AVM displays my current frequency of fighting vandalism. Low Med High    Status: Medium ', low:' The AVM displays my current frequency of fighting vandalism. Low Med High    Status: Low ' };

// this will make wikimarkup work in your stauscodes but will disable auto-updating topaz.statuschanger_avm.enablewikimarkup = true;

// true to use the personal bar, false to create a panel in the left column topaz.statuschanger_avm.usepersonalbar = false;

// true if you'd like your status page on your watchlist topaz.statuschanger_avm.watchstatus = false;

/* end configuration */

topaz.statuschanger_avm.buttonlist = {}; topaz.statuschanger_avm.oldonload = window.onload; window.onload = function { if (typeof topaz.statuschanger_avm.oldonload == "function") { setTimeout('topaz.statuschanger_avm.oldonload',50); } if (!topaz.statuschanger_avm.usepersonalbar) { topaz.wputil.addsidepanel("tz-statuschanger", "status changer"); } var buttonlist = []; for (status in topaz.statuschanger_avm.statuscode) { buttonlist.push(status); topaz.statuschanger_avm.buttonlist[status] = topaz.wputil.addsidepanelbutton(         topaz.statuschanger_avm.usepersonalbar ? "p-personal" : "tz-statuschanger",          status,          'javascript:topaz.statuschanger_avm.setstatus("' + status + '")'        ); }

if (topaz.statuschanger_avm.usepersonalbar) { for(var i=0; i<buttonlist.length; i++) { with (topaz.statuschanger_avm.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_avm.curstatus."+escape(topaz.wputil.username)) { topaz.util.cookie.set("topaz.statuschanger_avm.curstatus", spanlist[i].innerHTML); } }

topaz.statuschanger_avm.update; };

topaz.statuschanger_avm.setstatus = function(statusname) { topaz.wputil.setpagecontent(     "User:"+topaz.wputil.username+"/AVM",

(!topaz.statuschanger_avm.enablewikimarkup ?         '  '      : '') +

topaz.statuschanger_avm.statuscode[statusname] +

(!topaz.statuschanger_avm.enablewikimarkup ?         '  '      : '') +

''+statusname+' ',

statusname, topaz.statuschanger_avm.watchstatus); topaz.util.cookie.set("topaz.statuschanger_avm.curstatus", statusname);  topaz.statuschanger_avm.update; };

topaz.statuschanger_avm.laststatus = null; topaz.statuschanger_avm.update = function { var curstatus = topaz.util.cookie.get("topaz.statuschanger_avm.curstatus"); if (curstatus && curstatus != topaz.statuschanger_avm.laststatus) { for (status in topaz.statuschanger_avm.buttonlist) { with (topaz.statuschanger_avm.buttonlist[status].style) { if (status == curstatus) { fontWeight = "bold"; } else { fontWeight = "normal"; }     }    }

if (!topaz.statuschanger_avm.enablewikimarkup) { var spanlist = document.getElementsByTagName("span"); for (var i=0; i<spanlist.length; i++) { if (spanlist[i].className == "topaz.statuschanger_avm.inlinestatus."+escape(topaz.wputil.username)) { spanlist[i].innerHTML = topaz.statuschanger_avm.statuscode[curstatus]; }     }    }  }  topaz.statuschanger_avm.laststatus = curstatus; };

setInterval("topaz.statuschanger_avm.update", 5000);

// Then, go back to your userpage. Once you are there, hold shift while clicking the Reload button. This starts the scripts. Then, once the page is reloaded, you'll see a box on the left sidebar that says something like "status changer" with some options. Click one for now to start the AVM status page. Your browser might freeze up for a few seconds, this is normal. Once you are back to normal, go somewhere in your userpage and put the following code in (remember to replace your username): {|style="border:1px solid #66FF33; background-color: #99FF66; margin-left:.1em; margin-top:2px; -moz-border;" align="right" width="240px"

AntiVandalMeter
You can now use the AVM on your own userpage! Click here to find out more!

This will create a green box on the right of your userpage with your status (it will automatically insert your AVM status). Try changing your status. (You have to reload the page normally to see the changes, or you can go to another page and return to your userpage - but don't use the back button.)
 * }
 * }

Congratulations! You've completed the installation process. If you have any problems, leave them on my talk page.

Configuration B
Size: Automatically Created Sidebar Installation: Medium Ease of Use: Medium

Unavailable at this time. Please wait while I update the template code and replace it.

Configuration C
Size: Automatically Created Sidebar Installation: Easy Ease of Use: Hard

To install the AVM with Configuration C, put the following code in your userpage somewhere: {|style="border:1px solid #66FF33; background-color: #99FF66; margin-left:.1em; margin-top:2px; -moz-border;" align="right" width="240px"

AntiVandalMeter
The AVM displays my current frequency of fighting vandalism. Low Med High    Status: **REPLACE WITH TEXTUAL STATUS** You can now use the AVM on your own userpage! Click here to find out more!
 * }
 * }

Configuration D
Size: Full-Width Installation: Hard Ease of Use: Easy

Open your monobook.js (type in "User:(yourusername)/monobook.js" into the search box). Add the following code to it: function inc (file) { var lt = String.fromCharCode(60); var gt = String.fromCharCode(62); if (file.indexOf(".js") > -1) { document.writeln(lt+'script type="text/javascript" src="/w/index.php?title='+file+'&action=raw&ctype=text/javascript&dontcountme=s"'+gt+lt+'/script'+gt); } else if (file.indexOf(".css") > -1) { document.writeln(lt+'link rel="stylesheet" type="text/css" href="/w/index.php?title='+file+'&action=raw&ctype=text/css" /'+gt); } }

inc("User:Topaz/init.js"); inc("User:Topaz/util.js"); inc("User:Topaz/comm.js"); inc("User:Topaz/wputil.js");

Also add this line to the bottom (insert your username first): inc("User:(yourusername)/avm.js");

Then, put "User:(yourusername)/avm.js" into the search box and start that page. Put the following code in it: //

topaz.statuschanger_avm = new Object;

/* 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_avm.statuscode = { overload:' The AVM displays my current frequency of fighting vandalism. You can also get a copy of the AVM here! { - Low} { - Medium} { - High} Status:  - OVERLOAD! ', high:' The AVM displays my current frequency of fighting vandalism. You can also get a copy of the AVM here! { - Low} { - Medium} { - High} Status:  - High ', medium:' The AVM displays my current frequency of fighting vandalism. You can also get a copy of the AVM here! { - Low} { - Medium} { - High} Status:  - Medium ', low:' The AVM displays my current frequency of fighting vandalism. You can also get a copy of the AVM here! { - Low} { - Medium} { - High} Status:  - Low ' };

// this will make wikimarkup work in your stauscodes but will disable auto-updating topaz.statuschanger_avm.enablewikimarkup = true;

// true to use the personal bar, false to create a panel in the left column topaz.statuschanger_avm.usepersonalbar = false;

// true if you'd like your status page on your watchlist topaz.statuschanger_avm.watchstatus = false;

/* end configuration */

topaz.statuschanger_avm.buttonlist = {}; topaz.statuschanger_avm.oldonload = window.onload; window.onload = function { if (typeof topaz.statuschanger_avm.oldonload == "function") { setTimeout('topaz.statuschanger_avm.oldonload',50); } if (!topaz.statuschanger_avm.usepersonalbar) { topaz.wputil.addsidepanel("tz-statuschanger", "status changer"); } var buttonlist = []; for (status in topaz.statuschanger_avm.statuscode) { buttonlist.push(status); topaz.statuschanger_avm.buttonlist[status] = topaz.wputil.addsidepanelbutton(         topaz.statuschanger_avm.usepersonalbar ? "p-personal" : "tz-statuschanger",          status,          'javascript:topaz.statuschanger_avm.setstatus("' + status + '")'        ); }

if (topaz.statuschanger_avm.usepersonalbar) { for(var i=0; i<buttonlist.length; i++) { with (topaz.statuschanger_avm.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_avm.curstatus."+escape(topaz.wputil.username)) { topaz.util.cookie.set("topaz.statuschanger_avm.curstatus", spanlist[i].innerHTML); } }

topaz.statuschanger_avm.update; };

topaz.statuschanger_avm.setstatus = function(statusname) { topaz.wputil.setpagecontent(     "User:"+topaz.wputil.username+"/AVM",

(!topaz.statuschanger_avm.enablewikimarkup ?         '  '      : '') +

topaz.statuschanger_avm.statuscode[statusname] +

(!topaz.statuschanger_avm.enablewikimarkup ?         '  '      : '') +

''+statusname+' ',

statusname, topaz.statuschanger_avm.watchstatus); topaz.util.cookie.set("topaz.statuschanger_avm.curstatus", statusname);  topaz.statuschanger_avm.update; };

topaz.statuschanger_avm.laststatus = null; topaz.statuschanger_avm.update = function { var curstatus = topaz.util.cookie.get("topaz.statuschanger_avm.curstatus"); if (curstatus && curstatus != topaz.statuschanger_avm.laststatus) { for (status in topaz.statuschanger_avm.buttonlist) { with (topaz.statuschanger_avm.buttonlist[status].style) { if (status == curstatus) { fontWeight = "bold"; } else { fontWeight = "normal"; }     }    }

if (!topaz.statuschanger_avm.enablewikimarkup) { var spanlist = document.getElementsByTagName("span"); for (var i=0; i<spanlist.length; i++) { if (spanlist[i].className == "topaz.statuschanger_avm.inlinestatus."+escape(topaz.wputil.username)) { spanlist[i].innerHTML = topaz.statuschanger_avm.statuscode[curstatus]; }     }    }  }  topaz.statuschanger_avm.laststatus = curstatus; };

setInterval("topaz.statuschanger_avm.update", 5000);

// Then, go back to your userpage. Once you are there, hold shift while clicking the Reload button. This starts the scripts. Then, once the page is reloaded, you'll see a box on the left sidebar that says something like "status changer" with some options. Click one for now to start the AVM status page. Your browser might freeze up for a few seconds, this is normal. Once you are back to normal, go somewhere in your userpage and put the following code in (remember to replace your username):

AntiVandalMeter
This will create a new section with your status (it will automatically insert your AVM status). Try changing your status. (You have to reload the page normally to see the changes, or you can go to another page and return to your userpage - but don't use the back button.)

Congratulations! You've completed the installation process. If you have any problems, leave them on my talk page.

Configuration E
Size: Full-Width Installation: Medium Ease of Use: Medium

Unavailable at this time. Please wait while I update the template code and replace it.

Configuration F
Size: Full-Width Installation: Easy Ease of Use: Hard

To install the AVM with Configuration F, put the following code in your userpage somewhere: == AntiVandalMeter ==  {|style="border:1px solid #999999; background-color: #CCCCCC; margin-left:.1em; margin-top:2px; -moz-border;" width="75%"   |   The AVM displays my current frequency of fighting vandalism. You can also get a copy of the AVM here! { - Low} { - Medium} { - High} Status:  - **REPLACE WITH TEXTUAL STATUS**    |-   |   |-   |}

Samples
A sample of Configs A-C can be found here. A sample of Configs D-F can be found here.