Greasy Fork

Greasy Fork is available in English.

MH King's Crowns+

Platinum Crowns, Locked Favorites, and More!

当前为 2019-04-14 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         MH King's Crowns+
// @author       Ben Loll - Warden Slayer#2302
// @namespace    http://greasyfork.icu/en/users/227259-wardenslayer
// @version      1.6.1
// @description  Platinum Crowns, Locked Favorites, and More!
// @include      https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js
// @include      http://www.mousehuntgame.com/*
// @include      https://www.mousehuntgame.com/*
// ==/UserScript==

$(document).ready(function() {
  var observer = new MutationObserver(callback);
  var observerOptions = {
    childList: true,
    attributes: false,
    subtree: false
  };
  observer.observe($("#tabbarContent_page_2").get(0), observerOptions);
});

function callback(mutationList, observer) {
  mutationList.forEach(mutation => {
    switch (mutation.type) {
      case "childList":
        console.log("Mutation", localStorage.getItem("haltCode"));

        if (localStorage.getItem("haltCode") == "Y") {
          localStorage.setItem("haltCode", "N");
          break;
        }

        buildToolbar();

        if (localStorage.getItem("ShowAllCrowns") == "Y") {
          buildCrownHeaders();
          sortCrowns();
        }

        if (localStorage.getItem("ShowCommunityRanks") == "Y") {
          showCommunityRanks();
        }

        if (
          localStorage.getItem("Lock Favorites") == "Y" &&
          $(".favoriteCrownToggle.crownAction").length > 0
        ) {
          lockFavorites();
        } else {
          $(".crownheader.crownheadertop").css(
            "background",
            "url('https://image.flaticon.com/icons/svg/189/189671.svg') no-repeat left top"
          );
        }

        localStorage.setItem("haltCode", "Y");
        break;
    }
  });
}

function buildToolbar() {
  if ($(".toolBar").length > 0) return;
  var toolBar = document.createElement("div");
  toolBar.classList.add("toolBar");

  // Lock Favs CB
  var lockFavs = document.createElement("input");
  lockFavs.type = "checkbox";
  lockFavs.name = "lockFavs";
  lockFavs.value = "";
  lockFavs.id = "lockFavs";
  if (localStorage.getItem("LockFavs") == "Y") {
    lockFavs.checked = "Yes";
  } else {
    lockFavs.checked = "";
  }

  var lockFavsLabel = document.createElement("label");
  lockFavsLabel.htmlFor = "lockFavsLabel";
  lockFavsLabel.appendChild(document.createTextNode("Lock Favorites"));
  if ($(".favoriteCrownToggle.crownAction").length > 0) {
    toolBar.appendChild(lockFavs);
    toolBar.appendChild(lockFavsLabel);
  }

  // All Crowns CB
  var showAllCrowns = document.createElement("input");
  showAllCrowns.type = "checkbox";
  showAllCrowns.name = "showAllCrowns";
  showAllCrowns.value = "";
  showAllCrowns.id = "showAllCrowns";
  showAllCrowns.checked = "";
  if (localStorage.getItem("ShowAllCrowns") == "Y") {
    showAllCrowns.checked = "Yes";
  } else {
    showAllCrowns.checked = "";
  }

  var showAllCrownsLabel = document.createElement("label");
  showAllCrownsLabel.htmlFor = "showAllCrownsLabel";
  showAllCrownsLabel.appendChild(
    document.createTextNode("Show Community Crowns")
  );
  toolBar.appendChild(showAllCrowns);
  toolBar.appendChild(showAllCrownsLabel);

  // Community Ranks CB
  var communityRanks = document.createElement("input");
  communityRanks.type = "checkbox";
  communityRanks.name = "communityRanks";
  communityRanks.value = "";
  communityRanks.id = "communityRanks";
  communityRanks.checked = "";
  if (localStorage.getItem("ShowCommunityRanks") == "Y") {
    communityRanks.checked = "Yes";
  } else {
    communityRanks.checked = "";
  }

  var communityRanksLabel = document.createElement("label");
  communityRanksLabel.htmlFor = "communityRanksLabel";
  communityRanksLabel.appendChild(
    document.createTextNode("Show Community Ranks")
  );
  toolBar.appendChild(communityRanks);
  toolBar.appendChild(communityRanksLabel);

  // Last
  var crownBreak = $(".crownbreak").first();
  if ($(".crownheader.crownheadertop").length < 1) {
    var header = $(".crownbreak")
      .last()
      .clone();
    header.insertBefore($(".crownheader.crownheadergold"));
    crownBreak = $(header);
  }
  crownBreak.append(toolBar);
  $(".toolBar").css({ float: "right" });
}

/********** Lock Favs **********/
$(document).on("change", "#lockFavs", function() {
  if (
    window.location.href.includes("profile.php") &&
    $("#tabbarContent_page_2").hasClass("active")
  ) {
    // Check to see if the cb was JUST checked
    if (this.checked) {
      // Put the checked value into storage
      localStorage.setItem("LockFavs", "Y");
      lockFavs.checked = "Yes";
      lockFavorites();
    } else {
      // Put the checked value into storage
      localStorage.setItem("LockFavs", "N");
      lockFavs.checked = "";
      unlockFavorites();
    }
  }
});

function lockFavorites() {
  localStorage.setItem("Lock Favorites", "Y");
  if ($(".mousebox.favorite").length < 0) {
    localStorage.setItem("LockFavs", "N");
    lockFavs.checked = "";
    return;
  }
  var allMice = $(".favoriteCrownToggle.crownAction");
  allMice.css("pointer-events", "none");
  $(".nocrowns.crownAction").css("pointer-events", "none");
  $(".crownheader.crownheadertop").css(
    "background",
    "url('https://image.flaticon.com/icons/svg/204/204310.svg') no-repeat left top"
  );
}

