<?php $title = 'Gestion des Référentiels'; ?>
<div class="content-wrapper">
    <div class="content-header">
        <div class="container-fluid">
            <div class="row mb-2">
                <div class="col-sm-6">
                    <h1 class="m-0">Gestion des Référentiels</h1>
                </div>
                <div class="col-sm-6">
                    <ol class="breadcrumb float-sm-right">
                        <li class="breadcrumb-item"><a href="<?= route_url('/dashboard') ?>">Tableau de bord</a></li>
                        <li class="breadcrumb-item active">Référentiels</li>
                    </ol>
                </div>
            </div>
        </div>
    </div>

    <section class="content">
        <div class="container-fluid">
            <?php if (isset($_GET['success'])): ?>
                <div class="alert alert-success alert-dismissible fade show" role="alert">
                    <i class="fas fa-check-circle me-2"></i>
                    <strong>Succès!</strong> L'opération a été effectuée avec succès.
                    <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
                </div>
            <?php endif; ?>

            <?php if (isset($_GET['error'])): ?>
                <div class="alert alert-danger alert-dismissible fade show" role="alert">
                    <i class="fas fa-exclamation-triangle me-2"></i>
                    <strong>Erreur!</strong> 
                    <?php
                    $errorMsg = match($_GET['error']) {
                        'database' => 'Erreur de base de données. Veuillez réessayer.',
                        'invalid_type' => 'Type de référentiel invalide.',
                        'export_failed' => 'Erreur lors de l\'export.',
                        default => 'Une erreur est survenue.'
                    };
                    echo htmlspecialchars($errorMsg);
                    ?>
                    <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
                </div>
            <?php endif; ?>

            <div class="card">
                <div class="card-header">
                    <h3 class="card-title">
                        <i class="fas fa-list-alt me-2"></i>Référentiels du système
                    </h3>
                </div>
                <div class="card-body">
                    <!-- Navigation par onglets -->
                    <ul class="nav nav-tabs" id="referentialTabs" role="tablist">
                        <li class="nav-item" role="presentation">
                            <button class="nav-link active" id="maintenance-tab" data-bs-toggle="tab" data-bs-target="#maintenance" type="button" role="tab">
                                <i class="fas fa-tools me-1"></i>Types de maintenance
                            </button>
                        </li>
                        <li class="nav-item" role="presentation">
                            <button class="nav-link" id="locations-tab" data-bs-toggle="tab" data-bs-target="#locations" type="button" role="tab">
                                <i class="fas fa-map-marker-alt me-1"></i>Localisations
                            </button>
                        </li>
                        <li class="nav-item" role="presentation">
                            <button class="nav-link" id="liaisons-tab" data-bs-toggle="tab" data-bs-target="#liaisons" type="button" role="tab">
                                <i class="fas fa-link me-1"></i>Liaisons
                            </button>
                        </li>
                        <li class="nav-item" role="presentation">
                            <button class="nav-link" id="sites-tab" data-bs-toggle="tab" data-bs-target="#sites" type="button" role="tab">
                                <i class="fas fa-building me-1"></i>Sites
                            </button>
                        </li>
                        <li class="nav-item" role="presentation">
                            <button class="nav-link" id="causes-tab" data-bs-toggle="tab" data-bs-target="#causes" type="button" role="tab">
                                <i class="fas fa-exclamation-triangle me-1"></i>Causes probables
                            </button>
                        </li>
                        <li class="nav-item" role="presentation">
                            <button class="nav-link" id="priorities-tab" data-bs-toggle="tab" data-bs-target="#priorities" type="button" role="tab">
                                <i class="fas fa-flag me-1"></i>Priorités
                            </button>
                        </li>
                        <li class="nav-item" role="presentation">
                            <button class="nav-link" id="equipments-tab" data-bs-toggle="tab" data-bs-target="#equipments" type="button" role="tab">
                                <i class="fas fa-server me-1"></i>Équipements
                            </button>
                        </li>
                    </ul>

                    <!-- Contenu des onglets -->
                    <div class="tab-content mt-3" id="referentialTabsContent">
                        <!-- Types de maintenance -->
                        <div class="tab-pane fade show active" id="maintenance" role="tabpanel">
                            <div class="d-flex justify-content-between align-items-center mb-3">
                                <h5>Types de Maintenance</h5>
                                <div class="btn-group">
                                    <button type="button" class="btn btn-outline-secondary btn-sm" onclick="downloadTemplate('maintenance_types')" title="Télécharger le modèle CSV">
                                        <i class="fas fa-file-csv me-1"></i> Template
                                    </button>
                                    <button type="button" class="btn btn-success btn-sm" onclick="exportData('maintenance_types')">
                                        <i class="fas fa-download me-1"></i> Export
                                    </button>
                                    <button type="button" class="btn btn-info btn-sm" onclick="openImportModal('maintenance_types')">
                                        <i class="fas fa-upload me-1"></i> Import
                                    </button>
                                    <button type="button" class="btn btn-primary" onclick="openEditModal('maintenance_type')">
                                        <i class="fas fa-plus me-1"></i> Ajouter
                                    </button>
                                </div>
                            </div>
                            <div class="table-responsive">
                                <table class="table table-striped">
                                    <thead>
                                        <tr>
                                            <th>Nom</th>
                                            <th width="80">Statut</th>
                                            <th width="200">Actions</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <?php if (isset($referentials['maintenance_types'])): ?>
                                            <?php foreach ($referentials['maintenance_types'] as $item): ?>
                                            <tr>
                                                <td><?= htmlspecialchars($item['name']) ?></td>
                                                <td>
                                                    <span class="badge <?= $item['active'] ? 'bg-success' : 'bg-secondary' ?>">
                                                        <?= $item['active'] ? 'Actif' : 'Inactif' ?>
                                                    </span>
                                                </td>
                                                <td>
                                                    <button type="button" class="btn btn-sm btn-outline-primary" 
                                                            onclick="editItem('maintenance_type', <?= htmlspecialchars(json_encode($item)) ?>)" 
                                                            title="Modifier">
                                                        <i class="fas fa-edit"></i> Modifier
                                                    </button>
                                                    <button type="button" class="btn btn-sm btn-outline-danger" title="Supprimer"
                                                            onclick="showDeleteModal('<?= route_url('/referentials/delete?type=maintenance_type&id=' . $item['id']) ?>')">
                                                        <i class="fas fa-trash"></i> Supprimer
                                                    </button>
                                                </td>
                                            </tr>
                                            <?php endforeach; ?>
                                        <?php else: ?>
                                            <tr><td colspan="3" class="text-center text-muted">Aucun type de maintenance</td></tr>
                                        <?php endif; ?>
                                    </tbody>
                                </table>
                            </div>
                        </div>

                        <!-- Localisations -->
                        <div class="tab-pane fade" id="locations" role="tabpanel">
                            <div class="d-flex justify-content-between align-items-center mb-3">
                                <h5>Localisations</h5>
                                <div class="btn-group">
                                    <button type="button" class="btn btn-outline-secondary btn-sm" onclick="downloadTemplate('locations')">
                                        <i class="fas fa-file-csv me-1"></i> Template
                                    </button>
                                    <button type="button" class="btn btn-success btn-sm" onclick="exportData('locations')">
                                        <i class="fas fa-download me-1"></i> Export
                                    </button>
                                    <button type="button" class="btn btn-info btn-sm" onclick="openImportModal('locations')">
                                        <i class="fas fa-upload me-1"></i> Import
                                    </button>
                                    <button type="button" class="btn btn-primary" onclick="openEditModal('location')">
                                        <i class="fas fa-plus me-1"></i> Ajouter
                                    </button>
                                </div>
                            </div>
                            <div class="table-responsive">
                                <table class="table table-striped">
                                    <thead>
                                        <tr>
                                            <th>Nom</th>
                                            <th>Adresse</th>
                                            <th>Ville</th>
                                            <th width="80">Statut</th>
                                            <th width="120">Actions</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <?php if (isset($referentials['locations']) && count($referentials['locations'])): ?>
                                            <?php foreach ($referentials['locations'] as $item): ?>
                                            <tr>
                                                <td><?= htmlspecialchars($item['name']) ?></td>
                                                <td><?= htmlspecialchars($item['address'] ?? '') ?></td>
                                                <td><?= htmlspecialchars($item['city'] ?? '') ?></td>
                                                <td>
                                                    <span class="badge <?= $item['active'] ? 'bg-success' : 'bg-secondary' ?>">
                                                        <?= $item['active'] ? 'Actif' : 'Inactif' ?>
                                                    </span>
                                                </td>
                                                <td>
                                                    <button type="button" class="btn btn-sm btn-outline-primary" 
                                                            onclick="editItem('location', <?= htmlspecialchars(json_encode($item)) ?>)">
                                                        <i class="fas fa-edit"></i> Modifier
                                                    </button>
                                                    <button type="button" class="btn btn-sm btn-outline-danger"
                                                            onclick="showDeleteModal('<?= route_url('/referentials/delete?type=incident_cause&id=' . $item['id']) ?>')">
                                                        <i class="fas fa-trash"></i> Supprimer
                                                    </button>
                                                </td>
                                            </tr>
                                            <?php endforeach; ?>
                                        <?php else: ?>
                                            <tr><td colspan="5" class="text-center text-muted">Aucune localisation</td></tr>
                                        <?php endif; ?>
                                    </tbody>
                                </table>
                            </div>
                        </div>

                        <!-- Liaisons -->
                        <div class="tab-pane fade" id="liaisons" role="tabpanel">
                            <div class="d-flex justify-content-between align-items-center mb-3">
                                <h5>Liaisons</h5>
                                <div class="btn-group">
                                    <button type="button" class="btn btn-outline-secondary btn-sm" onclick="downloadTemplate('liaisons')">
                                        <i class="fas fa-file-csv me-1"></i> Template
                                    </button>
                                    <button type="button" class="btn btn-success btn-sm" onclick="exportData('liaisons')">
                                        <i class="fas fa-download me-1"></i> Export
                                    </button>
                                    <button type="button" class="btn btn-info btn-sm" onclick="openImportModal('liaisons')">
                                        <i class="fas fa-upload me-1"></i> Import
                                    </button>
                                    <button type="button" class="btn btn-primary" onclick="openEditModal('liaison')">
                                        <i class="fas fa-plus me-1"></i> Ajouter
                                    </button>
                                </div>
                            </div>
                            <div class="table-responsive">
                                <table class="table table-striped">
                                    <thead>
                                        <tr>
                                            <th>Nom</th>
                                            <th>Description</th>
                                            <th width="80">Statut</th>
                                            <th width="120">Actions</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <?php if (isset($referentials['liaisons']) && count($referentials['liaisons'])): ?>
                                            <?php foreach ($referentials['liaisons'] as $item): ?>
                                            <tr>
                                                <td><?= htmlspecialchars($item['name']) ?></td>
                                                <td><?= htmlspecialchars($item['description'] ?? '') ?></td>
                                                <td>
                                                    <span class="badge <?= $item['active'] ? 'bg-success' : 'bg-secondary' ?>">
                                                        <?= $item['active'] ? 'Actif' : 'Inactif' ?>
                                                    </span>
                                                </td>
                                                <td>
                                                    <button type="button" class="btn btn-sm btn-outline-primary" 
                                                            onclick="editItem('liaison', <?= htmlspecialchars(json_encode($item)) ?>)">
                                                        <i class="fas fa-edit"></i> Modifier
                                                    </button>
                                                    <button type="button" class="btn btn-sm btn-outline-danger"
                                                            onclick="showDeleteModal('<?= route_url('/referentials/delete?type=site&id=' . $item['id']) ?>')">
                                                        <i class="fas fa-trash"></i> Supprimer
                                                    </button>
                                                </td>
                                            </tr>
                                            <?php endforeach; ?>
                                        <?php else: ?>
                                            <tr><td colspan="4" class="text-center text-muted">Aucune liaison</td></tr>
                                        <?php endif; ?>
                                    </tbody>
                                </table>
                            </div>
                        </div>

                        <!-- Sites -->
                        <div class="tab-pane fade" id="sites" role="tabpanel">
                            <div class="d-flex justify-content-between align-items-center mb-3">
                                <h5>Sites</h5>
                                <div class="btn-group">
                                    <button type="button" class="btn btn-outline-secondary btn-sm" onclick="downloadTemplate('sites')">
                                        <i class="fas fa-file-csv me-1"></i> Template
                                    </button>
                                    <button type="button" class="btn btn-success btn-sm" onclick="exportData('sites')">
                                        <i class="fas fa-download me-1"></i> Export
                                    </button>
                                    <button type="button" class="btn btn-info btn-sm" onclick="openImportModal('sites')">
                                        <i class="fas fa-upload me-1"></i> Import
                                    </button>
                                    <button type="button" class="btn btn-primary" onclick="openEditModal('site')">
                                        <i class="fas fa-plus me-1"></i> Ajouter
                                    </button>
                                </div>
                            </div>
                            <div class="table-responsive">
                                <table class="table table-striped">
                                    <thead>
                                        <tr>
                                            <th>Nom</th>
                                            <th>Description</th>
                                            <th width="80">Statut</th>
                                            <th width="120">Actions</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <?php if (isset($referentials['sites']) && count($referentials['sites'])): ?>
                                            <?php foreach ($referentials['sites'] as $item): ?>
                                            <tr>
                                                <td><?= htmlspecialchars($item['name']) ?></td>
                                                <td><?= htmlspecialchars($item['description'] ?? '') ?></td>
                                                <td>
                                                    <span class="badge <?= $item['active'] ? 'bg-success' : 'bg-secondary' ?>">
                                                        <?= $item['active'] ? 'Actif' : 'Inactif' ?>
                                                    </span>
                                                </td>
                                                <td>
                                                    <button type="button" class="btn btn-sm btn-outline-primary" 
                                                            onclick="editItem('site', <?= htmlspecialchars(json_encode($item)) ?>)">
                                                        <i class="fas fa-edit"></i> Modifier
                                                    </button>
                                                    <button type="button" class="btn btn-sm btn-outline-danger"
                                                            onclick="showDeleteModal('<?= route_url('/referentials/delete?type=site&id=' . $item['id']) ?>')">
                                                        <i class="fas fa-trash"></i> Supprimer
                                                    </button>
                                                </td>
                                            </tr>
                                            <?php endforeach; ?>
                                        <?php else: ?>
                                            <tr><td colspan="4" class="text-center text-muted">Aucun site</td></tr>
                                        <?php endif; ?>
                                    </tbody>
                                </table>
                            </div>
                        </div>

                        <!-- Causes probables -->
                        <div class="tab-pane fade" id="causes" role="tabpanel">
                            <div class="d-flex justify-content-between align-items-center mb-3">
                                <h5>Causes Probables</h5>
                                <div class="btn-group">
                                    <button type="button" class="btn btn-outline-secondary btn-sm" onclick="downloadTemplate('incident_causes')">
                                        <i class="fas fa-file-csv me-1"></i> Template
                                    </button>
                                    <button type="button" class="btn btn-success btn-sm" onclick="exportData('incident_causes')">
                                        <i class="fas fa-download me-1"></i> Export
                                    </button>
                                    <button type="button" class="btn btn-info btn-sm" onclick="openImportModal('incident_causes')">
                                        <i class="fas fa-upload me-1"></i> Import
                                    </button>
                                    <button type="button" class="btn btn-primary" onclick="openEditModal('incident_cause')">
                                        <i class="fas fa-plus me-1"></i> Ajouter
                                    </button>
                                </div>
                            </div>
                            <div class="table-responsive">
                                <table class="table table-striped">
                                    <thead>
                                        <tr>
                                            <th>Nom</th>
                                            <th>Catégorie</th>
                                            <th>Description</th>
                                            <th width="80">Statut</th>
                                            <th width="120">Actions</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <?php if (isset($referentials['incident_causes']) && count($referentials['incident_causes'])): ?>
                                            <?php foreach ($referentials['incident_causes'] as $item): ?>
                                            <tr>
                                                <td><?= htmlspecialchars($item['name']) ?></td>
                                                <td><?= htmlspecialchars($item['category'] ?? '') ?></td>
                                                <td><?= htmlspecialchars($item['description'] ?? '') ?></td>
                                                <td>
                                                    <span class="badge <?= $item['active'] ? 'bg-success' : 'bg-secondary' ?>">
                                                        <?= $item['active'] ? 'Actif' : 'Inactif' ?>
                                                    </span>
                                                </td>
                                                <td>
                                                    <button type="button" class="btn btn-sm btn-outline-primary" 
                                                            onclick="editItem('incident_cause', <?= htmlspecialchars(json_encode($item)) ?>)">
                                                        <i class="fas fa-edit"></i> Modifier
                                                    </button>
                                                    <button type="button" class="btn btn-sm btn-outline-danger"
                                                            onclick="showDeleteModal('<?= route_url('/referentials/delete?type=incident_cause&id=' . $item['id']) ?>')">
                                                        <i class="fas fa-trash"></i> Supprimer
                                                    </button>
                                                </td>
                                            </tr>
                                            <?php endforeach; ?>
                                        <?php else: ?>
                                            <tr><td colspan="5" class="text-center text-muted">Aucune cause probable</td></tr>
                                        <?php endif; ?>
                                    </tbody>
                                </table>
                            </div>
                        </div>

                        <!-- Priorités -->
                        <div class="tab-pane fade" id="priorities" role="tabpanel">
                            <div class="d-flex justify-content-between align-items-center mb-3">
                                <h5>Niveaux de Priorité</h5>
                                <div class="btn-group">
                                    <button type="button" class="btn btn-outline-secondary btn-sm" onclick="downloadTemplate('priority_levels')">
                                        <i class="fas fa-file-csv me-1"></i> Template
                                    </button>
                                    <button type="button" class="btn btn-success btn-sm" onclick="exportData('priority_levels')">
                                        <i class="fas fa-download me-1"></i> Export
                                    </button>
                                    <button type="button" class="btn btn-info btn-sm" onclick="openImportModal('priority_levels')">
                                        <i class="fas fa-upload me-1"></i> Import
                                    </button>
                                    <button type="button" class="btn btn-primary" onclick="openEditModal('priority_level')">
                                        <i class="fas fa-plus me-1"></i> Ajouter
                                    </button>
                                </div>
                            </div>
                            <div class="table-responsive">
                                <table class="table table-striped">
                                    <thead>
                                        <tr>
                                            <th>Nom</th>
                                            <th>Ordre</th>
                                            <th>Couleur</th>
                                            <th>Description</th>
                                            <th width="120">Actions</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <?php if (isset($referentials['priority_levels']) && count($referentials['priority_levels'])): ?>
                                            <?php foreach ($referentials['priority_levels'] as $item): ?>
                                            <tr>
                                                <td><?= htmlspecialchars($item['name']) ?></td>
                                                <td><?= htmlspecialchars($item['sort_order'] ?? '') ?></td>
                                                <td>
                                                    <span class="badge" style="background-color: <?= htmlspecialchars($item['color'] ?? '#6c757d') ?>">
                                                        <?= htmlspecialchars($item['color'] ?? '#6c757d') ?>
                                                    </span>
                                                </td>
                                                <td><?= htmlspecialchars($item['description'] ?? '') ?></td>
                                                <td>
                                                    <button type="button" class="btn btn-sm btn-outline-primary" 
                                                            onclick="editItem('priority_level', <?= htmlspecialchars(json_encode($item)) ?>)">
                                                        <i class="fas fa-edit"></i> Modifier
                                                    </button>
                                                    <button type="button" class="btn btn-sm btn-outline-danger"
                                                            onclick="showDeleteModal('<?= route_url('/referentials/delete?type=priority_level&id=' . $item['id']) ?>')">
                                                        <i class="fas fa-trash"></i> Supprimer
                                                    </button>
                                                </td>
                                            </tr>
                                            <?php endforeach; ?>
                                        <?php else: ?>
                                            <tr><td colspan="5" class="text-center text-muted">Aucun niveau de priorité</td></tr>
                                        <?php endif; ?>
                                    </tbody>
                                </table>
                            </div>
                        </div>

                        <!-- Équipements -->
                        <div class="tab-pane fade" id="equipments" role="tabpanel">
                            <div class="d-flex justify-content-between align-items-center mb-3">
                                <h5>Équipements</h5>
                                <div class="btn-group">
                                    <button type="button" class="btn btn-outline-secondary btn-sm" onclick="downloadTemplate('equipments')">
                                        <i class="fas fa-file-csv me-1"></i> Template
                                    </button>
                                    <button type="button" class="btn btn-success btn-sm" onclick="exportData('equipments')">
                                        <i class="fas fa-download me-1"></i> Export
                                    </button>
                                    <button type="button" class="btn btn-info btn-sm" onclick="openImportModal('equipments')">
                                        <i class="fas fa-upload me-1"></i> Import
                                    </button>
                                    <button type="button" class="btn btn-primary" onclick="openEditModal('equipment')">
                                        <i class="fas fa-plus me-1"></i> Ajouter
                                    </button>
                                </div>
                            </div>
                            <div class="table-responsive">
                                <table class="table table-striped">
                                    <thead>
                                        <tr>
                                            <th>Nom</th>
                                            <th>Catégorie</th>
                                            <th>Description</th>
                                            <th width="80">Statut</th>
                                            <th width="120">Actions</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <?php if (isset($referentials['equipments']) && count($referentials['equipments'])): ?>
                                            <?php foreach ($referentials['equipments'] as $item): ?>
                                            <tr>
                                                <td><?= htmlspecialchars($item['name']) ?></td>
                                                <td><?= htmlspecialchars($item['category'] ?? '') ?></td>
                                                <td><?= htmlspecialchars($item['description'] ?? '') ?></td>
                                                <td>
                                                    <span class="badge <?= $item['active'] ? 'bg-success' : 'bg-secondary' ?>">
                                                        <?= $item['active'] ? 'Actif' : 'Inactif' ?>
                                                    </span>
                                                </td>
                                                <td>
                                                    <button type="button" class="btn btn-sm btn-outline-primary" 
                                                            onclick="editItem('equipment', <?= htmlspecialchars(json_encode($item)) ?>)">
                                                        <i class="fas fa-edit"></i> Modifier
                                                    </button>
                                                    <button type="button" class="btn btn-sm btn-outline-danger"
                                                            onclick="showDeleteModal('<?= route_url('/referentials/delete?type=equipment&id=' . $item['id']) ?>')">
                                                        <i class="fas fa-trash"></i> Supprimer
                                                    </button>
                                                </td>
                                            </tr>
                                            <?php endforeach; ?>
                                        <?php else: ?>
                                            <tr><td colspan="5" class="text-center text-muted">Aucun équipement</td></tr>
                                        <?php endif; ?>
                                    </tbody>
                                </table>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>
