ShadowGovermentLibBeta

Shadow Goverment Lib Beta

目前为 2015-09-12 提交的版本。查看 最新版本

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.cn-greasyfork.org/scripts/12383/73911/ShadowGovermentLibBeta.js

  1. /*---Initialization parameters---*/
  2. var localUrl = new String( window.location );
  3. var URLBattle = "battle.html?id=";
  4. var URLConfig = "editCitizen.html?Settings";
  5. var URLMotivation = "newCitizenStatistics.html";
  6. var style;
  7. /*---Initialization parameters---*/
  8.  
  9. /*---Initialization menu---*/
  10. var menuTop = $(".top-bar-section > .foundation-left");
  11. $('<li id="ShadowGovernmentMenu" class="has-dropdown"><a id="ShadowGovernmentMenuHref" href="#"><i class="icon-star"></i>Shadow Government</a><ul id="ShadowGovernmentMenuDropdown" class="dropdown"></ul></li><li class="divider"></li>').appendTo(menuTop);
  12. $('<li class="title back js-generated"><h5><a href="#">« Back</a></h5></li>').appendTo("#ShadowGovernmentMenuDropdown");
  13. $('<li><a href="editCitizen.html?Settings"><i class="icon-tools"></i>Settings</a></li>').appendTo("#ShadowGovernmentMenuDropdown");
  14. $('<li><a href="#"><i class="icon-tools"></i>Blank</a></li>').appendTo("#ShadowGovernmentMenuDropdown");
  15. $('#navigationCountry > i.icon-flag-2').removeClass('icon-flag-2').addClass('icon-flag');
  16. /*---Initialization menu---*/
  17.  
  18. function SGChecked(flag){
  19. if(flag){
  20. return "checked";
  21. } else {
  22. return "";
  23. }
  24. }
  25.  
  26. /*---On Settings Page---*/
  27. if (localUrl.indexOf( URLConfig, 0 ) >= 0){
  28. var wrapper = $("#userMenu + script + div");
  29. wrapper.attr("id","WrapperMainConfig");
  30. wrapper.empty();
  31. $('<center><h1>Shadow Government Settings</h1></center><p style="clear: both"></p><br>').appendTo(wrapper);
  32. $('<div id="SettingsSpectator" class="testDivblue" style="width:100%;"><h3 id="SettingsSpectatorTittle">Settings Spectator</h3></div>').appendTo(wrapper);
  33. $('<div id="SettingsMotivator" class="testDivblue" style="width:100%;"><h3 id="SettingsMotivatorTittle">Settings Motivator</h3></div>').appendTo(wrapper);
  34. $('<div id="SettingsDemoralizator" class="testDivblue" style="width:100%;"><h3 id="SettingsDemoralizatorTittle">Settings Demoralizator</h3></div>').appendTo(wrapper);
  35. $('<b title="default value: 7000, ultra speed value: 1750">SGTimerSpectator: </b><input id="SGTimerSpectatorText" name="SGTimerSpectatorText" type="text" value="'+$.jStorage.get('SGTimerSpectator', 7000)+'" autocomplete="off"><input id="SGTimerSpectatorSubmit" value="Change" type="button"><br>').appendTo("#SettingsSpectator");
  36. $('<b title="default value: 1">SGFakeUserID: </b><input id="SGFakeUserIDText" name="SGFakeUserIDText" type="text" value="'+$.jStorage.get('SGFakeUserID', 1)+'" autocomplete="off"><input id="SGFakeUserIDSubmit" value="Change" type="button"><br>').appendTo("#SettingsSpectator");
  37. $('<b title="default value: 1">SGFakeCitizenshipID: </b><input id="SGFakeCitizenshipIDText" name="SGFakeCitizenshipIDText" type="text" value="'+$.jStorage.get('SGFakeCitizenshipID', 1)+'" autocomplete="off"><input id="SGFakeCitizenshipIDSubmit" value="Change" type="button"><br>').appendTo("#SettingsSpectator");
  38. $('<b title="default value: true">SGSpectatorMode: </b><input class="SGSpectatorModeRadio" type="radio" name="SGSpectatorMode" value="true" '+SGChecked($.jStorage.get('SGSpectatorMode', true))+'> True <input class="SGSpectatorModeRadio" type="radio" name="SGSpectatorMode" value="false" '+SGChecked(!$.jStorage.get('SGSpectatorMode', true))+'>False<br>').appendTo("#SettingsSpectator");
  39. $('<b title="default value: true">SGMotivationMode: </b><input class="SGMotivationModeRadio" type="radio" name="SGMotivationMode" value="true" '+SGChecked($.jStorage.get('SGMotivationMode', true))+'> True <input class="SGMotivationModeRadio" type="radio" name="SGMotivationMode" value="false" '+SGChecked(!$.jStorage.get('SGMotivationMode', true))+'>False<br>').appendTo("#SettingsMotivator");
  40. $('<b title="default value: 10000">SGDemoralizatorTimerSpectator: </b><input id="SGDemoralizatorTimerSpectatorText" name="SGDemoralizatorTimerSpectatorText" type="text" value="'+$.jStorage.get('SGDemoralizatorTimerSpectator', 10000)+'" autocomplete="off"><input id="SGDemoralizatorTimerSpectatorSubmit" value="Change" type="button"><br>').appendTo("#SettingsDemoralizator");
  41. $('<b title="default value: 10">SGDemoralizatorFakeUserIDCount: </b><input id="SGDemoralizatorFakeUserIDCountText" name="SGDemoralizatorFakeUserIDCountText" type="text" value="'+$.jStorage.get('SGDemoralizatorFakeUserIDCount', 10)+'" autocomplete="off"><input id="SGDemoralizatorFakeUserIDCountSubmit" value="Change" type="button"><br>').appendTo("#SettingsDemoralizator");
  42. $('<b title="default value: 2">SGDemoralizatorFakeCitizenshipID: </b><input id="SGDemoralizatorFakeCitizenshipIDText" name="SGDemoralizatorFakeCitizenshipIDText" type="text" value="'+$.jStorage.get('SGDemoralizatorFakeCitizenshipID', 2)+'" autocomplete="off"><input id="SGDemoralizatorFakeCitizenshipIDSubmit" value="Change" type="button"><br>').appendTo("#SettingsDemoralizator");
  43. $('<b title="default value: false">SGDemoralizatorMode: </b><input class="SGDemoralizatorModeRadio" type="radio" name="SGDemoralizatorMode" value="true" '+SGChecked($.jStorage.get('SGDemoralizatorMode', false))+'> True <input class="SGDemoralizatorModeRadio" type="radio" name="SGDemoralizatorMode" value="false" '+SGChecked(!$.jStorage.get('SGDemoralizatorMode', false))+'>False<br>').appendTo("#SettingsDemoralizator");
  44. $('#SGTimerSpectatorSubmit').click(function(){
  45. $.jStorage.set('SGTimerSpectator', $('#SGTimerSpectatorText').val());
  46. });
  47. $('#SGFakeUserIDSubmit').click(function(){
  48. $.jStorage.set('SGFakeUserID', $('#SGFakeUserIDText').val());
  49. });
  50. $('#SGFakeCitizenshipIDSubmit').click(function(){
  51. $.jStorage.set('SGFakeCitizenshipID', $('#SGFakeCitizenshipIDText').val());
  52. });
  53. $('.SGSpectatorModeRadio').click(function(){
  54. if ($(this).val()==="true"){
  55. $.jStorage.set('SGSpectatorMode', true);
  56. } else {
  57. $.jStorage.set('SGSpectatorMode', false);
  58. }
  59. });
  60. $('.SGMotivationModeRadio').click(function(){
  61. if ($(this).val()==="true"){
  62. $.jStorage.set('SGMotivationMode', true);
  63. } else {
  64. $.jStorage.set('SGMotivationMode', false);
  65. }
  66. });
  67. $('#SGDemoralizatorTimerSpectatorSubmit').click(function(){
  68. $.jStorage.set('SGDemoralizatorTimerSpectator', $('#SGDemoralizatorTimerSpectatorText').val());
  69. });
  70. $('#SGDemoralizatorFakeUserIDCountSubmit').click(function(){
  71. $.jStorage.set('SGDemoralizatorFakeUserIDCount', $('#SGDemoralizatorFakeUserIDCountText').val());
  72. });
  73. $('#SGDemoralizatorFakeCitizenshipIDSubmit').click(function(){
  74. $.jStorage.set('SGDemoralizatorFakeCitizenshipID', $('#SGDemoralizatorFakeCitizenshipIDText').val());
  75. });
  76. $('.SGDemoralizatorModeRadio').click(function(){
  77. if ($(this).val()==="true"){
  78. $.jStorage.set('SGDemoralizatorMode', true);
  79. } else {
  80. $.jStorage.set('SGDemoralizatorMode', false);
  81. }
  82. });
  83. $('<p style="clear: both"></p><br>').appendTo(wrapper);
  84. }
  85. /*---On Settings Page---*/
  86.  
  87. /*---On Battle Page---*/
  88. if (localUrl.indexOf( URLBattle, 0 ) >= 0){
  89. /*---Отключаем стилями картинки в окне сообщения боя---*/
  90. var stringCSS = '.fightsprite.critical1,.fightsprite.critical0,.fightsprite.critical2,.fightsprite.critical3,.fightsprite.normal1,.fightsprite.normal0,.fightsprite.normal2,.fightsprite.normal3,.fightsprite.miss,.fightsprite.toofast {\n display:none;\n}\n\n';
  91. stringCSS += '.fightsprite.critical1 + br,.fightsprite.critical0 + br,.fightsprite.critical2 + br,.fightsprite.critical3 + br,.fightsprite.normal1 + br,.fightsprite.normal0 + br,.fightsprite.normal2 + br,.fightsprite.normal3 + br,.fightsprite.miss + br,.fightsprite.toofast + br {\n display:none;\n}\n\n';
  92. style = document.createElement( "style" );
  93. style.type = "text/css";
  94. style.textContent = stringCSS;
  95. document.body.appendChild( style );
  96. style = undefined;
  97. /*---Отключаем стилями картинки в окне сообщения боя---*/
  98.  
  99. /*---Отключаем модальные окна на странице боя---*/
  100. window.picoModal=function() {
  101. return true;
  102. }
  103. /*---Отключаем модальные окна на странице боя---*/
  104. /*---Минимизируем заголовок боя---*/
  105. $("#battleHeaderImage").remove();
  106. $("#mainFight").css({"margin-top": "0px", "margin-bottom": ".4em",});
  107. $("#mainFight .fightFont").removeClass("fightFont").addClass("fightFontSG");
  108. $("#mainFight .fightFontSG").css({"text-shadow": "0 0 2px black",});
  109. /*---Минимизируем заголовок боя---*/
  110.  
  111. /*---Минимизируем списки топ3/топ10 по урону на странице боя---*/
  112. $("#battleStats").show();
  113. $("#battleStats").append('<div class="foundation-style small-10 columns SpectatorsBattleStatsElements"><div class="foundation-style small-5 columns"><b>Total defenders online:</b><i id="totaldefenders" style="display: inline;">0</i> <a style="font-size: 11px; display: none;" href="" id="defendersLink">Show details</a> <a style="font-size: 11px;" href="" id="defendersLinkHide">Hide details</a> <br><div align="center" id="defendersMenu" style="font-size: 11px; text-align: center; padding: 1em; margin: auto; display: block;">No one <br> </div></div><div class="foundation-style small-5 columns"><b>Total attackers online:</b><i id="totalattackers" style="display: inline;">0</i> <a style="font-size: 11px; display: none;" href="" id="attackersLink">Show details</a> <a style="font-size: 11px; display: inline;" href="" id="attackersLinkHide">Hide details</a> <br><div align="center" id="attackersMenu" style="font-size: 11px; text-align: center; padding: 1em; margin: auto; display: block;">No one <br> </div></div>');
  114. $("#battleStats").append('<div class="foundation-style small-10 columns SpectatorsBattleStatsElements"><b>Total spectators online:</b><i id="totalspectators" style="display: inline;">0</i> <a style="font-size: 11px; display: none;" href="" id="spectatorsLink">Show details</a> <a style="font-size: 11px;" href="" id="spectatorsLinkHide">Hide details</a> <br><div align="center" id="spectatorsMenu" style="font-size: 11px; text-align: center; padding: 1em; margin: auto; display: block;">No one <br> </div> </div>');
  115. $('#spectatorsLink').click(function () { $('#spectatorsLink').fadeOut('fast', function () { $('#spectatorsLinkHide').fadeIn('fast'); $('#spectatorsMenu').fadeIn('fast'); }); return false; });
  116. $('#spectatorsLinkHide').click(function () { $('#spectatorsLinkHide').fadeOut('fast', function () { $('#spectatorsLink').fadeIn('fast'); $('#spectatorsMenu').fadeOut('fast'); }); return false; });
  117.  
  118. $('#attackersLink').click(function () { $('#attackersLink').fadeOut('fast', function () { $('#attackersLinkHide').fadeIn('fast'); $('#attackersMenu').fadeIn('fast'); }); return false; });
  119. $('#attackersLinkHide').click(function () { $('#attackersLinkHide').fadeOut('fast', function () { $('#attackersLink').fadeIn('fast'); $('#attackersMenu').fadeOut('fast'); }); return false; });
  120.  
  121. $('#defendersLink').click(function () { $('#defendersLink').fadeOut('fast', function () { $('#defendersLinkHide').fadeIn('fast'); $('#defendersMenu').fadeIn('fast'); }); return false; });
  122. $('#defendersLinkHide').click(function () { $('#defendersLinkHide').fadeOut('fast', function () { $('#defendersLink').fadeIn('fast'); $('#defendersMenu').fadeOut('fast'); }); return false; });
  123. $("#battleSelectable:first + #battleSelectable div.small-10:first").remove();
  124. $('<div id="wrapperBattleStatsButtons" class="foundation-style small-10 columns" style="margin-bottom:.4em;"></div>').insertBefore($("#battleSelectable:first + #battleSelectable div.small-4:first"));
  125. $('<div id="showTop3BattleStats" style="padding-bottom:.4em;padding-top:.4em;margin:.4em .4em 0 .4em;" class="foundation-style button"> Show Top 3 </div>').appendTo($("#wrapperBattleStatsButtons"));
  126. $('<div id="showTop10BattleStats" style="padding-bottom:.4em;padding-top:.4em;margin:.4em .4em 0 .4em;" class="foundation-style button"> Show Top 10 </div>').appendTo($("#wrapperBattleStatsButtons"));
  127. $('<div id="showRecentActionsBattleStats" style="padding-bottom:.4em;padding-top:.4em;margin:.4em .4em 0 .4em;" class="foundation-style button"> Recent Actions </div>').appendTo($("#wrapperBattleStatsButtons"));
  128. $('<div id="showSpectatorsBattleStats" style="padding-bottom:.4em;padding-top:.4em;margin:.4em .4em 0 .4em;" class="foundation-style button"> Spectators </div>').appendTo($("#wrapperBattleStatsButtons"));
  129.  
  130. $("#wrapperBattleStatsButtons + div.small-4, #wrapperBattleStatsButtons + div.small-4 + div.small-2, #wrapperBattleStatsButtons + div.small-4 + div.small-2 + div.small-4").addClass("Top3BattleStatsElements");
  131. $("#battleStats > div.small-10:first").addClass("Top10BattleStatsElements");
  132. $(".Top10BattleStatsElements + div.small-10").addClass("RecentActionsBattleStatsElements");
  133. //$(".RecentActionsBattleStatsElements + div.small-10, .RecentActionsBattleStatsElements + div.small-10 + div.small-10").addClass("SpectatorsBattleStatsElements");
  134.  
  135. $(".Top3BattleStatsElements").css('display', $.jStorage.get('SGTop3BattleStatsElements', "none"));
  136. $("#showTop3BattleStats").click(function () {
  137. $(".Top3BattleStatsElements").toggle("fast", function () {
  138. $.jStorage.set('SGTop3BattleStatsElements', $(".Top3BattleStatsElements").css('display'));
  139. });
  140. });
  141. $(".Top10BattleStatsElements").css('display', $.jStorage.get('SGTop10BattleStatsElements', "none"));
  142. $("#showTop10BattleStats").click(function () {
  143. $(".Top10BattleStatsElements").toggle("fast", function () {
  144. $.jStorage.set('SGTop10BattleStatsElements', $(".Top10BattleStatsElements").css('display'));
  145. });
  146. });
  147. $(".RecentActionsBattleStatsElements").css('display', $.jStorage.get('SGRecentActionsBattleStatsElements', "none"));
  148. $("#showRecentActionsBattleStats").click(function () {
  149. $(".RecentActionsBattleStatsElements").toggle("fast", function () {
  150. $.jStorage.set('SGRecentActionsBattleStatsElements', $(".RecentActionsBattleStatsElements").css('display'));
  151. });
  152. });
  153. $(".SpectatorsBattleStatsElements").css('display', $.jStorage.get('SGSpectatorsBattleStatsElements', "none"));
  154. $("#showSpectatorsBattleStats").click(function () {
  155. $(".SpectatorsBattleStatsElements").toggle("fast", function () {
  156. $.jStorage.set('SGSpectatorsBattleStatsElements', $(".SpectatorsBattleStatsElements").css('display'));
  157. });
  158. });
  159. /*---Минимизируем списки топ3/топ10 по урону на странице боя---*/
  160.  
  161. /*---Формируем блок сообщений боя---*/
  162. $('#fightStatus').show().css({'width':'initial',}).removeClass("testDivblue").addClass("fightContainer");
  163. $('#fightResponse').hide().addClass("foundation-style small-10 columns");
  164. $('#fightResponse > div').addClass("testDivblue");
  165.  
  166.  
  167. //$('<div id="statusDiv" ><b>Status Action </b></div>').insertBefore($("#fightResponse"));
  168. $('<div id="wrapperStatusActionButtons" class="foundation-style small-10 columns" style="margin-bottom:.4em;"></div>').insertBefore($("#fightResponse"));
  169. $('<div id="SGShowStatusAction" style="padding-bottom:.4em;padding-top:.4em;margin:.4em .4em 0 .4em;" class="foundation-style button"> Show Status Action </div>').appendTo($("#wrapperStatusActionButtons"));
  170. $("#fightResponse").css('display', $.jStorage.get('SGShowStatusActionButton', "none"));
  171. $("#SGShowStatusAction").click(function () {
  172. $("#fightResponse").toggle("fast", function () {
  173. $.jStorage.set('SGShowStatusActionButton', $("#fightResponse").css('display'));
  174. });
  175. });
  176. /* $('#statusDiv > b').css({'font-size': '14px', 'color': '#f2f2f2', 'text-shadow': '0 0 1px black,0 1px 1px black,0 -1px 1px #333'});
  177. $('<a style="font-size: 11px; display: inline;" href="" id="statusLink">Show details</a>').appendTo($("#statusDiv"));
  178. $('<a style="font-size: 11px; display: none;" href="" id="statusLinkHide">Hide details</a>').appendTo($("#statusDiv"));
  179.  
  180. $('#statusLink').click(function () {
  181. $('#statusLink').fadeOut('fast', function () {
  182. $('#statusLinkHide').fadeIn('fast');
  183. $('#fightResponse').fadeIn('fast');
  184. });
  185. return false;
  186. });
  187. $('#statusLinkHide').click(function () {
  188. $('#statusLinkHide').fadeOut('fast', function () {
  189. $('#statusLink').fadeIn('fast');
  190. $('#fightResponse').fadeOut('fast');
  191. });
  192. return false;
  193. }); */
  194. /*---Формируем блок сообщений боя---*/
  195. /*---Спектатор---*/
  196. //var SGSpectatorMode = $.jStorage.get('SGSpectatorMode', 1);
  197. if($.jStorage.get('SGSpectatorMode', true)){
  198. var SGTimerSpectator = $.jStorage.get('SGTimerSpectator', 7000); // Кд отправки запросов данных 1 секунда = 1000 миллисекунд.
  199.  
  200. function sendUpdateRequestSpectator() {
  201. if (!hasFocus)
  202. return;
  203. var FakeUserID = $.jStorage.get('SGFakeUserID', 1); // Айди фейкового пользователя.
  204. var FakeCitizenshipID = $.jStorage.get('SGFakeCitizenshipID', 1); // Айди гражданства фейкового пользователя.
  205. var dataString = 'id=' + $("#battleRoundId").val() + "&at="+FakeUserID+"&ci="+FakeCitizenshipID+"&premium=1";
  206. $.ajax({
  207. type: "GET",
  208. url: "battleScore.html",
  209. data: dataString,
  210. dataType: "json",
  211. success: function(msg) {
  212. updateStatus(msg.attackerScore, msg.defenderScore, msg.remainingTimeInSeconds, msg.percentAttackers);
  213. updateBattleHeros(msg.topAttackers, msg.topDefenders);
  214. updateTop10(msg.top10Attackers, msg.top10Defenders);
  215. updateBattleMonitor(msg);
  216. //updatePlace(msg.yourPlace);
  217. //updateTotalDamage(msg.totalPlayerDamage);
  218. for (var i = 0; i < msg.recentAttackers.length; i++) {
  219. if (msg.recentAttackers[i].id == latestAttackerId) {
  220. msg.recentAttackers = msg.recentAttackers.slice(0, i);
  221. break;
  222. }
  223. }
  224. for (var i = 0; i < msg.recentDefenders.length; i++) {
  225. if (msg.recentDefenders[i].id == latestDefenderId) {
  226. msg.recentDefenders = msg.recentDefenders.slice(0, i);
  227. break;
  228. }
  229. }
  230. if (msg.recentAttackers.length != 0) {
  231. latestAttackerId = msg.recentAttackers[0].id;
  232. attackerHits = msg.recentAttackers;
  233. }
  234. if (msg.recentDefenders.length != 0) {
  235. latestDefenderId = msg.recentDefenders[0].id;
  236. defenderHits = msg.recentDefenders;
  237. }
  238. }
  239. });
  240. }
  241. var intervalID = window.setInterval(sendUpdateRequestSpectator, SGTimerSpectator);
  242. continueThread = false;
  243. }
  244. /*---Спектатор---*/
  245. /*---Фейк Спектатор Деморализатор---*/
  246. if($.jStorage.get('SGDemoralizatorMode', false)){
  247. var SGDemoralizatorFakeUserIDCount = $.jStorage.get('SGDemoralizatorFakeUserIDCount', 10);
  248. var SGDemoralizatorFakeCitizenshipID = $.jStorage.get('SGDemoralizatorFakeCitizenshipID', 2);
  249. var SGDemoralizatorTimerSpectator = $.jStorage.get('SGDemoralizatorTimerSpectator', 10000);
  250.  
  251. function sendUpdateRequestSpectatorFake(UserID,CitizenshipID) {
  252. var dataString = 'id=' + $("#battleRoundId").val() + "&at="+UserID+"&ci="+CitizenshipID+"&premium=1";
  253. $.ajax({
  254. type: "GET",
  255. url: "battleScore.html",
  256. data: dataString,
  257. dataType: "json"
  258. });
  259. }
  260.  
  261. function FakeSpectators(){
  262. n = 0;
  263. while (n < SGDemoralizatorFakeUserIDCount) {
  264. setTimeout(sendUpdateRequestSpectatorFake, (n+1)*(SGDemoralizatorTimerSpectator/SGDemoralizatorFakeUserIDCount), (n+1), SGDemoralizatorFakeCitizenshipID);
  265. n++;
  266. }
  267. }
  268.  
  269. window.setInterval(FakeSpectators, SGDemoralizatorTimerSpectator);
  270. }
  271. /*---Фейк Спектатор Деморализатор---*/
  272. }
  273. /*---On Battle Page---*/
  274.  
  275. /*---On Motivation Page---*/
  276. if (localUrl.indexOf( URLMotivation, 0 ) >= 0){
  277. //var SGMotivationMode = $.jStorage.get('SGMotivationMode', 1);
  278. if($.jStorage.get('SGMotivationMode', true)){
  279. var CurrentDay = /\d+/gim.exec($("#userMenu div div.panel.callout b:eq(2)").html());
  280. var CurrentDay = parseInt(CurrentDay[0]);
  281. var tmpMotivateCountToday = {day: CurrentDay,count: 0};
  282. var MotivateCountToday = JSON.parse($.jStorage.get('SGMotivateCountToday', JSON.stringify(tmpMotivateCountToday)));
  283. //console.log(MotivateCountToday);
  284. if (MotivateCountToday.day != tmpMotivateCountToday.day){
  285. MotivateCountToday = tmpMotivateCountToday;
  286. $.jStorage.set('SGMotivateCountToday', JSON.stringify(MotivateCountToday));
  287. }
  288.  
  289. $(".dataTable ul.button.foundation-center.foundation-style-group li a.foundation-style.button.small.help i.icon-cupcake").parent().parent().toggle();
  290. $("<span>Today motivate count: <b id=\"countMotivationToday\">0</b><span>").insertAfter("#newCitizenStatsForm");
  291. $("#countMotivationToday").html(MotivateCountToday.count);
  292.  
  293. $( "table.dataTable tr" ).each(function( index, element ) {
  294. if ($(this).children("td").children("i.icon-uniF478").length>0){
  295. var MotivateUserID = $(this).children("td:first").children(".profileLink").attr("href").replace("profile.html?id=","");
  296. if ($(this).children("td:eq(4)").children("i.icon-uniF478").length==1){
  297. $(this).children("td:eq(4)").empty();
  298. $(this).children("td:eq(4)").append('<i id="motivate-weapons-'+MotivateUserID+'" style="cursor: pointer; color: #000; font-size: 1.25em; text-shadow: 0 0 0" class="motivate-element motivate-weapons icon-tank" value="'+MotivateUserID+'"></i>');
  299. }
  300. if ($(this).children("td:eq(5)").children("i.icon-uniF478").length==1){
  301. $(this).children("td:eq(5)").empty();
  302. $(this).children("td:eq(5)").append('<i id="motivate-breads-'+MotivateUserID+'" style="cursor: pointer; color: #000; font-size: 1.25em; text-shadow: 0 0 0" class="motivate-element motivate-breads icon-bread" value="'+MotivateUserID+'"></i>');
  303. }
  304. if ($(this).children("td:eq(6)").children("i.icon-uniF478").length==1){
  305. $(this).children("td:eq(6)").empty();
  306. $(this).children("td:eq(6)").append('<i id="motivate-gifts-'+MotivateUserID+'" style="cursor: pointer; color: #000; font-size: 1.25em; text-shadow: 0 0 0" class="motivate-element motivate-gifts icon-gift" value="'+MotivateUserID+'"></i>');
  307. }
  308. }
  309. return true;
  310. });
  311.  
  312. function motivateResponse (jqXHR, timeout, message) {
  313. var dataString = /type=(\d)&id=(\d+)/gim.exec($(this)[0].data);
  314. var idType = parseInt(dataString[1]);
  315. var idUser = parseInt(dataString[2]);
  316. var arrType = ["none","weapons","breads","gifts"]
  317. var messageResponse = "";
  318. if (messageResponse = /&citizenMessage=(\S+)/gim.exec(jqXHR.getResponseHeader("TM-finalURLdhdg"))){
  319. if (messageResponse[1]=="SUCCESFULLY_MOTIVATED"){
  320. var parentTDw = $("#motivate-"+arrType[idType]+"-"+idUser).parent();
  321. parentTDw.empty();
  322. parentTDw.append('<i title="Мотивация прошла успешно" style="color: #0c0; font-size: 1.25em; text-shadow: 0 0 0" class="icon-uniF479"></i>');
  323. MotivateCountToday.count = MotivateCountToday.count+1;
  324. $.jStorage.set('SGMotivateCountToday', JSON.stringify(MotivateCountToday));
  325. $("#countMotivationToday").html(MotivateCountToday.count);
  326. } else {
  327. $("#motivate-"+arrType[idType]+"-"+idUser).attr("title","Ошибка: "+messageResponse[1]);
  328. }
  329. } else if(/Вы отправили слишком много мотиваций сегодня/gim.exec(jqXHR.responseText)){
  330. var parentTDw = $("#motivate-"+arrType[idType]+"-"+idUser).parent();
  331. parentTDw.empty();
  332. parentTDw.append('<i title="Вы отправили слишком много мотиваций сегодня" style="color: #c00; font-size: 1.25em; text-shadow: 0 0 0" class="icon-uniF478"></i>');
  333. MotivateCountToday.count = 5;
  334. $.jStorage.set('SGMotivateCountToday', JSON.stringify(MotivateCountToday));
  335. $("#countMotivationToday").html(MotivateCountToday.count);
  336. } else if(/Вы уже отправляли комплект этому гражданину сегодня/gim.exec(jqXHR.responseText)){
  337. var parentTDw = $("#motivate-"+arrType[idType]+"-"+idUser).parent();
  338. parentTDw.empty();
  339. parentTDw.append('<i title="Вы уже отправляли комплект этому гражданину сегодня" style="color: #c00; font-size: 1.25em; text-shadow: 0 0 0" class="icon-uniF478"></i>');
  340. } else if(/Этот гражданин получил слишком много мотиваций сегодня/gim.exec(jqXHR.responseText)){
  341. var parentTDw = $("#motivate-"+arrType[idType]+"-"+idUser).parent();
  342. parentTDw.empty();
  343. parentTDw.append('<i title="Этот гражданин получил слишком много мотиваций сегодня" style="color: #c00; font-size: 1.25em; text-shadow: 0 0 0" class="icon-uniF478"></i>');
  344. } else if(/Этот гражданин получил все виды мотивационных комплектов сегодня/gim.exec(jqXHR.responseText)){
  345. var parentTDw = $("#motivate-"+arrType[idType]+"-"+idUser).parent();
  346. parentTDw.empty();
  347. parentTDw.append('<i title="Этот гражданин получил все виды мотивационных комплектов сегодня" style="color: #c00; font-size: 1.25em; text-shadow: 0 0 0" class="icon-uniF478"></i>');
  348. } else if(/У вас не достаточно предметов/gim.exec(jqXHR.responseText)){
  349. var parentTDw = $("#motivate-"+arrType[idType]+"-"+idUser).parent();
  350. parentTDw.empty();
  351. parentTDw.append('<i title="У вас не достаточно предметов" style="color: #c00; font-size: 1.25em; text-shadow: 0 0 0" class="icon-uniF478"></i>');
  352. }
  353. }
  354.  
  355. $(".motivate-element").click(function(){
  356. var typeMotivate = 0;
  357. if ($(this).hasClass("motivate-weapons")){
  358. typeMotivate = 1;
  359. } else if ($(this).hasClass("motivate-breads")){
  360. typeMotivate = 2;
  361. } else if ($(this).hasClass("motivate-gifts")){
  362. typeMotivate = 3;
  363. }
  364. var parentTD = $(this).parent();
  365. var userID = $(this).attr("value");
  366. var dataString = "type="+typeMotivate+"&id="+userID;
  367. $.ajax({
  368. type: "POST",
  369. url: "motivateCitizen.html?id="+userID,
  370. data: dataString,
  371. dataType: "json",
  372. error: motivateResponse
  373. });
  374. });
  375.  
  376. $(".motivate-element").hover(function() {
  377. $(this).css("color", "#999");
  378. }, function() {
  379. $(this).css("color", "#000");
  380. });
  381. }
  382. }
  383. /*---On Motivation Page---*/