function unlockFavorites() {
  localStorage.setItem("Lock Favorites", "N");
  var allMice = $(".favoriteCrownToggle.crownAction");
  allMice.css("pointer-events", "auto");
  $(".nocrowns.crownAction").css("pointer-events", "auto");
  $(".crownheader.crownheadertop").css(
    "background",
    "url('https://image.flaticon.com/icons/svg/189/189671.svg') no-repeat left top"
  );
}

/********** Crowns **********/
$(document).on("change", "#showAllCrowns", function() {
  if (
    window.location.href.includes("profile.php") &&
    $("#tabbarContent_page_2").hasClass("active")
  ) {
    // Check to see if the cb was JUST checked
    if (this.checked) {
      // Put the checked value into storage
      localStorage.setItem("ShowAllCrowns", "Y");
      showAllCrowns.checked = "Yes";
      buildCrownHeaders();
      sortCrowns();
    } else {
      // Put the checked value into storage
      localStorage.setItem("ShowAllCrowns", "N");
      showAllCrowns.checked = "";
      hideCrowns();
    }
  }
});

function buildCrownHeaders() {
  var crownBreak = $(".crownbreak").first();
  var spacer1 = $(".crownbreak")
    .last()
    .clone()
    .attr("id", "spacer1");
  var spacer2 = spacer1.clone().attr("id", "spacer2");
  var spacer3 = spacer1.clone().attr("id", "spacer3");
  var platinumHeader = $(
    "<div class='crownheader crownheaderplatinum'>Platinum Crowns <span class='crownquantity'></span> <div class='crownnote'>Earned at 1000 catches</div></div>"
  );
  var diamondHeader = $(
    "<div class='crownheader crownheaderdiamond'>Diamond Crowns <span class='crownquantity'></span> <div class='crownnote'>Earned at 2500 catches</div></div>"
  );
  var masterHeader = $(
    "<div class='crownheader crownheadermaster'>Master Crowns <span class='crownquantity'></span> <div class='crownnote'>Earned at 5000 catches</div></div>"
  );

  // TODO: Add Larry Later <10

  // Plat
  var allMice = $(".mousebox");
  var allGold = allMice.find(".numcatches.gold");
  if (
    allGold.filter(function(index) {
      if ($(this).text() >= 1000) {
        return true;
      } else {
        return false;
      }
    }).length > 0 &&
    $(".crownheader.crownheaderplatinum").length < 1
  ) {
    platinumHeader.insertAfter(crownBreak);
    spacer3.insertAfter(platinumHeader);
  }

  // Diamond
  if (
    allGold.filter(function(index) {
      if ($(this).text() >= 2500) {
        return true;
      } else {
        return false;
      }
    }).length > 0 &&
    $(".crownheader.crownheaderdiamond").length < 1
  ) {
    diamondHeader.insertAfter(crownBreak);
    spacer1.insertAfter(diamondHeader);
  }

  // Master
  if (
    allGold.filter(function(index) {
      if ($(this).text() >= 5000) {
        return true;
      } else {
        return false;
      }
    }).length > 0 &&
    $(".crownheader.crownheadermaster").length < 1
  ) {
    masterHeader.insertAfter(crownBreak);
    spacer2.insertAfter(masterHeader);
  }
}

function sortCrowns() {
  var boolean = false;

  // Platinum
  if ($(".crownheader.crownheaderplatinum").length > 0) {
    sortPlatinum();
    boolean = true;
  }

  // Diamond
  if ($(".crownheader.crownheaderdiamond").length > 0) {
    sortDiamond();
    boolean = true;
  }

  // Master
  if ($(".crownheader.crownheadermaster").length > 0) {
    sortMaster();
    boolean = true;
  }

  // Favorites
  if ($(".crownheader.crownheadertop").length > 0) {
    sortFavotitesAfterSort();
  }

  if (boolean == true) {
    if ($(".mousebox").find(".numcatches.diamond").length < 1) {
      $(".crownheader.crownheaderdiamond").remove();
    } else if ($(".mousebox").find(".numcatches.plat").length < 1) {
      $(".crownheader.crownheaderplatinum").remove();
    } else if ($(".mousebox").find(".numcatches.gold").length < 1) {
      $(".crownheader.crownheadergold").remove();
    }
  }

  if ($(".crownheader.crownheadercommunity").length > 0) {
    var crownBreak = $(".crownbreak").first();
    $(".crownheader.crownheadercommunity").insertAfter(crownBreak);
    $("#spacer4").insertAfter($(".crownheader.crownheadercommunity"));
    $(".rank.summary").insertAfter($(".crownheader.crownheadercommunity"));
  }
}