</div>

<!-- Modales d'édition et d'import -->

<!-- Modale d'édition universelle -->
<div class="modal fade" id="editModal" tabindex="-1" aria-labelledby="editModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="editModalLabel">Ajouter/Modifier un élément</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
            </div>
            <form id="editForm" method="POST" action="<?= route_url('/referentials/store') ?>">
                <div class="modal-body">
                    <input type="hidden" id="editType" name="type">
                    <input type="hidden" id="editId" name="id">
                    
                    <div class="mb-3">
                        <label for="editName" class="form-label">Nom <span class="text-danger">*</span></label>
                        <input type="text" class="form-control" id="editName" name="name" required>
                    </div>
                    
                    <div class="mb-3" id="editCategoryGroup" style="display: none;">
                        <label for="editCategory" class="form-label">Catégorie</label>
                        <input type="text" class="form-control" id="editCategory" name="category">
                    </div>
                    
                    <div class="mb-3" id="editDescriptionGroup" style="display: none;">
                        <label for="editDescription" class="form-label">Description</label>
                        <textarea class="form-control" id="editDescription" name="description" rows="3"></textarea>
                    </div>
                    
                    <div class="mb-3" id="editAddressGroup" style="display: none;">
                        <label for="editAddress" class="form-label">Adresse</label>
                        <textarea class="form-control" id="editAddress" name="address" rows="2"></textarea>
                    </div>
                    
                    <div class="row" id="editLocationGroup" style="display: none;">
                        <div class="col-md-6">
                            <label for="editCity" class="form-label">Ville</label>
                            <input type="text" class="form-control" id="editCity" name="city">
                        </div>
                        <div class="col-md-6">
                            <label for="editPostalCode" class="form-label">Code postal</label>
                            <input type="text" class="form-control" id="editPostalCode" name="postal_code">
                        </div>
                    </div>
                    
                    <div class="row" id="editPriorityGroup" style="display: none;">
                        <div class="col-md-6">
                            <label for="editSortOrder" class="form-label">Ordre</label>
                            <input type="number" class="form-control" id="editSortOrder" name="sort_order" min="1" value="10">
                        </div>
                        <div class="col-md-6">
                            <label for="editColor" class="form-label">Couleur</label>
                            <input type="color" class="form-control" id="editColor" name="color" value="#6c757d">
                        </div>
                    </div>
                    
                    <div class="mb-3" id="editActiveGroup">
                        <div class="form-check">
                            <input type="checkbox" class="form-check-input" id="editActive" name="active" checked>
                            <label class="form-check-label" for="editActive">Actif</label>
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Annuler</button>
                    <button type="submit" class="btn btn-primary">Enregistrer</button>
                </div>
            </form>
        </div>
    </div>
