AMO: Randomize Contribute Button

Randomize 'Contribute' button on Mozilla Add-ons

Fra og med 19.02.2014. Se den nyeste version.

  1. // ==UserScript==
  2. // @name AMO: Randomize Contribute Button
  3. // @namespace http://userstyles.org/users/12
  4. // @description Randomize 'Contribute' button on Mozilla Add-ons
  5. // @version 1.20140219151606
  6. // @author LouCypher
  7. // @license GPL
  8. // @include https://addons.mozilla.org/*
  9. // ==/UserScript==
  10. /*
  11. Randomize 'Contribute' button on Mozilla Add-ons
  12. Copyright (C) 2012 LouCypher
  13.  
  14. This program is free software: you can redistribute it and/or modify
  15. it under the terms of the GNU General Public License as published by
  16. the Free Software Foundation, either version 3 of the License, or
  17. (at your option) any later version.
  18.  
  19. This program is distributed in the hope that it will be useful,
  20. but WITHOUT ANY WARRANTY; without even the implied warranty of
  21. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  22. GNU General Public License for more details.
  23.  
  24. You should have received a copy of the GNU General Public License
  25. along with this program. If not, see <http://www.gnu.org/licenses/>
  26. */
  27.  
  28.  
  29.  
  30. var contributt = document.getElementById("contribute-button");
  31. if (!contributt) return;
  32.  
  33. var things = [
  34. { name: "drink",
  35. icon: "data:image/png;base64,\
  36. iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAABl0RVh0\
  37. U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAGUSURBVDiNnZM/a8JAGIffpEeTNDFylVYh\
  38. CZKhuLh1KFLoV3Bwahc/QYcODkIXtw5S3Do4qEvBSejQtV3bqYtgq0sVBFMQjJ7xT5Lr5KLXVPzB\
  39. LcdzD7/3uOMopbCeYrF443meiTEeUkrpZDI59H2/lcvlHtZZtHEaAHRdT5qmmbBtGyRJAowxtFot\
  40. FsoWIITkUCi01DQNFEUB27YBISRuJcjn85FEr3c2bjT2Zd+njixT2/P4KcfFIJ3+X9Dv9ye9dvv4\
  41. o9k8OJVlPwbA9QjhOqkUumQ04Nc3arXaXAyHRzIhELUs/sSyuCNCQFBVizXChgAAQNX1d8TzIACA\
  42. BgA0EvH3DKOytSAcj1+hTOZzGI3St0TC/U6nn25LpXsWC5TSP1elXH6uVat3QQyzwSqionz5lHaC\
  43. GOY7WIUQQhzHCRQENlgsFuA4znBngaqqCGOc3ElQKBQQQigqiqIZJOBYv7Fer18bhnE+GAwuBEEg\
  44. kiS9dLvdx2w2+7rOMi/Rdd3uaDTSlsvl1HXd+Xg87s9msx8W+wtNAsYdXG2+UAAAAABJRU5ErkJg\
  45. gg=="
  46. },
  47. { name: "coffee",
  48. icon: "data:image/png;base64,\
  49. iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0\
  50. U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAANZSURBVHjaYvj//z/D379/Gf79+8fw48cP\
  51. htOnLzMcPnyRuaioWpmBgYGRAQ8A6QUIICZUIUYGSUkxBiEhftNfv37qMhABAAIIzQCwjV6vXr2M\
  52. 3rx57QOQJdzcvAyWlh4MoqIyWA0ACCAWZA4zM7Pnnz+/Uh8+vHvz7dvX9ywtHRmcnYMYPn36yXD3\
  53. 7lWsBgAEENgARkaIV79///bt7t27r4WERMX6+mbF/f/Pce3RoyfPfv789ggo/Q2bAQABBDbgwoUb\
  54. QEOYGL58+Xigrq7m7O/ff6V4ePjFFRXVDQQEJBJ///71HqhsOhBfRzcAIIDABpw5c5Xhz5+/QPyP\
  55. wd09/NuVKxeeionJfhEWFlR8+/YTx+vXz/9/+fIBEXBMrEAM8T1AAIFJFhZmBlZWViMhIYF0HT0N\
  56. O2c3J+l3796zfvvyg+3zp/ff3717tl9UVFbg27fPYEvExfUYnj69DDYAIIDABvDyciepqMlPe/ns\
  57. PvvLW2cY/v78xvDuy18GBjYOBl1DM247uyKf7dstPFas2FD08uWLyaysnMA08BdsAEAAgQ1Q01Cp\
  58. v3hkPfvldX0M4gwfGJ59Z2W49OInw9XnPxje/WJmsHd0ZsjPz2FRUpJqevXq7X1gYB8EavsM0gsQ\
  59. QGAD2DjYeZ5cP8Vw4+ozhq/izAzvfv5i+Pj1L8PPPwwMP3//Zdi1axeDqqoqQ2ZmtEBs7J/NBw6c\
  60. fzN16sV0oNZ1AAEETki/vn9nSK3sZjDyDWB48peP4f4nRoY3P5gYfvxnYhAWFmYICAhgkJOTY9i7\
  61. 9zgwpr4yJCX5izAzsziA9AIEENgF9+4+uqer4yhU0r+c4dXzpwz3bl1nePfhIwMjMLTZ2NmB6eM7\
  62. w4MH94EB9xqYIkUYenpOMnz+/OE2SC9AAEGj8cp6dXVZEyFhXgYpKWmGv//+M/x78IDh88ePDC9e\
  63. PGf4+PEDw5s3XxnY2DgZlizZ9PTUqf3T/v79vBikFyCAwAa8fPl62sKFG91dXS3stLQUGb4Do+vj\
  64. +7fAJPwJaNMXhtu3XwPD4ejJJ0+uTPz37+tJoBZQPvkH0gsQQJBAZGP/cO7cBf8dOzbnGRtbRgoK\
  65. 8kl9+vSR4f37j/8ePnz++ObN81s/fXoyB5i37qKnRIAAAwDdZWeKqj9F5wAAAABJRU5ErkJggg=="
  66. },
  67. { name: "beer",
  68. icon: "data:image/png;base64,\
  69. iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI\
  70. WXMAAABIAAAASABGyWs+AAAACXZwQWcAAAAQAAAAEABcxq3DAAADO0lEQVQ4y2WTz2sjZQCG32/m\
  71. m8k30yTdzaZNKouKTaVWKruHXsTNFnr14mHBgnjx7EGvetNCkWXtRf8B2S2KoiKywi4UWXtbL1o0\
  72. NQnVzaZJJ8lkMsnMZL4f+TxUkNX3D3h44X0fAgC1Wg3FYhFKqSsA3lFKVZRSMef8N6XUD8vLy3cP\
  73. Dw9RrVbx35Bms4lsNmuMRqPXtNbv2rb9smmaIIRASok4ju/3er3XLcsaCCGwubn5BIAOBgP4vr8O\
  74. 4CPG2HNaawghQAhBJpOBlHLTtu1bruu+DSD8X4OTkxP4vv+h4zjvua6LKIowHo/BGEM+n4fWGsPh\
  75. MP36m29vx1F0s7iw8Pv+nds4OjoCAJiUUrKxseEUCoXrhmHk0zSF4zhgjCFNU4RhiMlkQovFS1dL\
  76. pZJ92m4frK+vi62tLRwcHIDU63VUKhX89ODBB+WlpfcBII5jWJaFs7MzNBoNSClRKpVAKQ1yudwf\
  77. Usovjo+PP3UcJzFWVlZw7959tE/bHaUUoiiC53ngnCObzcJ1XVBKwRgD51xyzp+2bXunUCjcWFtb\
  78. AwWAIAgQR5EQQqDVeox+vw/HmYOUAr1eH74/gEkppsn08+Fw+N3i4uJXWutXt7e371AA6Pc9TJOE\
  79. h8EAcdhBBj5s7SJjKjxVmKKcJZhzR6j3gknDS37lnA8syypXq1VGASAMfHCRCjOp6etXGaGUwXY6\
  80. MAwLq8+UIZMpuh5HrT7mYZiao9GIuq4rhBCKAoAGQIgpkDzSltTEcgPQjAFCLMjEBg+HmI7mIMWM\
  81. U1O/oLUuJkny5/7+/pQCAPkHIJKzmUoCI3NxBJp5HiA2ZmkLKupATMp4dGreUGTuDcMwZlEU3d3Z\
  82. 2dH0/E4ExIBQQmk5kZhFCYz5ADAYZvEUciwgUoHCpaXV3IWSxxjb9Tzveynl+QrnECPtRUyVxnnL\
  83. aBPoaABi2EgnC5hEAv0kBxDz4yhKPul2ux1Kqdzd3T0HaK1hmWbt2Lv4sDuef6Vy+QKetRahZjPU\
  84. T9potmwEid2IU/0lScetvb29f2UCAJ7GePHKtcde96+3GHPflLmFa3z+8pKQ0ogzmR7JZh9SHX7W\
  85. /OXHn1dWX3pCpr8BQw+yP2VtRpwAAAAldEVYdGNyZWF0ZS1kYXRlADIwMDktMDktMjhUMTE6Mjc6\
  86. NTUtMDQ6MDDs/LGJAAAAJXRFWHRtb2RpZnktZGF0ZQAyMDA5LTA3LTAzVDEyOjQ1OjE4LTA0OjAw\
  87. HcBz2wAAAABJRU5ErkJggg=="
  88. },
  89. { name: "donut",
  90. icon: "data:image/png;base64,\
  91. iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADMklEQVR4nG2TX2hbVQCHv3POzbm5\
  92. N03SpGmStq7OtaNr98fOIkZ9qQ+i4FCfRhFEBR/0RWETGaigIliLjD2oWDYoQ7cVxxz+xTmwm0xW\
  93. BVmnMsvY2Fpc27TWtkmbe5P03uOTINu+tx98/N4+wW14qWvg3Z2t3YW2tg0b/aDuX/PnJn+a+fW7\
  94. z37+cvhmV/x/vN7/wshj6u4B7SSiyXSceEpjrDqh8alOOUzrpeVP574/cHDsk7duOTj01HsX+nJe\
  95. rww6mFfN7KgWUWkXIR1MaAi8CJ4oEqo0P85fPvPsyN6HABTA0PN7xvrdbYVsY0iDF8O2fWLNVVS2\
  96. ARP6GAWiRaO0jRaa9mhm447OnsIXEz8cUV3Nd9739oP3vpMJ81ihIIgGJDpSRLpyQB3PW8YzBjn/\
  97. D3OBhzSKqZYEval85+XSzKR6pf+ZD7abrVuidoDctIhMNBHpbsbKx6lfnYbSCmJmieDGIiYBTtbH\
  98. iUWwVEB7blOntc3O9dreOiQd8DYgHJ96xaO+OsWf81/5s5cWlreu3ZFfbmwnZVfRToZoIo78O6Sn\
  99. Kb9F5mvkZb0MMsCEJURGY1YqTPzytf/c8OlHd4+ebTm/fmlSTi0gaxmUlSQsB4SRJaKJKlKEdaAE\
  100. rEPNwSymYFZx7mLtzJUbK2cB/li0JpVySZQ9pKMQbWsEWrNGiKy6li+kS6BqhNLFrKwi1iweqRUK\
  101. T7Y98DJAQd/Tm+3Zie4oY8pFZNmgmzLMrpavi8+ffu1Ch0r3NsYbcVuTCD+ESJywElIqTlMLYySq\
  102. EnuDi8gZgrRFGNHYCZvBE8cGlUq4PL65ZVctEidiBML4VByNdi3cbJJYs4uVtpBJCbkkbLaxIppS\
  103. 6C3vfnXvw/LouVPDF0V5XKfAWBVo0LjuKjIWIKIhmDLVtEa2Oui7UiQ7ulHxJG8eGtkHIAF2vT90\
  104. /2/FqXGhDVgBUtoIHWJkHZW1iLUb9PY8IuOwcq3ofzh65MDhk8eHb4npoxf3HHuiu2/AiTugFMJS\
  105. GFXFaotj3Ay/X7k68cb+/fvGxs+fum2N/3F0aPBkX3dXwY7Y0Yqp+38tLF4/OHri4+PffnP4Zvdf\
  106. ODY4wwDjrcYAAAAASUVORK5CYII="
  107. },
  108. { name: "hamburger",
  109. icon: "data:image/png;base64,\
  110. iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAAAZiS0dE\
  111. AAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAAl2cEFnAAAAEAAAABAAXMatwwAAA0hJ\
  112. REFUOMtdk8trXFUAh797z9x7JzPpTDPTxCaZNMFqa7GNJdXGoiBYsJZGQURwoehCRHAjgiiC6B/g\
  113. yoUFwQoiuKvURyE+FkqrBELVJmlsTZpJ85xXOjOZ+77nHBcipH6r3+Ljt/sM/se798PGFsZzz5Lt\
  114. HSSTSCgv0nnvM/wDRfTFxp2+8d+Y+9hhcyNMHxwbe7S77+gZK9M3aohUQcW+Dt1mtVlZni4vLn39\
  115. 7feLV4YGMsmbX3j/HuzZAwuf9nJzrTW4/8iT72f7H3/e7B7ZZZgCpIeWETL28dtVquXZ2o25+U8u\
  116. Ta1/2FdMN984t4I4/04PP15u5B88dvyjwt0TL4lMn2PIJiRboDropIMKK6ioAabKKikf0Ulsnfuu\
  117. 9vPT470ydep0ntuf61Om6nnGTCJwb4GsoA0DMNBRHRU0UJGBEZtks5bI55yXTx7LfXXiYP5X03io\
  118. bAS+MxY1a47amoXtBQjqEGyCfxPCGoS3kd4mcWeDsLWCTtxi2hKjEy+USAHUO8JrVFYp7vbIFAqY\
  119. 6SyYEq1cVBKgEhMdK+JOG7+5TeDZqu3pgL05Ulq/pl9/7MvWUMGhuLuCIZvYGQdDKFAuUkqkShMH\
  120. grAdEPqwUZFyZsntnH3xEmLy/LT9ymn16uzf9lEhUtiGC9E2OuggPY/EDwk7IW47YqspWFh1WK35\
  121. YvgpS70lBn9IDXeTPXJADwVRwNRMnmorR6kY0dMVk04ptAY3FNQ7Nst1m7VazMmHA6J7usbtW95Q\
  122. 6uoceupsd1w6YREecllaybLSyJK2wBaggSiBMNZoHbNv0KPeb/H7dkZ0JUkqNd8mLF9R1Yx3F+o+\
  123. l/2lOsr08DyLMBAoBVprolDjS8UvqourrR55XTnX5HqjJQDZJ5Oo5Ibjw1Wr0Foyqd1OiK0YlZV4\
  124. UrIeGyzvMrh2xGHfQJoH5qOL0xcqbye/VZdECbiMXk3CYCYrYnsox4iTM+0Lh/NMHUijBgSjg4pS\
  125. KUXGdCJ7Xk7+can1wfUbrT8BaewIyyz02HsnDnc/ce+Ic6Y8kjlkZPTu4y3fzLVlp9o0F/5ak5M/\
  126. zXa+ud7wlwF5R407sBzD3HOwx+7vzVvFWBii4qpmuR6shXFSA4Kd8j9rhLeN1CHvhgAAACJ6VFh0\
  127. U29mdHdhcmUAAHjac0zJT0pV8MxNTE8NSk1MqQQAL5wF1K4MqU0AAAAASUVORK5CYII=",
  128. pos: "center center"
  129. },
  130. { name: "car",
  131. icon: "data:image/png;base64,\
  132. iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADyUlEQVR4nO2UXWhbdRjGn///fCSx\
  133. bdJ8rWtSugxX00YG4o2b64ZgEdGBsKETB+rsJuKF3nglggrqxbAb4q4EEcSKrGxOKQxRL3QzXfel\
  134. taPtuqZt2ibNR3OSk4+Tk/PxHq+82BhzIOLNftfv877wwu8B7nGPe/znsLsZGh8fvy+Tybwjy7K/\
  135. UqmUCqVyplrXE+Vi5o2vR0edV1593dNhtryffPF5/tas+E/Lfzny2oFlpfReKBLud8suEABXhw8c\
  136. DiQW33761ClvONL7wLXJc21vR6La3i2xdPDBxFnZ5xvZOvJx9o4Hjg8feupCd/gbdeG6A4eRWmtA\
  137. cLcz2eVxMukV9lCib8+OPY9DFGWUG5rzmW15rpU2+o+J4oAQCh2Ze/nQ7ptelD05Jnpk+QnHtp8x\
  138. 8vmnl6b/jI5OT1M1FuNShxeVeh3edh+ZLZ27JYk2hQKcbdSgSRIpi/N8sFrB7lCIKmqJG1oDrpr+\
  139. EQOAP44dd8cSiQ+YKA7bqtrZmJ937JLCrPV16MUCKeUyv1ypYNGyURYF0lwyj27ro+xqmh+u1mCH\
  140. g5SI9XHDMtFcXqIz9Qb/7sYM3vT5X2QAcPLo0R93uT1DAuewSgpaxQI11ta4kctB0FvkEHHLMGCb\
  141. BpgkkqvDy22Ph5xOP2ecQTIM0op5rqsq1r1+Or9zB19cWMDK+V8jYvKxoYOlVGqolMs7jkt2GNmw\
  142. yyoz8nkya1UQOYxxTr7NEQiMo2w3WXt4EzUrChM2CqSXFeiNGtONFhmmyWZ6IuzZ/fvpzLen+UTy\
  143. N6/oX1zpC7ncsMMBR0+n+UK5DOngCxTY0sspm4P7xAmKPPIoP7u2irHfr2Ib0+ilrgqv6RoZjsV1\
  144. 04BmW44J4mmL1i/VtQB+/sk1MTGRUlW1yK7G4gMjrdpMP5EzGO1mlmUi26iR1dS4rNWwtT1Mk/EB\
  145. Pg6CptWxPHnR+TIcYkWr6RhksVXbyV82rdlLLXs6R05GkuVWwO9niqJ8b5rmsvjw8vXZsfv73pq0\
  146. zA8Pp1LykzCx082Z2dtL6mwRRdJYss1Nw88dQF1rsE9n5+xks5q72LLmrpj2TIGcAgAVwBKAOdMw\
  147. svl8vnmTaM+nbnzl54K6z9uxb7vU1h8Eeng6J7XcXszqhhOMRHkwGISiKFixrMn36/oPADQAawDm\
  148. AKQBVAHQrS797YEMYDOAHgBRAF1dnEfCnAcqotTdP7hrbzwe51NTU2oymXyXiK4AWACwAcC6k6y3\
  149. 6yIBgAeAD0AQQFAQhC6v19tZrVbP2ba9CKB5m9y/4q5K8X/hL0DF8v+cqeYsAAAAAElFTkSuQmCC",
  150. pos: "bottom center",
  151. margin: "6px"
  152. }
  153. ]
  154.  
  155. var num = parseInt(Math.random() * things.length);
  156. contributt.innerHTML = "<b></b>Buy me a " + things[num].name;
  157. GM_addStyle(".button.contribute.prominent b {\n"
  158. + " background-image: url('" + things[num].icon + "');\n"
  159. + " background-position: "
  160. + (things[num].pos ? things[num].pos : "center 2px") + ";\n"
  161. + " margin-right: "
  162. + (things[num].margin ? things[num].margin : "0") + ";\n"
  163. + "}")