function sortPlatinum() {
  var allMice = $(".mousebox");
  var allGold = allMice.find(".numcatches.gold");
  var allPlatinum = allGold.filter(function(index) {
    if ($(this).text() >= 1000 && $(".mousebox").length > 0) {
      return true;
    } else {
      return false;
    }
  });

  if ($(".favoriteCrownToggle.crownAction").length > 0) {
    allPlatinum = allPlatinum
      .parent()
      .parent()
      .not(".mousebox.favorite")
      .parent();
  } else {
    allPlatinum = allPlatinum
      .parent()
      .parent()
      .not(".mousebox.favorite");
  }

  var platinumHeader = $(".crownheader.crownheaderplatinum");
  var goldHeader = $(".crownheader.crownheadergold");
  allPlatinum.insertAfter(platinumHeader);
  allPlatinum
    .find(".numcatches.gold")
    .removeClass("numcatches gold")
    .addClass("numcatches plat");
  localStorage.setItem("PlatCrownCount", allPlatinum.length);
  var goldQuantity = goldHeader
    .find(".crownquantity")
    .text()
    .replace(/[{()}]/g, "");
  goldHeader
    .find(".crownquantity")
    .text(
      "(" +
        (parseInt(goldQuantity, 10) - localStorage.getItem("PlatCrownCount")) +
        ")"
    );
  platinumHeader
    .find(".crownquantity")
    .text("(" + localStorage.getItem("PlatCrownCount") + ")");
  platinumHeader.css("background", platinumCrown + "no-repeat left top");
  $(".numcatches.plat").css(
    "background",
    platinumCrown + "no-repeat right top"
  );
}

function sortDiamond() {
  var allMice = $(".mousebox");
  var allPlat = allMice.find(".numcatches.plat");
  var allDiamond = allPlat.filter(function(index) {
    if ($(this).text() >= 2500 && $(".mousebox").length > 0) {
      return true;
    } else {
      return false;
    }
  });

  if ($(".favoriteCrownToggle.crownAction").length > 0) {
    allDiamond = allDiamond
      .parent()
      .parent()
      .not(".mousebox.favorite")
      .parent();
  } else {
    allDiamond = allDiamond
      .parent()
      .parent()
      .not(".mousebox.favorite");
  }

  var diamondHeader = $(".crownheader.crownheaderdiamond");
  var platinumHeader = $(".crownheader.crownheaderplatinum");
  allDiamond.insertAfter(diamondHeader);
  allDiamond
    .find(".numcatches.plat")
    .removeClass("numcatches plat")
    .addClass("numcatches diamond");
  localStorage.setItem("DiamondCrownCount", allDiamond.length);
  localStorage.setItem(
    "PlatCrownCount",
    parseInt(localStorage.getItem("PlatCrownCount"), 10) - allDiamond.length
  );
  platinumHeader
    .find(".crownquantity")
    .text("(" + parseInt(localStorage.getItem("PlatCrownCount"), 10) + ")");
  diamondHeader
    .find(".crownquantity")
    .text("(" + parseInt(localStorage.getItem("DiamondCrownCount"), 10) + ")");
  diamondHeader.css("background", diamondCrown + "no-repeat left top");
  $(".numcatches.diamond").css(
    "background",
    diamondCrown + "no-repeat right top"
  );
}

function sortMaster() {
  var allMice = $(".mousebox");
  var allDiamond = allMice.find(".numcatches.diamond");
  var allMaster = allDiamond.filter(function(index) {
    if ($(this).text() >= 5000 && $(".mousebox").length > 0) {
      return true;
    } else {
      return false;
    }
  });

  if ($(".favoriteCrownToggle.crownAction").length > 0) {
    allMaster = allMaster
      .parent()
      .parent()
      .not(".mousebox.favorite")
      .parent();
  } else {
    allMaster = allMaster
      .parent()
      .parent()
      .not(".mousebox.favorite");
  }

  var masterHeader = $(".crownheader.crownheadermaster");
  var diamondHeader = $(".crownheader.crownheaderdiamond");
  allMaster.insertAfter(masterHeader);
  allMaster
    .find(".numcatches.diamond")
    .removeClass("numcatches diamond")
    .addClass("numcatches master");
  localStorage.setItem("MasterCrownCount", allMaster.length);
  localStorage.setItem(
    "DiamondCrownCount",
    parseInt(localStorage.getItem("DiamondCrownCount"), 10) - allMaster.length
  );
  diamondHeader
    .find(".crownquantity")
    .text("(" + parseInt(localStorage.getItem("DiamondCrownCount"), 10) + ")");
  masterHeader
    .find(".crownquantity")
    .text("(" + parseInt(localStorage.getItem("MasterCrownCount"), 10) + ")");
  masterHeader.css("background", masterCrown + "no-repeat left top");
  $(".numcatches.master").css(
    "background",
    masterCrown + "no-repeat right top"
  );
}

