Fast Court by C.Wayne

vk.com/chris_wayne

// ==UserScript==
// @name        Fast Court by C.Wayne
// @namespace   https://forum.arizona-rp.com/
// @match       https://forum.arizona-rp.com/*
// @grant       none
// @version     0.2.2
// @author      Christopher_Wayne vk.com/chris_wayne
// @description vk.com/chris_wayne
// @license MIT
// ==/UserScript==

var buttonname = "Court";
var settingsButtonName = "Settings";
var version = "0.2.2";

function showNotification(message, color) {
  const notification = $(`<div style="
    position: fixed;
    bottom: 10px;
    right: 10px;
    background-color: ${color};
    color: white;
    padding: 10px 20px;
    border-radius: 5px;
    z-index: 9999;
    font-family: Comic Sans MS, sans-serif;
    font-size: 14px;
  ">${message}</div>`);

  $("body").append(notification);
  setTimeout(() => {
    notification.fadeOut(500, () => notification.remove());
  }, 5000);
}

if (window.location.pathname === "/") {
  const username = $(".p-navgroup-link").text().trim().split("\n")[0];
  showNotification(
    `Приветствую вас, ${username}.<br>Помощник судьи готов к работе.<br>Версия: ${version}`,
    "green"
  );
}
$(document).ready(function() {
  const savedNickname = localStorage.getItem('judgeNickname');
  if (savedNickname) {
    console.log("Загружен сохраненный никнейм:", savedNickname);
  }
});
/////////////////////////////////////////////////////////////////////
function createbuttons() {
  buttonsh_add("Некорректное заявление");
  buttonsh_add("Ответ на иск");
  buttonsh_add("Истребование доказательств");
  buttonsh_add("Уголовное дело");
}
///////////////////////////////////////////////////////////////////////////////////////////////////
window.button_id = 0;
$(".button--icon--reply").after(
  '<input type="button" class="button shabs" value="' +
    buttonname +
    '" id="shabs" style="margin-left: 3px;">'
);
$(".button--icon--reply").after(
  '<input type="button" class="button shabs" value="' +
    settingsButtonName +
    '" id="settingsButton" style="margin-left: 3px;">'
);
$(document).ready(function () {
  $("#shabs").click(function () {
    $("div.overlay-container").remove();
    XF.alert(`<div id="shabscontent"></div>`, buttonname);
    createbuttons();
  });
  $("#settingsButton").click(function () {
    $("div.overlay-container").remove();
    XF.alert(`<div id="settingsContent"></div>`, settingsButtonName);
    createSettingsMenu();
  });
});
function createSettingsMenu() {
  const initialText = `
    <div style="font-family: Comic Sans MS;">
      <p>Скрипт "Fast Court by C.Wayne".</p>
      <p>Версия скрипта: <span style="color: #90EE90;">${version}</span></p>
      <p>Разработчик скрипта: <a href="https://vk.com/chris_wayne" target="_blank" style="color: #AFEEEE;">Christopher_Wayne</a></p>
      <p>Помощник в разработке: <a href="https://vk.com/grsky" target="_blank" style="color: #AFEEEE;">James_Mustang</a></p>
      <p><span style="color:rgb(41, 227, 202);">Подсказка:</span> если вам необходимо перенести строку в тексте - используйте &lt;br&gt;</p>
      <p><span style="color:rgb(41, 227, 106);">Пример:</span> Я сегодня хочу вам рассказать&lt;br&gt;об интересной истории...</p>
      <label for="nicknameInput">Ваш никнейм (он будет вставляться в ваши ответы):</label>
      <input type="text" id="nicknameInput" style="width: 100%; margin-bottom: 10px;">
      <button id="saveSettings" class="button">Сохранить</button>
    </div>
  `;
  $("#settingsContent").html(initialText);

  const savedNickname = localStorage.getItem('judgeNickname');
  if (savedNickname) {
    $("#nicknameInput").val(savedNickname);
  }

  $(document).on("click", "#saveSettings", function () {
    const nickname = $("#nicknameInput").val();
    if (nickname) {
      localStorage.setItem('judgeNickname', nickname);
      showNotification("Сохранение успешно:<br>Никнейм сохранен", "green");
    } else {
      showNotification("Сохранение не удалось:<br>Никнейм не может быть пустым", "red");
    }
  });
}
function buttonsh_add(title) {
  const targetContent = $("#shabscontent");
  targetContent.append(
    '<input type="button" class="button js-overlayClose" value="' +
      title +
      '" id="shabs_' +
      window.button_id +
      '" style="margin-top: 3px;margin-left: -5px;">'
  );

  $(document).on("click", "#shabs_" + window.button_id, function () {
    let content = "";
    switch (title) {
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
case "Некорректное заявление":
  content = `<div>
    <label>Номер искового заявления:</label><br>
    <input type="text" id="inputNumber" style="width: 100%; margin-bottom: 10px;"><br>
    <label>Укажите, что необходимо исправить в жалобе:</label><br>
    <input type="text" id="inputWhat" style="width: 100%; margin-bottom: 10px;"><br>
    <button id="submitAll" class="button js-overlayClose">Добавить</button>
  </div>`;

  XF.alert(content, title);

  $(document).on("click", "#submitAll", function () {
    let what = $("#inputWhat").val();
    let number = $("#inputNumber").val();

    if (!what) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлена информация в строку", "red");
      return;
    }
    if (!number) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлен номер заявления", "red");
      return;
    }
    const judgeNickname = localStorage.getItem('judgeNickname');

    let finalText = `[TABLE]<br>[TR]<br>[TD][CENTER][IMG width="155px" alt="hoI52mB.png"]https://i.imgur.com/b4La5OS.png[/IMG]<br><br><br>[FONT=times new roman]ВЕРХОВНЫЙ СУД ШТАТА LOVE<br>В лице члена судейской коллегии ${judgeNickname}<br>ПОСТАНОВЛЕНИЕ ВЕРХОВНОГО СУДА О ИСКОВОМ ЗАЯВЛЕНИЕ №${number}[/FONT][/CENTER][/TD]<br>[/TR]<br>[/TABLE]<br>[HR][/HR]<br>[TABLE]<br>[TR]<br>[TD][CENTER][FONT=times new roman]Суд уведомляет истца о несоответствии искового заявления изложенному формуляру, и обязует истца переоформить исковое заявление,[/FONT]<br>[SPOILER="OOC"]${what}[/SPOILER][/CENTER]<br>[HR][/HR]<br>[CENTER][FONT=times new roman]На переоформление искового заявления выделяется ровно 24 часа с момента опубликования постановления суда.[/FONT][/CENTER]<br>[RIGHT][FONT=times new roman][IMG width="200px"]https://forum.arizona-v.com/data/attachments/55/55123-cc58b1d2641e4fe6f517ac4ddde379da.jpg[/IMG][/FONT][/RIGHT][/TD]<br>[/TR]<br>[/TABLE]`;

    $(".fr-element").html(finalText);
    $("#exposeMask").click();
  });
  break;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
case "Ответ на иск":
  content = `<div>
    <label>Номер искового заявления:</label><br>
    <input type="text" id="inputNumber" style="width: 100%; margin-bottom: 10px;"><br>
    <label>Дата подачи иска:</label><br>
    <input type="date" id="inputDate" style="width: 100%; margin-bottom: 10px;"><br>
    <label>Дата рассмотрения иска:</label><br>
    <input type="date" id="inputFDate" style="width: 100%; margin-bottom: 10px;"><br>
    <label>Никнейм истца:</label><br>
    <input type="text" id="inputNickk" style="width: 100%; margin-bottom: 10px;"><br>
    <label>Никнейм ответчика:</label><br>
    <input type="text" id="inputNNick" style="width: 100%; margin-bottom: 10px;"><br>
    <label>Рассмотреть/отклонить исковое заявление:</label><br>
    <input type="text" id="inputLaw" style="width: 100%; margin-bottom: 10px;"><br>
    <label>Удовлетворить/отклонить исковое заявление (с указанием причины):</label><br>
    <input type="text" id="inputLaws" style="width: 100%; margin-bottom: 10px;"><br>
    <label>Возложить обязательства на ответчика:</label><br>
    <input type="text" id="inputLawss" style="width: 100%; margin-bottom: 10px;"><br>
    <label>Дата до которого необходимо выполнить решение:</label><br>
    <input type="date" id="inputDatee" style="width: 100%; margin-bottom: 10px;"><br>
    <button id="submitAll" class="button js-overlayClose">Добавить</button>
  </div>`;

  XF.alert(content, title);

  $(document).on("click", "#submitAll", function () {
    let number = $("#inputNumber").val();
    let date = $("#inputDate").val();
    let fdate = $("#inputFDate").val();
    let nickk = $("#inputNickk").val();
    let nnick = $("#inputNNick").val();
    let law = $("#inputLaw").val();
    let laws = $("#inputLaws").val();
    let lawss = $("#inputLawss").val();
    let datee = $("#inputDatee").val();
    
    if (!number) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлен номер заявления", "red");
      return;
    }
    if (!date) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлена дата подачи иска", "red");
      return;
    }
    if (!fdate) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлена дата рассмотрения иска", "red");
      return;
    }
    if (!nickk) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлен никнейм истца", "red");
      return;
    }
    if (!nnick) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлен никнейм ответчика", "red");
      return;
    }
    if (!law) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлено решение суда", "red");
      return;
    }
    if (!laws) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлено решение суда (второе)", "red");
      return;
    }
    if (!lawss) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлены обязательства", "red");
      return;
    }
    if (!datee) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлена дата выполнения решения", "red");
      return;
    }

    const judgeNickname = localStorage.getItem('judgeNickname');

    let finalText = `[TABLE]<br>[TR]<br>[TD][CENTER][IMG width="155px" alt="hoI52mB.png"]https://i.imgur.com/b4La5OS.png[/IMG]<br>[FONT=times new roman]ВЕРХОВНЫЙ СУД ШТАТА LOVE В лице члена судейской коллегии суда ${judgeNickname}<br>ПОСТАНОВЛЕНИЕ ВЕРХОВНОГО СУДА О ИСКОВОМ ЗАЯВЛЕНИЕ №${number}[/FONT][/CENTER][/TD]<br>[/TR]<br>[/TABLE]<br>[HR][/HR]<br>[TABLE]<br>[TR]<br>[TD][CENTER][FONT=times new roman]<br>По делу №${number}<br>В соответствии с рассмотрением искового заявления ${nickk} к ${nnick}, поступившего в Суд ${date}, и на основании представленных материалов, документов, а также устных и письменных доводов сторон, Суд установил следующее:<br><br>ОПРЕДЕЛЕНИЕ[/FONT][/CENTER]<br>[FONT=times new roman][CENTER]<br>Суд в составе судей верховного суда ${judgeNickname}, рассмотрев иск под номером №${number}, гражданина ${nickk} к ${nnick} о неправомерных действиях со стороны ответчика.​[/CENTER][/FONT]<br>[CENTER]<br>[FONT=times new roman]УСТАНОВИЛ[/FONT][/CENTER]<br>[FONT=times new roman][CENTER]${law}[/CENTER][/FONT]<br>[CENTER]<br>[FONT=times new roman]ПОСТАНОВЛЕНИЕ СУДА:<br>На основании вышеизложенного, и учитывая все обстоятельства дела, Верховный Суд постановляет:[/FONT][/CENTER]<br>[FONT=times new roman][CENTER]${laws}<br>${lawss}<br>Выполнить обязательства до: ${datee}[/CENTER][/FONT]<br>[CENTER][FONT=times new roman]<br>Постановление принято ${fdate} и подлежит немедленному исполнению.<br>[IMG align="right" width="135px" alt="NYqIBf3.png"]https://i.imgur.com/e5LItyb.png[/IMG][/FONT][/CENTER][/TD]<br>[/TR]<br>[/TABLE]`;

    $(".fr-element").html(finalText);
    $("#exposeMask").click();
  });
  break;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