</div>

<!-- Modale d'import -->
<div class="modal fade" id="importModal" tabindex="-1" aria-labelledby="importModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="importModalLabel">Importer des données</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
            </div>
            <div class="modal-body">
                <div class="alert alert-info">
                    <h6><i class="fas fa-info-circle me-2"></i>Instructions :</h6>
                    <ol class="mb-0">
                        <li>Téléchargez le modèle CSV en cliquant sur le bouton "Template"</li>
                        <li>Remplissez le fichier CSV avec vos données</li>
                        <li>Sélectionnez le fichier ci-dessous pour l'importer</li>
                    </ol>
                </div>
                
                <div id="importFields" class="mb-3">
                    <!-- Les champs requis seront affichés ici dynamiquement -->
                </div>
                
                <form id="importForm" enctype="multipart/form-data">
                    <input type="hidden" id="importType" name="type">
                    <div class="mb-3">
                        <label for="importFile" class="form-label">Sélectionnez votre fichier CSV</label>
                        <input type="file" class="form-control" id="importFile" name="file" accept=".csv" required>
                        <div class="form-text">Format accepté : CSV uniquement</div>
                    </div>
                </form>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Fermer</button>
                <button type="button" class="btn btn-primary" onclick="performImport()">Importer</button>
            </div>
        </div>
    </div>