function sortFavotitesAfterSort() {
  var topHeader = $(".crownheader.crownheadertop");
  var allMice = $(".mousebox.favorite");
  var allFavorites = allMice.find(".numcatches.gold");
  var nonFavs = $(".mousebox").not(".mousebox favorite");
  var goldHeader = $(".crownheader.crownheadergold");
  var platinumHeader = $(".crownheader.crownheaderplatinum");
  var diamondHeader = $(".crownheader.crownheaderdiamond");
  var masterHeader = $(".crownheader.crownheadermaster");
  var seen = {};

  allFavorites.each(function() {
    var txt = $(this).text();
    if (seen[txt]) {
      //move  fav to new crown class
      if (txt >= 5000) {
        if ($(".favoriteCrownToggle.crownAction").length > 0) {
          $(this)
            .parent()
            .parent()
            .parent()
            .insertAfter(masterHeader);
        } else {
          $(this)
            .parent()
            .parent()
            .insertAfter(masterHeader);
        }
        $(this)
          .removeClass("numcatches gold")
          .addClass("numcatches master");
        localStorage.setItem(
          "MasterCrownCount",
          parseInt(localStorage.getItem("MasterCrownCount"), 10) + 1
        );
        var goldQuantity = goldHeader
          .find(".crownquantity")
          .text()
          .replace(/[{()}]/g, "");
        goldHeader
          .find(".crownquantity")
          .text("(" + (parseInt(goldQuantity, 10) - 1) + ")");
        masterHeader
          .find(".crownquantity")
          .text("(" + localStorage.getItem("MasterCrownCount") + ")");
        $(".numcatches.master").css(
          "background",
          masterCrown + "no-repeat right top"
        );
        var masterResult = filterOutTopFavs(
          $(".numcatches.master")
            .parent()
            .find(".name")
        );
        masterResult = masterResult.parent().find(".numcatches.master");
        var masterArray = sortAcsending(masterResult);
        masterArray.every(function(cell) {
          if ($(".favoriteCrownToggle.crownAction").length > 0) {
            $(cell)
              .parent()
              .parent()
              .parent()
              .detach()
              .insertAfter(masterHeader);
          } else {
            $(cell)
              .parent()
              .parent()
              .detach()
              .insertAfter(masterHeader);
          }
          return true;
        });
      } else if (txt >= 2500) {
        if ($(".favoriteCrownToggle.crownAction").length > 0) {
          $(this)
            .parent()
            .parent()
            .parent()
            .insertAfter(diamondHeader);
        } else {
          $(this)
            .parent()
            .parent()
            .insertAfter(diamondHeader);
        }
        $(this)
          .removeClass("numcatches gold")
          .addClass("numcatches diamond");
        localStorage.setItem(
          "DiamondCrownCount",
          parseInt(localStorage.getItem("DiamondCrownCount"), 10) + 1
        );
        var goldQuantity = goldHeader
          .find(".crownquantity")
          .text()
          .replace(/[{()}]/g, "");
        goldHeader
          .find(".crownquantity")
          .text("(" + (parseInt(goldQuantity, 10) - 1) + ")");
        diamondHeader
          .find(".crownquantity")
          .text("(" + localStorage.getItem("DiamondCrownCount") + ")");
        $(".numcatches.diamond").css(
          "background",
          diamondCrown + "no-repeat right top"
        );
        var diamondResult = filterOutTopFavs(
          $(".numcatches.diamond")
            .parent()
            .find(".name")
        );
        diamondResult = diamondResult.parent().find(".numcatches.diamond");
        var diamondArray = sortAcsending(diamondResult);
        diamondArray.every(function(cell) {
          if ($(".favoriteCrownToggle.crownAction").length > 0) {
            $(cell)
              .parent()
              .parent()
              .parent()
              .detach()
              .insertAfter(diamondHeader);
          } else {
            $(cell)
              .parent()
              .parent()
              .detach()
              .insertAfter(diamondHeader);
          }
          return true;
        });
      } else if (txt >= 1000) {
        if ($(".favoriteCrownToggle.crownAction").length > 0) {
          $(this)
            .parent()
            .parent()
            .parent()
            .insertAfter(platinumHeader);
        } else {
          $(this)
            .parent()
            .parent()
            .insertAfter(platinumHeader);
        }
        $(this)
          .removeClass("numcatches gold")
          .addClass("numcatches plat");
        localStorage.setItem(
          "PlatCrownCount",
          parseInt(localStorage.getItem("PlatCrownCount"), 10) + 1
        );
        var goldQuantity = goldHeader
          .find(".crownquantity")
          .text()
          .replace(/[{()}]/g, "");
        goldHeader
          .find(".crownquantity")
          .text("(" + (parseInt(goldQuantity, 10) - 1) + ")");
        platinumHeader
          .find(".crownquantity")
          .text("(" + localStorage.getItem("PlatCrownCount") + ")");
        $(".numcatches.plat").css(
          "background",
          platinumCrown + "no-repeat right top"
        );
        var platResult = filterOutTopFavs(
          $(".numcatches.plat")
            .parent()
            .find(".name")
        );
        platResult = platResult.parent().find(".numcatches.plat");
        var platArray = sortAcsending(platResult);
        platArray.every(function(cell) {
          if ($(".favoriteCrownToggle.crownAction").length > 0) {
            $(cell)
              .parent()
              .parent()
              .parent()
              .detach()
              .insertAfter(platinumHeader);
          } else {
            $(cell)
              .parent()
              .parent()
              .detach()
              .insertAfter(platinumHeader);
          }
          return true;
        });
      }
    } else {
      // Change top fav to new crown class only
      if (txt >= 5000) {
        $(this)
          .removeClass("numcatches gold")
          .addClass("numcatches master");
        $(".numcatches.master").css(
          "background",
          masterCrown + "no-repeat right top"
        );
      } else if (txt >= 2500) {
        $(this)
          .removeClass("numcatches gold")
          .addClass("numcatches diamond");
        $(".numcatches.diamond").css(
          "background",
          diamondCrown + "no-repeat right top"
        );
      } else if (txt >= 1000) {
        $(this)
          .removeClass("numcatches gold")
          .addClass("numcatches plat");
        $(".numcatches.plat").css(
          "background",
          platinumCrown + "no-repeat right top"
        );
      }
      seen[txt] = true;
    }
  });
}

