/* global $, window, document */
$(document).ready(function() {
  // Функция для получения базового пути API
  const getApiPath = () => {
    // Извлекаем базовый путь из URL страницы
    const pathParts = window.location.pathname.split('/');
    // Если последний сегмент пустой (из-за /) - удаляем его
    if (pathParts[pathParts.length - 1] === '') {
      pathParts.pop();
    }
    
    // Путь до корня приложения
    return pathParts.join('/') + '/api';
  };
  
  // Функция для загрузки списка опросов
  const loadQuestionnaires = () => {
    $.ajax({
      url: getApiPath() + '/questionnaires',
      method: 'GET',
      success: function(result) {
        if (result.success) {
          renderQuestionnaires(result.data);
        } else {
          $('#questionnaires-container').html(`<p class="error">Ошибка: ${result.error}</p>`);
        }
      },
      error: function(error) {
        console.error('Error loading questionnaires:', error);
        $('#questionnaires-container').html('<p class="error">Не удалось загрузить опросы. Пожалуйста, попробуйте позже.</p>');
      }
    });
  };
  
  // Функция для отображения списка опросов
  const renderQuestionnaires = (questionnaires) => {
    if (!questionnaires || questionnaires.length === 0) {
      $('#questionnaires-container').html('<p>У вас еще нет созданных опросов.</p>');
      return;
    }
    
    // Получаем базовый путь (для работы и с /questioneer, и с /ms/questioneer)
    const basePath = window.location.pathname.endsWith('/') 
      ? window.location.pathname 
      : window.location.pathname + '/';
    
    const questionnairesHTML = questionnaires.map(q => `
      <div class="questionnaire-item">
        <h3>${q.title}</h3>
        <p>${q.description || 'Нет описания'}</p>
        <p>Создан: ${new Date(q.createdAt).toLocaleString()}</p>
        <div class="questionnaire-links">
          <a href="${basePath}admin/${q.adminLink}" class="btn btn-small">Редактировать</a>
          <a href="${basePath}poll/${q.publicLink}" class="btn btn-small btn-primary" target="_blank">Смотреть как участник</a>
        </div>
      </div>
    `).join('');
    
    $('#questionnaires-container').html(questionnairesHTML);
  };
  
  // Инициализация страницы
  loadQuestionnaires();
  
  // Обновление данных каждые 30 секунд
  setInterval(loadQuestionnaires, 30000);
});