const createTable = () => {
  const table = document.getElementById("usersTable");
  const legalsTable = document.getElementById("legalsTable");
  const tbody = table.querySelector("tbody");
  const legalsTbody = legalsTable.querySelector("tbody");

  // Очищаем таблицу
  tbody.innerHTML = "";
  legalsTbody.innerHTML = "";

  users.forEach((user) => {
    const row = document.createElement("tr");
    if (user.isblocked === "true" || user.isblocked === true) {
      row.setAttribute("style", `background: rgba(255, 69, 58, 0.3)`);
    }
    row.setAttribute("onclick", `openUser(${user.id});`);

    // Добавляем ячейки с данными
    const id = document.createElement("td");
    id.textContent = user.id;
    row.appendChild(id);
    const surname = document.createElement("td");
    surname.innerHTML = user.surname;
    row.appendChild(surname);
    const name = document.createElement("td");
    name.innerHTML = user.name;
    row.appendChild(name);
    const secondname = document.createElement("td");
    secondname.innerHTML = user.secondname;
    row.appendChild(secondname);
    const role = document.createElement("td");
    if (user.role) {
      role.textContent = user.role;
    } else {
      role.textContent = "Гость";
    }
    row.appendChild(role);
    const phone = document.createElement("td");
    phone.innerHTML = user.phone;
    row.appendChild(phone);
    const email = document.createElement("td");
    email.innerHTML = user.email;
    row.appendChild(email);
    const sub = document.createElement("td");
    sub.textContent = user.sub;
    row.appendChild(sub);
    const department = document.createElement("td");
    department.textContent = user.department;
    row.appendChild(department);

    tbody.appendChild(row);
  });

  legals.forEach((legal) => {
    const legalsRow = document.createElement("tr");
    legalsRow.setAttribute("onclick", `openLegal(${legal.id});`);

    // Добавляем ячейки с данными
    const id = document.createElement("td");
    id.textContent = legal.id;
    legalsRow.appendChild(id);
    const name = document.createElement("td");
    name.innerHTML = legal.name;
    legalsRow.appendChild(name);
    const inn = document.createElement("td");
    inn.textContent = legal.inn;
    legalsRow.appendChild(inn);
    const ogrn = document.createElement("td");
    ogrn.textContent = legal.ogrn;
    legalsRow.appendChild(ogrn);
    const address = document.createElement("td");
    address.textContent = legal.address;
    legalsRow.appendChild(address);
    const realaddress = document.createElement("td");
    realaddress.textContent = legal.realaddress;
    legalsRow.appendChild(realaddress);
    const email = document.createElement("td");
    email.textContent = legal.email;
    legalsRow.appendChild(email);

    legalsTbody.appendChild(legalsRow);
  });
};

document.addEventListener("DOMContentLoaded", function () {
  createTable();
});

function getCookie(name) {
  var cookies = document.cookie.split(";");
  for (var i = 0; i < cookies.length; i++) {
    var cookie = cookies[i].trim();
    if (cookie.startsWith(name + "=")) {
      return cookie.substring(name.length + 1);
    }
  }
  return null;
}

function requestUpdate() {
  document.getElementById("usersTable").style.filter = "brightness(0.85)";
  document.getElementById("legalsTable").style.filter = "brightness(0.85)";

  const formData = new FormData();
  formData.append("searchText", document.getElementById("table-search").value);
  formData.append(
    "page",
    parseInt(document.getElementById("page-number").textContent)
  );

  const requestOptions = {
    method: "POST",
    headers: {
      Authorization: getCookie("token"),
    },
    body: formData,
  };

  fetch(API_SERVER + "/users/getusers", requestOptions)
    .then((response) => {
      document.getElementById("usersTable").style.filter = "brightness(1)";
      document.getElementById("legalsTable").style.filter = "brightness(1)";
      if (response.ok) {
        return response.json();
      } else {
        console.error("Ошибка при отправке POST запроса.");
        return "Ошибка при отправке запроса.";
      }
    })
    .then((data) => {
      users.splice(0, users.length);
      legals.splice(0, legals.length);

      users.push(
        ...data.people.map((item) => ({
          id: item.id,
          name: item.Имя,
          surname: item.Фамилия,
          secondname: item.Отчество,
          role: item.Должность,
          sub: item.Субподряд,
          department: item.Цех,
          email: item.Email,
          phone: item.Телефон,
          isblocked: item.Черный_список,
        }))
      );

      legals.push(
        ...data.legals.map((item) => ({
          id: item.id,
          name: item.Наименование,
          inn: item.ИНН,
          ogrn: item.ОГРН,
          address: item.Юридический_адрес,
          realaddress: item.Фактический_адрес,
          email: item.Email,
        }))
      );

      createTable();

      peopleMax = Math.ceil(data.totalCountPeople / 15);
      legalsMax = Math.ceil(data.totalCountLegal / 15);

      if (peopleMax === 0) {
        peopleMax = 1;
      }
      if (legalsMax === 0) {
        legalsMax = 1;
      }

      var currentPage = parseInt(pageNumberInput.textContent, 10);
      if (tableType === "People") {
        if (currentPage > peopleMax) {
          pageNumberInput.textContent = peopleMax;
          requestUpdate();
        }
      } else {
        if (currentPage > legalsMax) {
          pageNumberInput.textContent = legalsMax;
          requestUpdate();
        }
      }
    })
    .catch((error) => {
      console.error("Ошибка при отправке запроса:", error);
    });
}

// function closeForm() {
//   var formContainer = $("#form-bg");
//   var fform = $("#form");
//   formContainer.removeClass("active");
//   fform.removeClass("form-animation");
//   $("body").css("overflow", "auto");
// }

// document.addEventListener("DOMContentLoaded", function () {
//   const form = document.getElementById("add-form");

//   form.addEventListener("submit", function (event) {
//     event.preventDefault();

//     const deleteConfirmation = document.getElementById("addInformation");
//     const closeButton = document.getElementById("closeButton");
//     const mark = document.getElementById("success-mark");

//     closeForm();

//     closeButton.style.display = "none";
//     deleteConfirmation.style.display = "flex";
//     mark.style.display = "none";

//     const formData = new FormData(form);

//     form.reset();

//     fetch(API_SERVER + "/user", {
//       method: "POST",
//       headers: {
//         Authorization: getCookie("token"),
//       },
//       body: formData,
//     })
//       .then((response) => response.json())
//       .then((data) => {
//         showMessage("Пользователь успешно добавлен", true);
//       })
//       .catch((error) => {
//         showMessage("Не удалось добавить пользователя", false);
//         console.error("Ошибка:", error);
//       });
//   });
// });

// function addUser() {
//   var formContainer = $("#form-bg");
//   var form = $("#form");
//   formContainer.addClass("active");
//   form.addClass("form-animation");
//   $("body").css("overflow", "hidden");
// }

// $(document).ready(function () {
//   // Закрывает popup форму
//   $("#close-form-btn").click(function () {
//     closeForm();
//   });

//   // Функция для закрытия формы
//   function closeForm() {
//     var formContainer = $("#form-bg");
//     var form = $("#form");
//     formContainer.removeClass("active");
//     form.removeClass("form-animation");
//     $("body").css("overflow", "auto");
//   }
// });