/********** Hide **********/
function hideCrowns() {
  var allMice = $(".mousebox");
  var allPlat = allMice.find(".numcatches.plat");
  var allDiamond = allMice.find(".numcatches.diamond");
  var allMaster = allMice.find(".numcatches.master");
  var goldHeader = $(".crownheader.crownheadergold");
  var platinumHeader = $(".crownheader.crownheaderplatinum");
  var diamondHeader = $(".crownheader.crownheaderdiamond");
  var masterHeader = $(".crownheader.crownheadermaster");
  removeTheseCrowns(allMaster);
  removeTheseCrowns(allDiamond);
  removeTheseCrowns(allPlat);
  allPlat.removeClass("numcatches plat").addClass("numcatches gold");
  allDiamond.removeClass("numcatches diamond").addClass("numcatches gold");
  allMaster.removeClass("numcatches master").addClass("numcatches gold");
  var result = filterOutTopFavs(
    $(".numcatches.gold")
      .parent()
      .find(".name")
  );
  result = result.parent().find(".numcatches.gold");
  var array = sortAcsending(result);
  array.every(function(cell) {
    if ($(".favoriteCrownToggle.crownAction").length > 0) {
      $(cell)
        .parent()
        .parent()
        .parent()
        .detach()
        .insertAfter(goldHeader);
    } else {
      $(cell)
        .parent()
        .parent()
        .detach()
        .insertAfter(goldHeader);
    }
    return true;
  });
  $(".numcatches.gold").css(
    "background",
    "url('https://www.mousehuntgame.com/images/ui/badges/gold.png') no-repeat right top"
  );
  goldHeader.find(".crownquantity").text("(" + result.length + ")");
  $(".crownheader.crownheaderplatinum").remove();
  $(".crownheader.crownheaderdiamond").remove();
  $(".crownheader.crownheadermaster").remove();
  $("#spacer1").remove();
  $("#spacer2").remove();
  $("#spacer3").remove();
}

function removeTheseCrowns(elements) {
  var goldHeader = $(".crownheader.crownheadergold");
  var crown = elements.attr("class");
  if (crown == "numcatches plat") {
    crown = ".numcatches.plat";
  } else if (crown == "numcatches diamond") {
    crown = ".numcatches.diamond";
  } else if (crown == "numcatches master") {
    crown = ".numcatches.master";
  }
  var result = filterOutTopFavs(elements.parent().find(".name"));
  result = result.parent().find(crown);
  if ($(".favoriteCrownToggle.crownAction").length > 0) {
    result
      .parent()
      .parent()
      .parent()
      .detach()
      .insertAfter(goldHeader);
  } else {
    result
      .parent()
      .parent()
      .detach()
      .insertAfter(goldHeader);
  }
}

function filterOutTopFavs(elements) {
  var seen = {};
  var result = elements.filter(function() {
    var txt = $(this).siblings().last().text();
    if (seen[txt]) {
      return true;
    } else {
      seen[txt] = true;
      if (
        $(this)
          .parent()
          .parent()
          .hasClass("mousebox favorite")
      ) {
        return false;
      } else {
        return true;
      }
    }
  });
  return result;
}

function sortAcsending(result) {
  var array = result.toArray();
  array = array.sort(function(a, b) {
    a = parseInt($(a).text(), 10);
    b = parseInt($(b).text(), 10);
    return a - b;
  });
  return array;
}

/********** Community Ranks **********/
$(document).on("change", "#communityRanks", function() {
  if (
    window.location.href.includes("profile.php") &&
    $("#tabbarContent_page_2").hasClass("active")
  ) {
    // Check to see if the cb was JUST checked
    if (this.checked) {
      // Put the checked value into storage
      localStorage.setItem("ShowCommunityRanks", "Y");
      communityRanks.checked = "Yes";
      showCommunityRanks();
    } else {
      // Put the checked value into storage
      localStorage.setItem("ShowCommunityRanks", "N");
      communityRanks.checked = "";
      hideCommunityRanks();
    }
  }
});

function showCommunityRanks() {
  var totalMice = 958;
  if ($(".crownheader.crownheadercommunity").length > 0) {
    return;
  }
  var crownBreak = $(".crownbreak").first();
  var spacer4 = $(".crownbreak")
    .last()
    .clone()
    .attr("id", "spacer4");
  var communityCrownHeader = $(
    "<div class='crownheader crownheadercommunity'>Community Ranks <div class='crownnote'>Set by the MH Community Groups</div></div>"
  );
  communityCrownHeader.css(
    "background",
    "url('https://image.flaticon.com/icons/svg/478/478941.svg') no-repeat left top"
  );
  communityCrownHeader.insertAfter(crownBreak);
  spacer4.insertAfter(communityCrownHeader);
  var allMice = $(".mousebox");
  var allBronze = allMice.find(
    ".numcatches.bronze,.numcatches.silver,.numcatches.gold,.numcatches.plat,.numcatches.diamond,.numcatches.master"
  );
    console.log(allBronze)
  allBronze = filterOutTopFavs(allBronze);
     console.log(allBronze)
  var allSilver = allMice.find(
    ".numcatches.silver,.numcatches.gold,.numcatches.plat,.numcatches.diamond,.numcatches.master"
  );
  allSilver = filterOutTopFavs(allSilver);
  var allGold = allMice.find(
    ".numcatches.gold,.numcatches.plat,.numcatches.diamond,.numcatches.master"
  );
  allGold = filterOutTopFavs(allGold);
  var bronzeHeader = $(".crownheader.crownheaderbronze");
  var silverHeader = $(".crownheader.crownheadersilver");
  var goldHeader = $(".crownheader.crownheadergold");
  var bronzeCrowns = allBronze.length;
  var silverCrowns = allSilver.length;
  var goldCrowns = allGold.length;
  var rankSummary = $(
    "<div class='rank summary' style='font-size: 14px'></div>"
  );
  rankSummary.insertAfter(communityCrownHeader);
  var goldtext =
    goldCrowns + " or " + ((goldCrowns / totalMice) * 100).toFixed(2) + "%";
  var rankText =
    "Bronze Crowns: " +
    getRankBronze(bronzeCrowns) +
    " | Silver Crowns: " +
    getRankSilver(silverCrowns) +
    " | Gold Crowns: " +
    goldtext;
  rankSummary.text(rankText);
}

