<?php
// Set page variables for header
$pageTitle = 'Laporkan Kasus - Darurat Mafia Tanah';
$pageDescription = 'Laporkan kasus mafia tanah dan konflik pertanahan secara anonim. Kami berkomitmen melindungi identitas Anda dan mengungkap kebenaran.';
$showAdminLink = false; // Hide admin link on public pages

$success_message = '';
$error_message = '';

// Handle form submission
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Sanitize input data
    $data = [
        'id' => uniqid('report_', true),
        'timestamp' => date('Y-m-d H:i:s'),
        'location' => trim($_POST['location'] ?? ''),
        'case_type' => trim($_POST['case_type'] ?? ''),
        'description' => trim($_POST['description'] ?? ''),
        'timeline' => trim($_POST['timeline'] ?? ''),
        'perpetrators' => trim($_POST['perpetrators'] ?? ''),
        'evidence' => trim($_POST['evidence'] ?? ''),
        'reporter_name' => trim($_POST['reporter_name'] ?? 'Anonim'),
        'contact' => trim($_POST['contact'] ?? ''),
        'agree_terms' => isset($_POST['agree_terms']) ? 'Ya' : 'Tidak',
        'agree_publish' => isset($_POST['agree_publish']) ? 'Ya' : 'Tidak',
        'ip_address' => $_SERVER['REMOTE_ADDR'] ?? 'Unknown',
        'user_agent' => $_SERVER['HTTP_USER_AGENT'] ?? 'Unknown'
    ];
    
    // Validate required fields
    if (empty($data['location']) || empty($data['case_type']) || empty($data['description'])) {
        $error_message = 'Mohon lengkapi semua field yang wajib diisi.';
    } else {
        // Create reports directory if it doesn't exist
        if (!is_dir('reports')) {
            mkdir('reports', 0755, true);
        }
        
        // Generate filename with timestamp and unique ID
        $filename = 'reports/report_' . date('Ymd_His') . '_' . substr($data['id'], 7, 8) . '.json';
        
        // Save to JSON file
        if (file_put_contents($filename, json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE))) {
            $success_message = 'Laporan Anda telah berhasil dikirim dan tersimpan. Tim kami akan segera menindaklanjuti informasi yang Anda berikan.';
        } else {
            $error_message = 'Terjadi kesalahan saat menyimpan laporan. Silakan coba lagi atau hubungi kami langsung.';
        }
    }
}

// Include header
include 'includes/header.php';
?>

