j_imo / Robin Vote Counter

// ==UserScript==
// @name         Robin Vote Counter
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  count Robin votes with percentages
// @author       fucking_weebs and errant_semicolon
// @match        https://www.reddit.com/robin/*
// @grant        none
// @require http://code.jquery.com/jquery-latest.js
// ==/UserScript==
/* jshint -W097 */
'use strict';

var updateCounter = function() {
    var stay = 0,
        grow = 0,
        abandon = 0,
        novote = 0,
        sPct = 0,
        gPct = 0,
        aPct = 0,
        abPct = 0,
        total = 0;
        ;

        var percentages = function(n1,n2){
            p = (n1/n2) * 100
            return p;
        }

    $("#robinUserList .robin-room-participant").each(function(i) {
        var status = $(this).attr('class').match(/robin--vote-class--(.+)/)[1];
        if(status == "novote") {
            novote += 1;
            total +=1;
        } else if(status == "increase") {
            grow += 1;
            total +=1;
        } else if(status == "continue") {
            stay += 1;
            total +=1;
        } else if(status == "abandon") {
            abandon += 1;
            total +=1;
        }
        sPct = Math.round(percentages(stay,total));
        gPct = Math.round(percentages(grow,total));
        aPct = Math.round(percentages(abandon,total));
        abPct = Math.round(percentages(novote, total)); 
    });
    
    $("#robinVoteWidget #content").html('');
    $("#robinVoteWidget #content").append("<h3>Vote Counter<h3>");
    $("#robinVoteWidget #content").append("Grow: " + grow + " // <em> " + gPct + "%</em> " + "<br />");
    $("#robinVoteWidget #content").append("Abandon: " + abandon + " // <em> " + aPct + "%</em>" + "<br />");
    $("#robinVoteWidget #content").append("Stay: " + stay + " //<em> " + sPct + "%</em>" + "<br />");
    $("#robinVoteWidget #content").append("Abstaining: " + novote + " //<em> " + abPct + "%</em>" + "<br />");
    $("#robinVoteWidget #content").append("Total " + total + "<br />");
}

$(document).ready(function() {
    $("#robinVoteWidget").append("<div id='counter'></div>");
    $("#robinVoteWidget #counter").append("<div id='content'></div>");
    
    $("#robinVoteWidget #content").css("width", "150px");
    $("#robinVoteWidget #counter").append("<button>Refresh Counter</button>");

    $("#counter").css("margin", "0 auto");
    $("#counter").css("width", "300px");

    $("#content").css("float", "left");

    $("#counter button").css("margin", "0 auto");
    $("#counter button").css("float", "right");
    $("#counter button").css("width", "75px");
    $("#counter button").css("top", "0px");
    $("#counter").css("font-size", "13px");

    $("#counter button").click(updateCounter);
    
    updateCounter();
});