</div>

<!-- Modale de confirmation de suppression -->
<div class="modal fade" id="deleteModal" tabindex="-1" aria-labelledby="deleteModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header bg-danger text-white">
                <h5 class="modal-title" id="deleteModalLabel">
                    <i class="fas fa-exclamation-triangle me-2"></i>Confirmation de suppression
                </h5>
                <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
            </div>
            <div class="modal-body">
                <div class="d-flex align-items-center mb-3">
                    <div class="text-danger me-3" style="font-size: 3rem;">
                        <i class="fas fa-exclamation-triangle"></i>
                    </div>
                    <div>
                        <h6 class="mb-1">Supprimer cet élément ?</h6>
                        <p class="mb-0 text-muted">Cette action est irréversible. L'élément sera définitivement supprimé.</p>
                    </div>
                </div>
                <div class="alert alert-warning" style="border-left: 4px solid #ffc107;">
                    <small><strong>Attention :</strong> Assurez-vous que cet élément n'est pas utilisé ailleurs dans le système avant de le supprimer.</small>
                </div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">
                    <i class="fas fa-times me-1"></i> Annuler
                </button>
                <a id="confirmDeleteBtn" href="#" class="btn btn-danger">
                    <i class="fas fa-trash me-1"></i> Confirmer la suppression
                </a>
            </div>
        </div>
    </div>