<main>
    <div class="container main-content">
        <div class="report-section">
            <h1 class="page-title">Laporkan Kasus Mafia Tanah</h1>
            <p class="report-intro">
                Kami menghargai keberanian Anda dalam melaporkan kasus mafia tanah. 
                Informasi yang Anda berikan akan ditangani dengan sangat hati-hati dan kerahasiaan Anda adalah prioritas kami.
            </p>
            
            <div class="warning-box">
                <h3>Penting untuk Diketahui:</h3>
                <ul>
                    <li>Laporan Anda akan dirahasiakan</li>
                    <li>Tim investigasi kami akan memverifikasi informasi</li>
                    <li>Kami akan menghubungi Anda jika diperlukan</li>
                    <li>Bukti yang kuat akan membantu proses investigasi</li>
                </ul>
            </div>

            <form class="report-form" method="POST" id="reportForm">
                <div class="form-group">
                    <label for="location">Lokasi Kasus *</label>
                    <input type="text" id="location" name="location" required 
                           placeholder="Contoh: Kelurahan Manggarai, Jakarta Selatan"
                           value="<?php echo htmlspecialchars($_POST['location'] ?? ''); ?>">
                </div>

                <div class="form-group">
                    <label for="case_type">Jenis Kasus *</label>
                    <select id="case_type" name="case_type" required>
                        <option value="">Pilih jenis kasus...</option>
                        <option value="penggusuran" <?php echo ($_POST['case_type'] ?? '') === 'penggusuran' ? 'selected' : ''; ?>>Penggusuran Paksa</option>
                        <option value="sertifikat_palsu" <?php echo ($_POST['case_type'] ?? '') === 'sertifikat_palsu' ? 'selected' : ''; ?>>Sertifikat Palsu</option>
                        <option value="tanah_negara" <?php echo ($_POST['case_type'] ?? '') === 'tanah_negara' ? 'selected' : ''; ?>>Perampasan Tanah Negara</option>
                        <option value="intimidasi" <?php echo ($_POST['case_type'] ?? '') === 'intimidasi' ? 'selected' : ''; ?>>Intimidasi/Ancaman</option>
                        <option value="korupsi" <?php echo ($_POST['case_type'] ?? '') === 'korupsi' ? 'selected' : ''; ?>>Korupsi Pertanahan</option>
                        <option value="preman" <?php echo ($_POST['case_type'] ?? '') === 'preman' ? 'selected' : ''; ?>>Aktivitas Preman</option>
                        <option value="lainnya" <?php echo ($_POST['case_type'] ?? '') === 'lainnya' ? 'selected' : ''; ?>>Lainnya</option>
                    </select>
                </div>

                <div class="form-group">
                    <label for="description">Deskripsi Kasus *</label>
                    <textarea id="description" name="description" rows="6" required 
                              placeholder="Ceritakan detail kasus yang terjadi. Semakin detail, semakin membantu proses investigasi kami."><?php echo htmlspecialchars($_POST['description'] ?? ''); ?></textarea>
                </div>

                <div class="form-group">
                    <label for="timeline">Kapan Kejadian</label>
                    <input type="text" id="timeline" name="timeline" 
                           placeholder="Contoh: 15 Januari 2025, atau sekitar bulan Desember 2024"
                           value="<?php echo htmlspecialchars($_POST['timeline'] ?? ''); ?>">
                </div>

                <div class="form-group">
                    <label for="perpetrators">Pihak yang Terlibat</label>
                    <textarea id="perpetrators" name="perpetrators" rows="3" 
                              placeholder="Nama perusahaan, developer, oknum pemerintah, atau pihak lain yang terlibat (jika diketahui)"><?php echo htmlspecialchars($_POST['perpetrators'] ?? ''); ?></textarea>
                </div>

                <div class="form-group">
                    <label for="evidence">Bukti yang Dimiliki</label>
                    <textarea id="evidence" name="evidence" rows="3" 
                              placeholder="Deskripsi bukti: foto, video, dokumen, saksi mata, dll. (jangan upload file sensitif di sini)"><?php echo htmlspecialchars($_POST['evidence'] ?? ''); ?></textarea>
                </div>

                <div class="form-group">
                    <label for="reporter_name">Nama Pelapor</label>
                    <input type="text" id="reporter_name" name="reporter_name" 
                           placeholder="Boleh diisi anonim atau inisial"
                           value="<?php echo htmlspecialchars($_POST['reporter_name'] ?? ''); ?>">
                </div>

                <div class="form-group">
                    <label for="contact">Kontak (Opsional)</label>
                    <input type="text" id="contact" name="contact" 
                           placeholder="WhatsApp, email, atau cara menghubungi Anda"
                           value="<?php echo htmlspecialchars($_POST['contact'] ?? ''); ?>">
                    <small>Hanya digunakan untuk klarifikasi dan konfirmasi. Tidak akan dipublikasikan.</small>
                </div>

                <div class="form-group checkbox-group">
                    <label class="checkbox-label">
                        <input type="checkbox" name="agree_terms" required <?php echo isset($_POST['agree_terms']) ? 'checked' : ''; ?>>
                        <span class="checkmark"></span>
                        Saya memahami bahwa informasi ini akan digunakan untuk kepentingan investigasi dan menegakkan keadilan
                    </label>
                </div>

                <div class="form-group checkbox-group">
                    <label class="checkbox-label">
                        <input type="checkbox" name="agree_publish" <?php echo isset($_POST['agree_publish']) ? 'checked' : ''; ?>>
                        <span class="checkmark"></span>
                        Saya setuju jika kasus ini dipublikasikan (dengan menyamarkan identitas jika diperlukan)
                    </label>
                </div>

                <button type="submit" class="submit-btn">
                    Kirim Laporan
                </button>
            </form>

            <div class="alternative-contact">
                <h3>Cara Lain Menghubungi Kami:</h3>
                <div class="contact-methods">
                    <div class="contact-method">
                        <div class="method-details">
                            <strong>Email</strong>
                            <a href="mailto:laporan@daruratmafiatanah.com">laporan@daruratmafiatanah.com</a>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</main>