function getRankBronze(crowns) {
  var totalMice = 958;
  var crownPrecent = ((crowns / totalMice) * 100).toFixed(2) + "%";
  var rank = "";
console.log(crowns,crownPrecent)
  if (crowns >= 958) {
    rank = "Hepatizon";
  } else if (crowns >= 949) {
    rank = "Electrum";
  } else if (crowns >= 939) {
    rank = "Palladium";
  } else if (crowns >= 911) {
    rank = "Cobalt";
  } else if (crowns >= 863) {
    rank = "Bronze (full)";
  } else if (crowns >= 815) {
    rank = "Titanium";
  } else if (crowns >= 767) {
    rank = "Pewter";
  } else if (crowns >= 719) {
    rank = "Brass";
  } else if (crowns >= 671) {
    rank = "Copper";
  } else if (crowns >= 623) {
    rank = "Tin";
  } else {
    rank = "Rust";
  }

  return rank + " (" + crowns + " or " + crownPrecent + ")";
}

function getRankSilver(crowns) {
  var totalMice = 958;
  var crownPrecent = ((crowns / totalMice) * 100).toFixed(2) + "%";
  var rank = "";

  if (crowns >= 859) {
    rank = "Super Secret Squirrel";
  } else if (crowns >= 811) {
    rank = "Grizzled Squirrel";
  } else if (crowns >= 764) {
    rank = "Flying Squirrel";
  } else if (crowns >= 716) {
    rank = "Chinchilla";
  } else if (crowns >= 668) {
    rank = "Meerkat";
  } else if (crowns >= 620) {
    rank = "Ferret";
  } else if (crowns >= 573) {
    rank = "Prairie Dog";
  } else if (crowns >= 525) {
    rank = "Marmot";
  } else if (crowns >= 477) {
    rank = "Woodchuck";
  } else if (crowns >= 429) {
    rank = "Wombat";
  } else if (crowns >= 382) {
    rank = "Pine Marten";
  } else if (crowns >= 334) {
    rank = "Chipmunk";
  } else if (crowns >= 286) {
    rank = "Bandicoot";
  } else {
    rank = "Weasel";
  }

  return rank + " (" + crowns + " or " + crownPrecent + ")";
}

function hideCommunityRanks() {
  if ($(".crownheader.crownheadercommunity").length > 0) {
    $(".crownheader.crownheadercommunity").remove();
    $("#spacer4").remove();
    $(".rank.summary").remove();
  }
}

// TODO: Larry?