</div>

<!-- Styles de fallback pour les boutons et icônes -->
<style>
/* Assurer que les boutons sont visibles même sans Bootstrap */
.btn {
    display: inline-block;
    padding: 6px 12px;
    margin: 2px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    border: 1px solid;
    border-radius: 4px;
    text-decoration: none;
    color: #333;
    background-color: #fff;
}

.btn-sm {
    padding: 4px 8px;
    font-size: 12px;
}

.btn-outline-primary {
    color: #007bff;
    border-color: #007bff;
    background-color: transparent;
}

.btn-outline-primary:hover {
    color: #fff;
    background-color: #007bff;
}

.btn-outline-danger {
    color: #dc3545;
    border-color: #dc3545;
    background-color: transparent;
}

.btn-outline-danger:hover {
    color: #fff;
    background-color: #dc3545;
}

.btn-primary {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff;
}

.btn-info {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8;
}

.btn-success {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745;
}

.btn-outline-secondary {
    color: #6c757d;
    border-color: #6c757d;
    background-color: transparent;
}

/* Icônes de fallback si FontAwesome n'est pas chargé */
.fas.fa-edit:before { content: "✏️"; }
.fas.fa-trash:before { content: "🗑️"; }
.fas.fa-plus:before { content: "➕"; }
.fas.fa-upload:before { content: "📤"; }
.fas.fa-download:before { content: "📥"; }
.fas.fa-file-csv:before { content: "📄"; }

