/* InfCloud configuration for Radicale */

// Configuración según documentación oficial de Radicale
// https://github.com/Kozea/Radicale/wiki/Client-InfCloud
var globalNetworkCheckSettings = {
  href: '${INFCLOUD_BASE_URL}/radicale/',
  timeOut: 90000,
  lockTimeOut: 10000,
  checkContentType: false,
  settingsAccount: false,
  delegation: false,
  additionalResources: [],
  hrefLabel: null,
  forceReadOnly: false,
  ignoreAlarms: false,
  backgroundCalendars: [],
  crossDomain: false,
  withCredentials: true,
  extendedDav: false
};

// Configuración de interfaz
var globalInterfaceLanguage = 'en_US';  // Idioma predeterminado: Inglés
var globalInterfaceCustomLanguages = ['es_ES', 'en_US'];  // Idiomas disponibles
var globalSortAlphabet = ' 0123456789AÁÀÂBCÇDEÉÈÊFGHIÍÌÎJKLMNOÓÒÔPQRSTUÚÙÛVWXYZaáàâbcçdeéèêfghiíìîjklmnoóòôpqrstuúùûvwxyz';
var globalSearchTransformAlphabet = 'AÁÀÂàáâBCÇcçDEÉÈÊeéèêFGHIÍÌÎiíìîJKLMNOÓÒÔoóòôPQRSTUÚÙÛuúùûVWXYZ';

// Configuración de calendario
var globalCalendarSelected = '';
var globalTodoCalendarSelected = '';
var globalActiveView = 'multiWeek';          // Vista por defecto: semana múltiple
var globalOpenFormMode = 'double';
var globalTodoListFilterSelected = ['filterAction', 'filterProgress', 'filterCompleted', 'filterCanceled'];
var globalActiveApp = null;
var globalTimeZone = 'Europe/Madrid';        // Zona horaria por defecto
var globalRewriteTimezoneComponent = true;
var globalRemoveUnknownTimezone = false;
var globalTimeZoneSupport = true;
var globalDisplayHiddenEvents = false;

// Configuraciones adicionales de usuario que se recordarán
var globalUserPreferences = {
    defaultView: 'multiWeek',                // Vista preferida del usuario
    showWeekends: true,                      // Mostrar fines de semana
    firstDayOfWeek: 1,                       // Lunes = 1, Domingo = 0
    workingHours: {start: 8, end: 18},       // Horario laboral
    timeFormat: '24h',                       // Formato de hora: 24h o 12h
    dateFormat: 'dd/mm/yyyy',                // Formato de fecha
    showTimeZone: true,                      // Mostrar zona horaria
    autoRefresh: true                        // Refrescar automáticamente
};

// Configuración de sincronización
var globalBackgroundSync = true;
var globalEnableRefresh = true;
var globalEnableKbNavigation = true;
var globalSettingsType = 'localStorage';  // Usar localStorage para guardar configuraciones
var globalCrossOrigin = null;
var globalVersionCheckURL = '';

// Configuraciones de persistencia de datos
var globalPersistentSettings = {
    saveCredentials: true,        // Guardar credenciales de forma segura
    saveViewPreferences: true,    // Guardar preferencias de vista
    saveCalendarSettings: true,   // Guardar configuraciones de calendario
    saveLanguageSettings: true,   // Guardar configuración de idioma
    autoSyncInterval: 30000       // Auto-sincronización cada 30 segundos
};

// Configuración de vista
var globalPreloadedPrincipals = null;
var globalLoadedPrincipals = null;
var globalAvailableCalDAVCollections = [];
var globalAvailableCardDAVCollections = [];
var globalResourceCalDAVList = {};
var globalResourceCardDAVList = {};

// Configuración de autenticación y persistencia
var globalUsername = '';
var globalPassword = '';
var globalUseJqueryAuth = true;  // Habilitar autenticación jQuery para persistencia
var globalSettingsAccount = false;  // Deshabilitar auto-discovery
var globalUseCache = true;
var globalStoreLocalization = true;
var globalRememberLogin = true;  // Recordar login
var globalStoreUserSettings = true;  // Guardar configuración de usuario

// Deshabilitar auto-discovery y rutas automáticas
var globalDisableAutoDiscovery = true;
var globalForceBaseUrl = true;

// Configuración específica para Radicale
var globalCrossOrigin = false;
var globalUseCrossOrigin = false;

// Variables adicionales requeridas
var globalContactDataMinVisiblePercentage = 0.2;
var globalEditorFadeAnimation = 666;
var globalEventStartPastLimit = 3;
var globalEventStartFutureLimit = 3;
var globalTodoStartPastLimit = 3;
var globalTodoStartFutureLimit = 3;

// Variables adicionales para interfaz
var globalHideInfoMessageAfter = 3000; // Tiempo en millisegundos para ocultar mensajes

// Configuración adicional para Radicale WebDAV
var globalDefaultActiveApp = null;
var globalSubscribedCalendars = {};
var globalCalendarStartOfBusiness = 8;
var globalCalendarEndOfBusiness = 17;
var globalAMPMFormat = false;

// Persistencia de configuraciones de usuario
var globalStoredSettings = {
    language: true,           // Recordar idioma
    activeView: true,         // Recordar vista activa (semana, mes, etc.)
    timezone: true,           // Recordar zona horaria
    calendarColors: true,     // Recordar colores de calendarios
    selectedCalendars: true,  // Recordar calendarios seleccionados
    interfaceSettings: true   // Recordar configuraciones de interfaz
};

// Configuración de sesión automática
var globalAutoLogin = true;               // Login automático si hay credenciales guardadas
var globalSessionTimeout = 86400000;      // Timeout de sesión: 24 horas (en millisegundos)
var globalKeepAlive = true;               // Mantener sesión activa
var globalKeepAliveInterval = 300000;     // Intervalo keep-alive: 5 minutos