<!-- Success/Error Popup -->
<?php if ($success_message || $error_message): ?>
<div id="popup-overlay" class="popup-overlay">
    <div class="popup-content">
        <div class="popup-header <?php echo $success_message ? 'success' : 'error'; ?>">
            <h3><?php echo $success_message ? 'Laporan Berhasil Dikirim!' : 'Terjadi Kesalahan'; ?></h3>
        </div>
        <div class="popup-body">
            <p><?php echo $success_message ? $success_message : $error_message; ?></p>
        </div>
        <div class="popup-footer">
            <button onclick="closePopup()" class="popup-btn">Tutup</button>
        </div>
    </div>
</div>
<?php endif; ?>

<style>
    .main-content {
        padding: 2rem 0;
    }

    .report-section {
        max-width: 800px;
        margin: 0 auto;
        background: white;
        padding: 2rem;
        border-radius: 12px;
        box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    }

    .page-title {
        color: #2c3e50;
        font-family: 'Oswald', sans-serif;
        font-size: 2.2rem;
        margin-bottom: 1rem;
        text-align: center;
        background: linear-gradient(135deg, #c0392b, #a93226);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }

    .report-intro {
        text-align: center;
        font-size: 1.1rem;
        color: #555;
        line-height: 1.6;
        margin-bottom: 2rem;
        padding: 1.5rem;
        background: rgba(52, 152, 219, 0.1);
        border-radius: 8px;
        border-left: 4px solid #3498db;
    }

    .warning-box {
        background: #f39c12;
        color: white;
        padding: 1.5rem;
        border-radius: 8px;
        margin-bottom: 2rem;
    }

    .warning-box h3 {
        margin-bottom: 1rem;
        font-family: 'Oswald', sans-serif;
    }

    .warning-box ul {
        list-style: none;
        padding: 0;
    }

    .warning-box li {
        margin-bottom: 0.5rem;
        font-size: 0.95rem;
        position: relative;
        padding-left: 1.5rem;
    }

    .warning-box li:before {
        content: '•';
        position: absolute;
        left: 0;
        color: white;
        font-weight: bold;
    }

    .report-form {
        margin-bottom: 3rem;
    }

    .form-group {
        margin-bottom: 1.5rem;
    }

    .form-group label {
        display: block;
        font-weight: 600;
        margin-bottom: 0.5rem;
        color: #2c3e50;
        font-size: 1rem;
    }

    .form-group input,
    .form-group select,
    .form-group textarea {
        width: 100%;
        padding: 0.8rem;
        border: 2px solid #ddd;
        border-radius: 8px;
        font-size: 1rem;
        transition: all 0.3s ease;
        font-family: inherit;
        box-sizing: border-box;
    }

    .form-group input:focus,
    .form-group select:focus,
    .form-group textarea:focus {
        outline: none;
        border-color: #3498db;
        box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1);
    }

    .form-group textarea {
        resize: vertical;
        min-height: 120px;
    }

    .form-group small {
        display: block;
        color: #666;
        font-size: 0.85rem;
        margin-top: 0.3rem;
    }

    .checkbox-group {
        display: flex;
        align-items: flex-start;
    }

    .checkbox-label {
        display: flex;
        align-items: flex-start;
        cursor: pointer;
        line-height: 1.4;
        font-weight: normal !important;
    }

    .checkbox-label input[type="checkbox"] {
        width: auto;
        margin-right: 0.8rem;
        margin-top: 0.2rem;
        transform: scale(1.2);
    }

    .submit-btn {
        background: #27ae60;
        color: white;
        border: none;
        padding: 1rem 2rem;
        border-radius: 8px;
        font-size: 1.1rem;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
        display: block;
        margin: 2rem auto 0;
        min-width: 200px;
    }

    .submit-btn:hover {
        background: #229954;
        transform: translateY(-2px);
        box-shadow: 0 4px 15px rgba(39, 174, 96, 0.3);
    }

    .alternative-contact {
        background: rgba(52, 152, 219, 0.05);
        padding: 2rem;
        border-radius: 12px;
        border: 1px solid rgba(52, 152, 219, 0.2);
    }

    .alternative-contact h3 {
        color: #2c3e50;
        margin-bottom: 1.5rem;
        font-family: 'Oswald', sans-serif;
        text-align: center;
    }

    .contact-methods {
        display: grid;
        gap: 1rem;
    }

    .contact-method {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 1rem;
        background: white;
        border-radius: 8px;
        border: 1px solid #e1e8ed;
    }

    .method-details strong {
        display: block;
        color: #2c3e50;
        margin-bottom: 0.3rem;
    }

    .method-details a {
        color: #3498db;
        text-decoration: none;
    }

    .method-details a:hover {
        text-decoration: underline;
    }

    /* Popup Styles */
    .popup-overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.6);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 1000;
        backdrop-filter: blur(3px);
    }

    .popup-content {
        background: white;
        border-radius: 12px;
        max-width: 500px;
        width: 90%;
        margin: 1rem;
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
        animation: popupSlideIn 0.3s ease-out;
    }

    .popup-header {
        padding: 1.5rem 2rem 1rem;
        border-bottom: 1px solid #eee;
    }

    .popup-header.success {
        background: linear-gradient(135deg, #27ae60, #2ecc71);
        color: white;
        border-radius: 12px 12px 0 0;
    }

    .popup-header.error {
        background: linear-gradient(135deg, #e74c3c, #c0392b);
        color: white;
        border-radius: 12px 12px 0 0;
    }

    .popup-header h3 {
        margin: 0;
        font-size: 1.3rem;
        font-weight: 600;
    }

    .popup-body {
        padding: 1.5rem 2rem;
    }

    .popup-body p {
        margin: 0;
        line-height: 1.6;
        color: #555;
    }

    .popup-footer {
        padding: 1rem 2rem 1.5rem;
        text-align: center;
    }

    .popup-btn {
        background: #3498db;
        color: white;
        border: none;
        padding: 0.8rem 2rem;
        border-radius: 8px;
        font-size: 1rem;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
    }

    .popup-btn:hover {
        background: #2980b9;
        transform: translateY(-1px);
        box-shadow: 0 4px 15px rgba(52, 152, 219, 0.3);
    }

    @keyframes popupSlideIn {
        from {
            opacity: 0;
            transform: scale(0.8) translateY(-20px);
        }
        to {
            opacity: 1;
            transform: scale(1) translateY(0);
        }
    }

    /* Responsive Design */
    @media (max-width: 768px) {
        .report-section {
            padding: 1.5rem;
            margin: 1rem;
        }

        .page-title {
            font-size: 1.8rem;
        }

        .report-intro {
            font-size: 1rem;
            padding: 1rem;
        }

        .form-group input,
        .form-group select,
        .form-group textarea {
            padding: 0.7rem;
        }

        .submit-btn {
            padding: 0.8rem 1.5rem;
            font-size: 1rem;
        }

        .popup-content {
            max-width: 95%;
        }

        .popup-header,
        .popup-body,
        .popup-footer {
            padding: 1rem 1.5rem;
        }
    }

    @media (max-width: 480px) {
        .page-title {
            font-size: 1.5rem;
        }

        .warning-box {
            padding: 1rem;
        }

        .alternative-contact {
            padding: 1.5rem;
        }
    }
</style>

<script>
function closePopup() {
    const popup = document.getElementById('popup-overlay');
    if (popup) {
        popup.style.animation = 'popupSlideOut 0.3s ease-in forwards';
        setTimeout(() => {
            popup.remove();
        }, 300);
    }
}

// Auto close popup after 5 seconds for success messages
<?php if ($success_message): ?>
setTimeout(() => {
    closePopup();
}, 5000);
<?php endif; ?>

// Add slide out animation
const style = document.createElement('style');
style.textContent = `
    @keyframes popupSlideOut {
        from {
            opacity: 1;
            transform: scale(1) translateY(0);
        }
        to {
            opacity: 0;
            transform: scale(0.8) translateY(-20px);
        }
    }
`;
document.head.appendChild(style);

// Close popup when clicking outside
document.addEventListener('click', function(e) {
    if (e.target.classList.contains('popup-overlay')) {
        closePopup();
    }
});
</script>

<?php
// Include footer
include 'includes/footer.php';
?> 