// Base64 image assets
var platinumCrown =
  "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB90HAhAqFWTNOnkAAAkeSURBVEjHxZZ9cFTVGcZ/5967n0l2swlJNh+bLxIDGED5UoQ4wIiDdSzOgGOLlWrpDNXWoY7TdiwBBFodtU6xTsRSPyrt2MEitSo0QZAEggEKhhg+DJCQBFiym80mm2Sz2Xt37+kfIELRaZn+0fPXmXnOvM857/u853kFN7gW3n33bxctXFhZUFyMEIK+3t6cPbt376nZvHnFjcTRbpRYSjlt4UMPzVZVFSklFouFTxsbxwM3RKzcyOGNL7wgR0ZGMleuWEEoGKQvEGDDunXsamzUNtfUyBuJJf6bQ72BgCIlt/u7Ovfn+nwc2ruX4ptuQgjB2bY2Jk6dimqxoFmtswQc8Oblmf8LsRMgGAgAPI2US1sOHSqcOHUqhmFgmiZSSlRVRdM0gn4/2fn53QixWcBz3rw8eTl+DJD/idg5Z+bMxfOrqpYdbG4e1x+J2KdOmmSdcdtt9psnT6a1uRm3x8Pw4CDZXi8A/u5uhKriTk+nqKyMky0tHG1uHqqrrx+wWSyicty446fPnt1R39T0F6D3OuLy4uLx66qrtzocjrEHGhvV/UeODGR4PJ5kIqF6s7Nx2GyUFBVxqqODtvZ2VldXY7HZ2PjKKwRCIe5bsIDAxYsEw2FC4TBCCKOtvb29YuxYy6KFC8cMhMMdGzZt+tmZrq7dV4gVIYrfrqn5ICM7e+La9ev3rFlVvWn6rNk1QIaiKPT19rLlrbdoPHSIaZMmMXvePBwOBwB2p5Nfr19PustFusvFsscew1tQcPlZIny+q2vJzKqqWS+uWvVIXmHh8MPLly/VDeOwAJwb1q6tnTx9+uxHly/fduDgwUeAJkWISgBVVRFCIFSVvkCAZ9esJScrk6q77kJVVQ43NXHwyBFWVldTUl6OlBLTvEpbQhwTQszMLyhY9vuXXloRj8UiK1atukebM3Pmwhl33jnp+eeeO+ZKT18iYZWQshJxve7GeL38puYVDjU2Mn3WLCw2G6GeHu5bvBhvXt43NX6lCb84d+7cmtLS0sl7d+16dNmDDy5TFt177139fX1uRVFer6urm4aUS4X4ZrGbpondbsfmcGCxWBBCIKW8+oP5OvLvS9OsGo3HX/ho69aTRT7fTM00zem7amv7/15X996rUj6LlAVDg4P0BgLUvbuLbn8XFeXjWPDAfArLytCsVhwpKVdKkOZ2o2mXPsAev58D9fU07NvH2KIiZs+bh6+kBLfHUwD8BPjuttrazo01NV5Ns1pTm48fHzKljAC31dfWKn/cvJnYqVwwLEg1wZnG4/xt11ZunzKFxUuWEI/FLtVdCDRNo621lTdqatjT1IRpmtjMFE6e6eD9nTuxW6185/77xaKlS6cBCVVVQ0nDKNfyfb7WvOzsqYDz9ZdfLtmypY7M6ESEqSA1HanFEHoqVv9N7I83s/OTT1n28ANUzZ+PEIKBcJjqdesYYy8gZaQUZTQNxbReyrBIkHD28/o773Cmq6sAsCQSicz9e/YElD+88cbGabfc4rDbbIu3b2mxuJVcJBKBiqnFkYoJShJT1XEEx+MZrUDTNAzDuFJPp9OJJZqFojtJOiLoLj8JRxghNdRYOpmRKRzY3a4pQsydPnlycevJk7XKjk8+OeRISTk1JiNjhRpPFZZILnpKL8NZJxjJPEPCGsW0xBCmBqYg6jrLwMAAPefPE+zpIRwMYhkeg6noGClBLNEsTCkxMRnOOIliWkAqpMQKqHDN/HOJzyf+un372yoQy/Z4wlkpucsiFxQtmvc5rmyFb98zl8qKCjJybHSdimCJu9BtEWLWHtwuFz1dXZxsaeHzEyfwBwLYhvIQUiXs+Yxpt5dxx5wKJk8uJ5keoLPvNBbdRUa2w+Ef7NhwurNzuwLw1rvvflTkLfpCVVSGhobQFIWfrl7Nk2vWMG3GDKKqH1Mk0XQnhmFQVlzMk2vW8MTKlRR4vYwmopgkIal9LW4YOqYpKb7Vcbi2oeFVAPXL9pw6ZdzeuBJ5nAs+MWF6FvFoFEPXWf3MM0wqm0QoOEya3YNMD9Ha1kZpQQHdHR18uGMHg8ODxJUIqaNFLFh0M+/v3HkNXpRbTDSgEHcEnjjd2Xn0Onf64f0/aD++L1K6reVlgj09KIpC0jDQdZ2fL3wTwxkibPuC97ZtJRQMkpWTgyczk+8tWsKg34I6msq3Fs1h0Y/mXoP/8vGnaT+YiDf0vOP40iKvmUAu+vs/RECkv5+0tDTcHg95hYW0HT2Lrgxd8eDc/HwKS0sBGIpE6I0ESSaSYKr0BQauw090tyJ0m+1qX75m5jrm/2driTmfza+9xoTKSsZ4vUgpGRkeBiDF9NInT3DqxAm62tsBONjUhK4n8IwWkxQ6+qh+Dd7e1nalr79p5hJ9/f1loyLCP+oOkOvzoWkaz7/4Ip+1NmI103CNuXTPX61bh2maFJeVcaS1FWPwcmDNILsidg1e19BA0D+MIePRqzT11QbIKrFO/5NbzbHqakSOhCNCqAZ6PE59w1FQDWLDJjEZITcvg2Kfj8NNTYQHBrAFyhFSRTGtfNrW8O+4tAXKRU/8tB7WL2wCRq4T15yMR6WaGjeRihKPx9ESqQAkhY4qv0rXxfQGEonEJZMYLeZC4hhlYi5xax92Ywxh4xx2uw23fqnOwqaTVhlc8cHHH//um2Yu95Y33zzoKympGAiHiQ4NMe2OOwCIRqPEYzHiMQMpTQYjYaSUDEYi5BcVkZKSgtVux+l0kkwmOd/ZSf1H+0jPtlE2btzgj596qqr7woXPr0t1YX5+jtPhWHfP/PmzhBC2SH8/Qb8fr89HmttNmsuFqmkkEjoujxu7w0FqWhpFY8dSPmEC7vR0LFYricvtZxgGkjgD/f1kZmVZWlpaHGUlJUc6z58fvEbVd86YYTvf05N+6MCBM7qu5wVDIWdpYaGtfscOW1ZuLvk+H6kuF1a7HV3XkVKSTCYJBYOEQyGGL3t4OBQiOjTE6OiofvbcOX0oGo11nTsXyPN608aVlrrqm5q+fq4WUGi1Wm8Fxhfl51tsNlt2fk6OZrPZpKqqyYz0dNPjdqdYNU1omqYmEgl1YHBwKNDXl9B1XQNE14ULGIbR09HdbSqK0haPxz9LmmYnkOD/vf4FRX42catvSzYAAAAASUVORK5CYII=')";
