<?php
$isAr = current_lang() === 'ar';
$tr = static function (string $en, string $ar) use ($isAr): string { return $isAr ? $ar : $en; };
$data = is_array($financeData ?? null) ? $financeData : null;
$cards = is_array($data['cards'] ?? null) ? $data['cards'] : [];
$matrix = is_array($data['matrix'] ?? null) ? $data['matrix'] : [];
$years = is_array($data['availableYears'] ?? null) ? $data['availableYears'] : [$year, $compareYear];
$movement = is_array($data['primaryMovement'] ?? null) ? $data['primaryMovement'] : null;
$topNet = is_array($data['topNetSpecialty'] ?? null) ? $data['topNetSpecialty'] : null;
$hospitalName = (string)($hospital['name'] ?? strtoupper((string)$hospitalCode));
$money = static function (float $value): string { return number_format($value, 0); };
$percentText = static function ($value): string { return $value === null ? '—' : number_format((float)$value, 1) . '%'; };
$movementTone = $movement && (float)$movement['percent'] < 0 ? 'negative' : 'positive';
?>
<div class="sf1015-shell">
    <section class="sf1015-hero">
        <div>
            <span class="sf1015-kicker"><?= e($tr('EXECUTIVE SPECIALTY FINANCE', 'المالية التنفيذية حسب التخصص')) ?></span>
            <h2><?= e($tr('Specialty Finance', 'المالية حسب التخصص')) ?></h2>
            <p><?= e($tr('See MOH, drug and net revenue contribution by specialty, compare years and focus leadership attention on the largest movements.', 'تابع مساهمة وزارة الصحة والأدوية وصافي الإيراد حسب التخصص، وقارن السنوات وحدد أكبر التحركات التي تستحق انتباه الإدارة.')) ?></p>
            <div class="sf1015-period-strip">
                <span><small><?= e($tr('Current year', 'السنة الحالية')) ?></small><strong><?= e((string)$year) ?></strong></span>
                <span><small><?= e($tr('Comparison year', 'سنة المقارنة')) ?></small><strong><?= e((string)$compareYear) ?></strong></span>
                <span><small><?= e($tr('Active branch', 'الفرع النشط')) ?></small><strong><?= e($hospitalName) ?></strong></span>
            </div>
        </div>
        <div class="sf1015-hero-score">
            <span><?= e($tr('Net after drug / MOH', 'الصافي بعد الأدوية ووزارة الصحة')) ?></span>
            <strong><?= e($money((float)($cards['net']['current_total'] ?? 0))) ?></strong>
            <small><?= e($tr('Current selected year', 'السنة الحالية المختارة')) ?></small>
        </div>
    </section>

    <section class="sf1015-controls">
        <div class="sf1015-section-head">
            <span><?= e($tr('REPORT CONTROLS', 'إعدادات التقرير')) ?></span>
            <h2><?= e($tr('Compare the financial contribution', 'قارن المساهمة المالية')) ?></h2>
        </div>
        <form method="get" action="index.php" class="sf1015-filter">
            <input type="hidden" name="page" value="specialty-finance">
            <input type="hidden" name="lang" value="<?= e(current_lang()) ?>">
            <label><span><?= e($tr('Current year', 'السنة الحالية')) ?></span><select name="year"><?php foreach ($years as $y): ?><option value="<?= e((string)$y) ?>" <?= (int)$y === (int)$year ? 'selected' : '' ?>><?= e((string)$y) ?></option><?php endforeach; ?></select></label>
            <label><span><?= e($tr('Comparison year', 'سنة المقارنة')) ?></span><select name="compare_year"><?php foreach ($years as $y): ?><option value="<?= e((string)$y) ?>" <?= (int)$y === (int)$compareYear ? 'selected' : '' ?>><?= e((string)$y) ?></option><?php endforeach; ?></select></label>
            <button type="submit" class="sf1015-primary"><?= e($tr('Update view', 'تحديث العرض')) ?></button>
        </form>
    </section>

    <?php if ($dataError || !$data): ?>
        <section class="sf1015-state sf1015-state-error">
            <strong><?= e($tr('Specialty finance data is temporarily unavailable', 'بيانات المالية حسب التخصص غير متاحة مؤقتًا')) ?></strong>
            <p><?= e($tr('The executive workspace remains available. Try another year or branch.', 'مساحة العمل التنفيذية متاحة. جرّب سنة أو فرعًا آخر.')) ?></p>
        </section>
    <?php else: ?>
        <section class="sf1015-kpi-grid">
            <?php foreach (['moh','drug','net'] as $key): $card=$cards[$key] ?? []; ?>
                <article class="sf1015-kpi">
                    <span><?= e($tr((string)($card['title'] ?? ''), $key === 'moh' ? 'إيراد وزارة الصحة' : ($key === 'drug' ? 'إيراد الأدوية' : 'الصافي بعد الأدوية ووزارة الصحة'))) ?></span>
                    <strong><?= e($money((float)($card['current_total'] ?? 0))) ?></strong>
                    <small><?= e($tr('vs ', 'مقابل ')) ?><?= e((string)$compareYear) ?> · <?= e($percentText($card['percent'] ?? null)) ?></small>
                </article>
            <?php endforeach; ?>
            <article class="sf1015-kpi sf1015-kpi-movement <?= e($movementTone) ?>">
                <span><?= e($tr('Largest movement', 'أكبر تحرك')) ?></span>
                <strong><?= e($movement ? $percentText($movement['percent']) : '—') ?></strong>
                <small><?= e($movement ? (string)$movement['title'] : $tr('No comparable movement', 'لا يوجد تحرك قابل للمقارنة')) ?></small>
            </article>
        </section>

        <section class="sf1015-insight-grid">
            <article class="sf1015-surface sf1015-insight">
                <div class="sf1015-section-head compact"><span><?= e($tr('EXECUTIVE INSIGHT', 'القراءة التنفيذية')) ?></span><h2><?= e($tr('What needs leadership attention?', 'ما الذي يحتاج انتباه الإدارة؟')) ?></h2></div>
                <?php if ($movement): ?>
                    <p><?= e($tr('The largest financial movement is ', 'أكبر تحرك مالي هو ')) ?><strong><?= e((string)$movement['title']) ?></strong> <?= e($tr('at ', 'بنسبة ')) ?><strong><?= e($percentText($movement['percent'])) ?></strong>.</p>
                <?php else: ?>
                    <p><?= e($tr('No material year-over-year movement is available for the selected comparison.', 'لا يتوفر تحرك سنوي جوهري للفترة المقارنة المختارة.')) ?></p>
                <?php endif; ?>
                <?php if ($topNet): ?>
                    <p><?= e($tr('The leading net-revenue specialty is ', 'التخصص الأعلى في صافي الإيراد هو ')) ?><strong><?= e((string)$topNet['label']) ?></strong> <?= e($tr('with ', 'بقيمة ')) ?><strong><?= e($money((float)$topNet['value'])) ?></strong>.</p>
                <?php endif; ?>
            </article>
            <article class="sf1015-surface sf1015-focus">
                <span><?= e($tr('LEADERSHIP FOCUS', 'تركيز الإدارة')) ?></span>
                <strong><?= e($movement && (float)$movement['percent'] < 0 ? $tr('Review the declining financial component and its leading specialties.', 'راجع المكون المالي المتراجع وأبرز التخصصات المؤثرة فيه.') : $tr('Protect the strongest contribution and validate sustainability by specialty.', 'حافظ على أقوى مساهمة وتحقق من استدامتها حسب التخصص.')) ?></strong>
            </article>
        </section>

        <section class="sf1015-chart-grid">
            <?php foreach (['moh','drug','net'] as $key): $chart=$data['charts'][$key] ?? []; ?>
                <article class="sf1015-surface sf1015-chart-card" data-chart-key="<?= e($key) ?>" data-chart-state="pending" data-chart-rendered="0">
                    <div class="sf1015-section-head compact"><span><?= e($tr('SPECIALTY VIEW', 'عرض التخصصات')) ?></span><h2><?= e($tr((string)($chart['title'] ?? ''), $key === 'moh' ? 'مساهمة وزارة الصحة حسب التخصص' : ($key === 'drug' ? 'إيراد الأدوية حسب التخصص' : 'صافي الإيراد حسب التخصص'))) ?></h2></div>
                    <div class="sf1015-chart-stage">
                        <canvas id="sf1015_chart_<?= e($key) ?>" width="900" height="340"></canvas>
                        <div class="sf1015-chart-state sf1015-chart-empty"><strong><?= e($tr('No activity for this year', 'لا توجد بيانات لهذه السنة')) ?></strong></div>
                        <div class="sf1015-chart-state sf1015-chart-error"><strong><?= e($tr('Chart temporarily unavailable', 'الرسم غير متاح مؤقتًا')) ?></strong></div>
                    </div>
                </article>
            <?php endforeach; ?>
        </section>

        <section class="sf1015-surface sf1015-table-card">
            <div class="sf1015-section-head compact"><span><?= e($tr('SPECIALTY FINANCE MATRIX', 'مصفوفة المالية حسب التخصص')) ?></span><h2><?= e($tr('Where is the financial contribution concentrated?', 'أين تتركز المساهمة المالية؟')) ?></h2></div>
            <div class="sf1015-table-wrap"><table>
                <thead><tr><th><?= e($tr('Specialty', 'التخصص')) ?></th><th><?= e($tr('MOH revenue', 'إيراد وزارة الصحة')) ?></th><th><?= e($tr('Drug revenue', 'إيراد الأدوية')) ?></th><th><?= e($tr('Net after drug / MOH', 'الصافي بعد الأدوية ووزارة الصحة')) ?></th></tr></thead>
                <tbody>
                <?php if (!$matrix): ?><tr><td colspan="4"><?= e($tr('No specialty finance rows are available for the selected year.', 'لا توجد بيانات مالية حسب التخصص للسنة المختارة.')) ?></td></tr><?php endif; ?>
                <?php foreach ($matrix as $row): ?><tr><td><strong><?= e((string)$row['label']) ?></strong></td><td><?= e($money((float)$row['moh_value'])) ?></td><td><?= e($money((float)$row['drug_value'])) ?></td><td><?= e($money((float)$row['net_value'])) ?></td></tr><?php endforeach; ?>
                </tbody>
            </table></div>
        </section>

        <script>
        (function () {
            var payloads = <?= json_encode($data['charts'] ?? [], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP) ?>;
            var gate = { expected: 3, rendered: 0, empty: 0, failed: 0, status: 'PENDING' };
            ['moh','drug','net'].forEach(function (key) {
                var card = document.querySelector('[data-chart-key="' + key + '"]');
                var payload = payloads[key] && payloads[key].payload ? payloads[key].payload : {};
                try {
                    var values = [];
                    (payload.series || []).forEach(function (series) { (series.values || []).forEach(function (value) { values.push(Number(value || 0)); }); });
                    if (!values.some(function (value) { return value !== 0; })) {
                        gate.empty += 1;
                        if (card) { card.setAttribute('data-chart-state', 'empty'); }
                        return;
                    }
                    var result = window.renderBarCompareChart('sf1015_chart_' + key, payload);
                    if (result && result.rendered) {
                        gate.rendered += 1;
                        if (card) { card.setAttribute('data-chart-state', 'rendered'); card.setAttribute('data-chart-rendered', '1'); }
                    } else {
                        gate.failed += 1;
                        if (card) { card.setAttribute('data-chart-state', 'error'); }
                    }
                } catch (error) {
                    gate.failed += 1;
                    if (card) { card.setAttribute('data-chart-state', 'error'); }
                }
            });
            gate.status = gate.failed === 0 && (gate.rendered + gate.empty) === gate.expected ? 'PASS' : 'FAIL';
            window.__DDB_SPECIALTY_FINANCE_CHART_GATE__ = gate;
            document.documentElement.setAttribute('data-specialty-finance-chart-rendered', String(gate.rendered));
            document.documentElement.setAttribute('data-specialty-finance-chart-empty', String(gate.empty));
            document.documentElement.setAttribute('data-specialty-finance-chart-failed', String(gate.failed));
            document.documentElement.setAttribute('data-specialty-finance-chart-gate', gate.status);
        })();
        </script>
    <?php endif; ?>
</div>