/* S'assurer que les actions sont toujours visibles */
td:last-child {
    min-width: 120px;
    white-space: nowrap;
}

/* Style pour les badges */
.badge {
    display: inline-block;
    padding: 0.25em 0.4em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 0.25rem;
}

.bg-success {
    color: #fff;
    background-color: #28a745;
}

.bg-secondary {
    color: #fff;
    background-color: #6c757d;
}
</style>

<script>
// Configuration des champs par type
const fieldConfig = {
    maintenance_type: {
        title: 'Type de maintenance',
        fields: ['name', 'active'],
        requiredFields: ['name : Nom du type de maintenance', 'active : Statut (1 pour actif, 0 pour inactif)']
    },
    location: {
        title: 'Localisation',
        fields: ['name', 'address', 'city', 'postal_code', 'active'],
        requiredFields: ['name : Nom de la localisation', 'active : Statut (1 pour actif, 0 pour inactif)']
    },
    liaison: {
        title: 'Liaison',
        fields: ['name', 'description', 'active'],
        requiredFields: ['name : Nom de la liaison', 'active : Statut (1 pour actif, 0 pour inactif)']
    },
    site: {
        title: 'Site',
        fields: ['name', 'description', 'active'],
        requiredFields: ['name : Nom du site', 'active : Statut (1 pour actif, 0 pour inactif)']
    },
    incident_cause: {
        title: 'Cause probable',
        fields: ['name', 'category', 'description', 'active'],
        requiredFields: ['name : Nom de la cause', 'category : Catégorie', 'active : Statut (1 pour actif, 0 pour inactif)']
    },
    priority_level: {
        title: 'Niveau de priorité',
        fields: ['name', 'sort_order', 'color', 'description'],
        requiredFields: ['name : Nom du niveau', 'sort_order : Ordre de tri (nombre)', 'color : Couleur (hex)', 'description : Description']
    },
    equipment: {
        title: 'Équipement',
        fields: ['name', 'category', 'description', 'active'],
        requiredFields: ['name : Nom de l\'équipement', 'category : Catégorie', 'active : Statut (1 pour actif, 0 pour inactif)']
    }
};