var diamondCrown =
  "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAAB3RJTUUH4wQMEyEtNHKOSwAAB3lJREFUSMftlltsHHcZxc9/LjszOzN7X3t3fVnbcWIndhIHHKckqZIWArmoTYKggCVaUAAJgcQDIlJBoqJCkShI3Aoo6gNpJESrtmmbKFiBtiEiai5OGif1JSF2HF/X6714L7Mzs3P789AHhAQoRn0CzvP3fT8d6UjnA/7XRFa70NwcAUDhuhT9H22F63oAgD8Mja7qDrda8LFn98NxvBTj5Z50HLNOOfm3hKC0WjDzoIOt7SFs6ItjKbcc9ih1o2H1YEMsvNuoU2LZwdCFt76ETZvaP3zHLMtgfCSHvh92HY1Fom3lqr7seZb5UJN40jDdt3vWJn/m0bc/fDDDfBCHysqs4mP01qpODVHg2VqllKpoppiZz2E1kXlwxwxBpClCytrKj8s67wUV5SRLsGK4zFc0g2EkWQKl9IHBq0r1sed+ieu5AkJK4HBQKP+OZ13z3gL71PYvHDlzdGcnbNv6T8AU+byB0XGd4UWJbt/qpzAAOU6g10D27u+U1nQ0ibEgEWjTgeOeGHvMx3nQs5m3Ft577UgoHqjOzGbN02/cNtUAaKX8gfuXTy2RjrRE5ucr3qcPtf4d/MLJIVhmnStUJvtCsrMP1GgjMCnh4nmPMlctbV6LhISPBwOBbQSuyjJu6WaG6Rstd0Y8x0KrO7Kyszc8wnJ8kIIpabXau8Wy/Q7lGyME9lbi5uNg/AB804ajDnWm+0dsz3PJ1792mE107fhGgzT1tKUtJjynBpYFeJ9AiS/pRhs2W2HV9Zu1uaJHpZ8IQuzMsqk/e/du5rBWtbCuU321t2PdD0wje5BQ/dvgGsMlja+tFN4XHH2Otep14roAw/khKMmlot11LCpWf83J7XsGOxpmv0+MUpSLSWBZnlJqVym1LTkUD8uBsB/WKCyrcvyZ48rzk9lg/Y1fSbcYG4c9F2huk8d27vrr3d2Dvb84+pnrgYDIHo2EumU/F3KqK7N5AllkWJ/iOCyxrUpCVZeeGV1Ml9kjRw78tC1e74nHVfA+3irpib9cHov9MbsSupFMrNmgKj5pOVfynj9R9JeLhSdT4fygKPrW+/laU92q4/JwNli19UHq6V+ey8jtG7vDSZ/PT3IrYuHCDZwoofdWe0tKTzX6UrFYhJMEwc8L/jBnaJlNFSYLwhOcveB416ZjG6rZxY+F/QazubvIm7KJ23fuMdP3K/2sPwCN+LFY0JEM6vAA5PLVLabpwK3yuD6cw0CXgk0be1GplKNXR4xvWVzJvTqeWHlkI+/u6K2gWjZRLZt9nGHW3ZnCBCxpLa5me0W9XhJts4yKC2imCoZV0NbqQ6IljoraC1aNojFdR0BdgEtZRMMUrjUHJpREOMIhEacgbBCVmsvYgbSPSjHMLy1Kr8/kEJMorOoEdL7PYXghcCnW2IF0KgWZNWAuTcJzLLisjJVSBTVTRUt6C/Z/sgU+uwalNo3ulB/xeBrRaBu616+Hj6cArWPfJ5JItfRBM1SslDVQOQrqGKgvTcKrFxENBxFv6ADLK1e4mXzsVOcmaXcqgtCh/jJeGDfgRZrBKmEEQ41INCbQEE2ipSWHfO49zMyVEAw+BBAXnmcjFI+ipasbPW0UTz0xAIaJI5v3EApkYE6NwDGr4KmGzx3agI50DAu5WGV6ip5ipu7PvTJXajgdiPairydN/X4feF6CGI7g2lQd92YXQcHh7pSDUrEIVXLw4okLmJhcwnQmj1fevIlEwoXti2J+SYTjcbg9V8TwyCyIkYdjVKEqPmwf2ECDsR7MFCJnb90ae4nb+3CXOTKe+V66qbHdtaQtluVQxy6q26MFTE14+NFFHYMHoxi7oyEWtLGjX8XQ+TE45fvgRRmNioFHB0QM39Hx0qnbSCcIXn03BpXkse0jFOcverAsR6vVBW9ixhm7fH3y6c8+vkMnDQNfRfadz+OL3728dnBv8lOvn/7znlKVe/zQHgnhII9qjaIxaoKCgW3bILBAQeG4APU8MIwLAgKXAj6eBUMY5CsBBBQOhQLFa0MVhAP0zccObDv/8rnZc7//zbHbwTW7/rEkhi//HDVd2xGLRM+wtBq2HQJNJ+A4BqZewfBNHY2pADqaZZS0BAAKVcpgcWEBs1kJ/ZslBGWAEAKfzwPLcqAksmJa2Mex7JWNW47881p0vWVE4tFrhcVLf1rM0idGpxPILtXQvVZFTFmAP/kwakwJhewEPNaF7drw9CloJgepeSum5y+hWFIwMVFAc5OCrnQGLUn2ZrypZ9y26v+6j5WgiGpuui5KgRfjMelAD8PInc0i4BZRqXKolKeg6RYmLAGOOwu7nIWgKBA4E4HgRXABA/GAAf9mAYLAIhJpgV82zxYy89XmNc3/vo/fv3EMPh8v55f1b2YzuYFCXkvkim5Yq0FxiF90WYm3LY+lhCO2VgQvyZS4uisKnCMKqKuyV4uF3Eo04i82JOMzsbj6nOvSya7e7zz4I/DI7oe4R3etE5uTiiwInMyxkDzXEwHwDMswhLDwXMdjWMYGvLpl1Q3DsPTMsm5cGb5vDJ27bkXCKs0VSqv5N/6v/xL9DaTSiQKxCRPvAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE5LTA0LTEyVDE5OjMzOjQ1LTA0OjAw2nqdRgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxOS0wNC0xMlQxOTozMzo0NS0wNDowMKsnJfoAAAAASUVORK5CYII=')";
var masterCrown =
  "url('data:image/png;base64,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')";