// Функция открытия всплывающего окна
function showPopup(popupId) {
  document.getElementById(popupId).style.display = "block";
}

// Функция закрытия всплывающего окна
function closePopup(popupId) {
  document.getElementById(popupId).style.display = "none";
}

// Обработчик события submit для формы
document.getElementById("loginForm").addEventListener("submit", function(event) {
  event.preventDefault(); // Предотвращаем стандартную отправку формы

  // Получаем значения из полей формы
  const name = document.getElementById("name").value;
  const phone = document.getElementById("phone").value;
  const email = document.getElementById("email").value;
  const date = document.getElementById("date").value;
  const time = document.getElementById("time").value;
  const comment = document.getElementById("comment").value;

  // Проверяем, заполнены ли все поля формы
  if (name === "" || phone === "" || email === "" || date === "" || time === "" || comment === "") {
    // Если поля не заполнены, показываем ошибку
    document.getElementById("errorMessage").textContent = "Пожалуйста, заполните все поля формы.";
    showPopup("errorPopup");
    return;
  }

  // Проверяем, не является ли дата и время прошедшими
  const currentDate = new Date();
  const selectedDate = new Date(date + "T" + time);

  if (selectedDate < currentDate) {
    // Если дата и время прошедшие, показываем ошибку
    document.getElementById("errorMessage").textContent = "Выбрана прошедшая дата и/или время. Пожалуйста, выберите дату и время в будущем.";
    showPopup("errorPopup");
    return;
  }

  // Сохраняем данные в localStorage
  saveRecordToLocalStorage(name, phone, email, date, time, comment);

  // Показываем всплывающее окно с успешным сообщением
  showPopup("successPopup"); 
  loginForm.reset(); // Очистка формы
});

// Сохраняем данные в localStorage
function saveRecordToLocalStorage(name, phone, email, date, time, comment) {
  let records = localStorage.getItem('priem');
  if (!records) {
    records = [];
  } else {
    records = JSON.parse(records);
  }
  records.push({ name, phone, email, date, time, comment });
  localStorage.setItem('priem', JSON.stringify(records));
}

// Функция для скачивания CSV-файла 
function tableToCSV() {
  const records = JSON.parse(localStorage.getItem('priem'));
  if (!records) {
    alert('Нет записей для сохранения!');
    return;
  }

  // Создаем объект Blob с типом данных "text/csv" и кодировкой "windows-1251"
  const blob = new Blob([
    "\uFEFF" + // BOM для корректного отображения кириллицы в Excel
    "ФИО,Номер телефона,Email,Дата,Время,Комментарий\n" + 
    records.map(record => `${record.name},${record.phone},${record.email},${record.date},${record.time},${record.comment}`).join('\n')
  ], { type: 'text/csv;charset=windows-1251;' });

  // Создаем URL-адрес для объекта Blob
  const url = window.URL.createObjectURL(blob);

  // Создаем ссылку для скачивания файла
  const link = document.createElement("a");
  link.setAttribute("href", url);
  link.setAttribute("download", "прием.csv");

  // Добавляем ссылку на страницу, кликаем по ней и удаляем
  document.body.appendChild(link);
  link.click();
  document.body.removeChild(link);
}

// Чтение данных из csv файла

document.getElementById('csvFileInput').addEventListener('change', function() {
  if (this.files && this.files[0]) {
      let reader = new FileReader();
      reader.onload = function(e) {
          let csvData = e.target.result;
          createTableFromCSV(csvData);
      };
      reader.readAsText(this.files[0]);
  }
});

function createTableFromCSV(csvData) {
  let rows = csvData.split('\n');
  let tableContent = '<thead><tr>';

  // Заголовки таблицы (первая строка CSV)
  let headers = rows[0].split(',');
  headers.forEach(header => {
      tableContent += `<th>${header}</th>`;
  });
  tableContent += '</tr></thead><tbody>';

  // Данные таблицы (остальные строки CSV)
  for (let i = 1; i < rows.length; i++) {
      let rowData = rows[i].split(',');
      tableContent += '<tr>';
      rowData.forEach(cellData => {
          tableContent += `<td>${cellData}</td>`;
      });
      tableContent += '</tr>';
  }

  tableContent += '</tbody>';
  document.getElementById('appointmentsTable').innerHTML = tableContent;
}