case "Истребование доказательств":
  content = `<div>
    <label>Никнейм истца:</label><br>
    <input type="text" id="inputNickk" style="width: 100%; margin-bottom: 10px;"><br>
    <label>Никнейм ответчика:</label><br>
    <input type="text" id="inputNNick" style="width: 100%; margin-bottom: 10px;"><br>
    <label>Дата до которого необходимо выполнить решение:</label><br>
    <input type="date" id="inputDatee" style="width: 100%; margin-bottom: 10px;"><br>
    <button id="submitAll" class="button js-overlayClose">Добавить</button>
  </div>`;

  XF.alert(content, title);

  $(document).on("click", "#submitAll", function () {
    let nickk = $("#inputNickk").val();
    let nnick = $("#inputNNick").val();
    let datee = $("#inputDatee").val();

    if (!nickk) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлен никнейм истца", "red");
      return;
    }
    if (!nnick) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлен никнейм ответчика", "red");
      return;
    }
    if (!datee) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлена дата выполнения решения", "red");
      return;
    }

    const judgeNickname = localStorage.getItem('judgeNickname');

    let finalText = `[TABLE]<br>[TR]<br>[TD][CENTER][IMG width="134px"]https://i.imgur.com/b4La5OS.png[/IMG]<br><br>[FONT=times new roman]ВЕРХОВНЫЙ СУД ШТАТА LOVE В лице члена судейской коллегии суда, ${judgeNickname}<br>ПОСТАНОВЛЕНИЕ ВЕРХОВНОГО СУДА О [FONT=times new roman]ИСТРЕБОВАНИИ ДОКАЗАТЕЛЬСТВ[/FONT][/FONT][/CENTER][/TD]<br>[/TR]<br>[/TABLE]<br>[HR][/HR]<br>[TABLE]<br>[TR]<br>[TD][CENTER][FONT=times new roman]В соответствии с рассмотрением запроса о предоставлении доказательств, поступившего в суд от ${nickk} и на основании представленных материалов, установленных в заявлении о необходимости истребования доказательств, Верховный Суд установил следующее:<br><br>В связи с вышеизложенным, Верховный Суд постановляет:[/FONT][/CENTER]<br>[LIST=1]<br>[*][FONT=times new roman][LEFT]Истребовать от ${nnick} следующие доказательства: запись с бодикамеры. [/LEFT][/FONT]<br>[*][FONT=times new roman][LEFT]Назначить срок предоставления доказательств до ${datee}.[/LEFT][/FONT]<br>[*][FONT=times new roman][LEFT]В случае несоответствия, запросить дополнительные разъяснения от стороны, предоставляющей доказательства.[/LEFT][/FONT]<br>[/LIST]<br>[CENTER][FONT=times new roman] Данное решение вступает в законную силу немедленно.[/FONT][/CENTER]<br>[RIGHT][FONT=times new roman][IMG width="136px"]https://forum.arizona-v.com/data/attachments/55/55126-cb49342200068c5f71eca6fed6ad85c6.jpg[/IMG][/FONT][/RIGHT][/TD]<br>[/TR]<br>[/TABLE]<br>[CENTER][/CENTER]`;

    $(".fr-element").html(finalText);
    $("#exposeMask").click();
  });
  break;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