// Fonctions d'export et template
function exportData(tableName) {
    const baseUrl = '<?= route_url('/referentials/export') ?>';
    window.location.href = baseUrl + '?type=' + tableName;
}

function downloadTemplate(type) {
    const baseUrl = '<?= route_url('/referentials/template') ?>';
    window.location.href = baseUrl + '?type=' + type;
}

// Ouvrir la modale d'édition
function openEditModal(type, item = null) {
    const config = fieldConfig[type];
    if (!config) return;
    
    document.getElementById('editModalLabel').textContent = 
        (item ? 'Modifier' : 'Ajouter') + ' - ' + config.title;
    
    // Reset form
    document.getElementById('editForm').reset();
    document.getElementById('editType').value = type;
    document.getElementById('editId').value = item ? item.id : '';
    
    // Masquer tous les groupes optionnels
    ['editCategoryGroup', 'editDescriptionGroup', 'editAddressGroup', 
     'editLocationGroup', 'editPriorityGroup'].forEach(id => {
        document.getElementById(id).style.display = 'none';
    });
    
    // Afficher les champs selon le type
    if (config.fields.includes('category')) {
        document.getElementById('editCategoryGroup').style.display = 'block';
    }
    if (config.fields.includes('description')) {
        document.getElementById('editDescriptionGroup').style.display = 'block';
    }
    if (config.fields.includes('address')) {
        document.getElementById('editAddressGroup').style.display = 'block';
        document.getElementById('editLocationGroup').style.display = 'block';
    }
    if (config.fields.includes('sort_order')) {
        document.getElementById('editPriorityGroup').style.display = 'block';
    }
    
    // Masquer le checkbox active pour les priority_levels
    document.getElementById('editActiveGroup').style.display = 
        type === 'priority_level' ? 'none' : 'block';
    
    // Pré-remplir si modification (APRÈS avoir affiché les champs)
    if (item) {
        document.getElementById('editName').value = item.name || '';
        
        // Remplir catégorie si le champ est affiché pour ce type
        if (config.fields.includes('category')) {
            document.getElementById('editCategory').value = item.category || '';
        }
        
        // Remplir description si le champ est affiché pour ce type
        if (config.fields.includes('description')) {
            document.getElementById('editDescription').value = item.description || '';
        }
        
        // Remplir adresse si les champs sont affichés pour ce type
        if (config.fields.includes('address')) {
            document.getElementById('editAddress').value = item.address || '';
            document.getElementById('editCity').value = item.city || '';
            document.getElementById('editPostalCode').value = item.postal_code || '';
        }
        
        // Remplir priorité si les champs sont affichés pour ce type
        if (config.fields.includes('sort_order')) {
            document.getElementById('editSortOrder').value = item.sort_order || '10';
            document.getElementById('editColor').value = item.color || '#6c757d';
        }
        
        // Remplir statut actif si le champ est affiché pour ce type
        if (config.fields.includes('active') && type !== 'priority_level') {
            document.getElementById('editActive').checked = item.active == 1;
        }
    }
    
    new bootstrap.Modal(document.getElementById('editModal')).show();
}