case "Уголовное дело":
  content = `<div>
    <label>Номер искового заявления:</label><br>
    <input type="text" id="inputNumber" style="width: 100%; margin-bottom: 10px;"><br>
    <label>Дата подачи уд:</label><br>
    <input type="date" id="inputDate" style="width: 100%; margin-bottom: 10px;"><br>
    <label>Дата рассмотрения иска:</label><br>
    <input type="date" id="inputFDate" style="width: 100%; margin-bottom: 10px;"><br>
    <label>Никнейм следователя:</label><br>
    <input type="text" id="inputNickk" style="width: 100%; margin-bottom: 10px;"><br>
    <label>Никнейм обвиняемого:</label><br>
    <input type="text" id="inputNNick" style="width: 100%; margin-bottom: 10px;"><br>
    <label>Рассмотреть/отклонить исковое заявление:</label><br>
    <input type="text" id="inputLaw" style="width: 100%; margin-bottom: 10px;"><br>
    <label>Удовлетворить/отклонить исковое заявление (с указанием причины):</label><br>
    <input type="text" id="inputLaws" style="width: 100%; margin-bottom: 10px;"><br>
    <label>Возложить обязательства на ответчика:</label><br>
    <input type="text" id="inputLawss" style="width: 100%; margin-bottom: 10px;"><br>
    <label>Дата до которого необходимо выполнить решение:</label><br>
    <input type="date" id="inputDatee" style="width: 100%; margin-bottom: 10px;"><br>
    <button id="submitAll" class="button js-overlayClose">Добавить</button>
  </div>`;

  XF.alert(content, title);

  $(document).on("click", "#submitAll", function () {
    let number = $("#inputNumber").val();
    let date = $("#inputDate").val();
    let fdate = $("#inputFDate").val();
    let nickk = $("#inputNickk").val();
    let nnick = $("#inputNNick").val();
    let law = $("#inputLaw").val();
    let laws = $("#inputLaws").val();
    let lawss = $("#inputLawss").val();
    let datee = $("#inputDatee").val();

    if (!number) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлен номер заявления", "red");
      return;
    }
    if (!date) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлена дата подачи иска", "red");
      return;
    }
    if (!fdate) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлена дата рассмотрения иска", "red");
      return;
    }
    if (!nickk) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлен никнейм следователя", "red");
      return;
    }
    if (!nnick) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлен никнейм обвиняемого", "red");
      return;
    }
    if (!law) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлено решение суда", "red");
      return;
    }
    if (!laws) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлено решение суда (второе)", "red");
      return;
    }
    if (!lawss) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлены обязательства", "red");
      return;
    }
    if (!datee) {
      showNotification("При создании ответа произошла ошибка:<br>Не добавлена дата выполнения решения", "red");
      return;
    }

    const judgeNickname = localStorage.getItem('judgeNickname');

    let finalText = `[TABLE]<br>[TR]<br>[TD][CENTER]<br>[IMG]https://i.imgur.com/e5LItyb.png[/IMG][/CENTER]<br><br>[FONT=times new roman][CENTER]ВЕРХОВНЫЙ СУД ШТАТА LOVE<br>В лице члена судейской коллегии суда ${judgeNickname}<br>ПОСТАНОВЛЕНИЕ ВЕРХОВНОГО СУДА О УГОЛОВНОМ ДЕЛЕ №${number}[/CENTER][/FONT][/TD]<br>[/TR]<br>[/TABLE]<br>[HR][/HR]<br>[TABLE]<br>[TR]<br>[TD][CENTER][FONT=times new roman]<br>По Уголовному делу №${number}<br>В соответствии с рассмотрением уголовного дела присланным в суд от Агента Федерального Бюро Расследования,<br>${nickk} к ${nnick}, поступившего в Суд ${date},<br>и на основании представленных материалов установленных в уголовном деле, Суд установил следующее:<br><br>ОПРЕДЕЛЕНИЕ[/FONT][/CENTER]<br>[FONT=times new roman][CENTER]<br>Суд в составе судей верховного суда ${judgeNickname}, рассмотрев иск под номером №001, гражданина ${nickk} к ${nnick} о неправомерных действиях со стороны ответчика.[/CENTER][/FONT]<br>[CENTER]<br>[FONT=times new roman]УСТАНОВИЛ[/FONT][/CENTER]<br>[FONT=times new roman][CENTER]${law}[/CENTER][/FONT]<br>[CENTER]<br>[FONT=times new roman]ПОСТАНОВЛЕНИЕ СУДА:<br>На основании вышеизложенного, и учитывая все обстоятельства дела, Верховный Суд постановляет:[/FONT][/CENTER]<br>[FONT=times new roman][CENTER]${laws}<br>${lawss}<br>${datee}[/CENTER][/FONT]<br>[CENTER][FONT=times new roman]<br>Постановление принято ${fdate} и подлежит немедленному исполнению.<br>[IMG align="right" width="135px" alt="NYqIBf3.png"]https://forum.arizona-v.com/data/attachments/55/55126-cb49342200068c5f71eca6fed6ad85c6.jpg[/IMG][/FONT][/CENTER][/TD]<br>[/TR]<br>[/TABLE]`;

    $(".fr-element").html(finalText);
    $("#exposeMask").click();
  });
  break;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
      default:
        showNotification("Ошибка вывода ответа №1.<br>Обратитесь к разработчику скрипта.", "red");
    }
  });

  window.button_id++;
}