// Alias pour editItem (pour compatibilité avec les boutons)
function editItem(type, item) {
    openEditModal(type, item);
}

// Ouvrir la modale d'import
function openImportModal(type) {
    const config = fieldConfig[type.replace(/s$/, '').replace('_types', '_type')];
    if (!config) {
        // Fallback pour les types pluriels
        const singularType = type.replace(/s$/, '');
        const fallbackConfig = fieldConfig[singularType] || fieldConfig[singularType + '_type'] || fieldConfig[singularType.replace('_type', '')];
        if (!fallbackConfig) return;
        config = fallbackConfig;
    }
    
    document.getElementById('importModalLabel').textContent = 'Importer des données - ' + config.title;
    document.getElementById('importType').value = type;
    
    // Afficher les champs requis
    const fieldsHtml = '<h6>Champs requis :</h6><ul>' + 
        config.requiredFields.map(field => '<li>' + field + '</li>').join('') + 
        '</ul>';
    document.getElementById('importFields').innerHTML = fieldsHtml;
    
    // Reset form
    document.getElementById('importForm').reset();
    
    new bootstrap.Modal(document.getElementById('importModal')).show();
}

// Effectuer l'import
function performImport() {
    const formData = new FormData(document.getElementById('importForm'));
    
    fetch('<?= route_url('/referentials/import') ?>', {
        method: 'POST',
        body: formData
    })
    .then(response => response.json())
    .then(data => {
        if (data.success) {
            alert('Import réussi! ' + data.imported + ' éléments importés.');
            location.reload();
        } else {
            alert('Erreur lors de l\'import : ' + (data.error || 'Erreur inconnue'));
        }
    })
    .catch(error => {
        console.error('Erreur:', error);
        alert('Erreur lors de l\'import');
    });
}

// Afficher le modal de confirmation de suppression
function showDeleteModal(deleteUrl) {
    // Sauvegarder l'onglet actif avant la suppression
    saveCurrentTab();
    
    // Définir l'URL de suppression sur le bouton de confirmation
    document.getElementById('confirmDeleteBtn').href = deleteUrl;
    
    // Afficher le modal avec gestion d'erreur
    try {
        if (typeof bootstrap !== 'undefined' && document.getElementById('deleteModal')) {
            const deleteModal = new bootstrap.Modal(document.getElementById('deleteModal'));
            deleteModal.show();
        } else {
            // Fallback vers confirm() si Bootstrap n'est pas disponible
            if (confirm('Supprimer cet élément ?\n\nCette action est irréversible.')) {
                window.location.href = deleteUrl;
            }
        }
    } catch (error) {
        // En cas d'erreur, utiliser la confirmation simple
        if (confirm('Supprimer cet élément ?\n\nCette action est irréversible.')) {
            window.location.href = deleteUrl;
        }
    }
}

// Gestion de la persistance des onglets
function saveCurrentTab() {
    try {
        // Trouver l'onglet actif
        const activeTab = document.querySelector('#referentialTabs .nav-link.active');
        if (activeTab) {
            const tabId = activeTab.getAttribute('data-bs-target');
            localStorage.setItem('activeReferentialTab', tabId);
        }
    } catch (error) {
        console.log('Erreur sauvegarde onglet:', error);
    }
}

function restoreActiveTab() {
    try {
        const savedTab = localStorage.getItem('activeReferentialTab');
        if (savedTab) {
            // Désactiver l'onglet par défaut
            const defaultTab = document.querySelector('#referentialTabs .nav-link.active');
            const defaultContent = document.querySelector('.tab-pane.active');
            
            if (defaultTab) {
                defaultTab.classList.remove('active');
            }
            if (defaultContent) {
                defaultContent.classList.remove('show', 'active');
            }
            
            // Activer l'onglet sauvegardé
            const tabButton = document.querySelector(`[data-bs-target="${savedTab}"]`);
            const tabContent = document.querySelector(savedTab);
            
            if (tabButton && tabContent) {
                tabButton.classList.add('active');
                tabContent.classList.add('show', 'active');
            }
        }
    } catch (error) {
        console.log('Erreur restauration onglet:', error);
    }
}

// Initialisation au chargement de la page
document.addEventListener('DOMContentLoaded', function() {
    // Restaurer l'onglet actif
    restoreActiveTab();
    
    // Écouter les clics sur les onglets pour sauvegarder
    document.querySelectorAll('#referentialTabs .nav-link').forEach(tab => {
        tab.addEventListener('click', function() {
            // Petite temporisation pour que la classe active soit mise à jour
            setTimeout(saveCurrentTab, 100);
        });
    });
    
    // Sauvegarder avant soumission des formulaires
    const editForm = document.getElementById('editForm');
    if (editForm) {
        editForm.addEventListener('submit', saveCurrentTab);
    }
    
    const importForm = document.getElementById('importForm');
    if (importForm) {
        // Pour le formulaire d'import, on sauvegarde avant l'ajax
        const originalPerformImport = window.performImport;
        window.performImport = function() {
            saveCurrentTab();
            originalPerformImport();
        };
    }
});
</script>