<?php
session_start();
require_once '../config/database.php';

// Check if user is logged in
if (!isset($_SESSION['user_id'])) {
    header('Location: ../login.php');
    exit();
}
?>

<!DOCTYPE html>
<html lang="bn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>প্রিন্ট সমস্যা নির্ণয়</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@300;400;500;600;700&display=swap" rel="stylesheet">
    <style>
        body {
            font-family: 'Hind Siliguri', sans-serif;
        }
        .diagnostic-card {
            margin-bottom: 20px;
        }
        .test-result {
            padding: 10px;
            margin: 5px 0;
            border-radius: 5px;
        }
        .test-success {
            background-color: #d4edda;
            border: 1px solid #c3e6cb;
            color: #155724;
        }
        .test-error {
            background-color: #f8d7da;
            border: 1px solid #f5c6cb;
            color: #721c24;
        }
        .test-warning {
            background-color: #fff3cd;
            border: 1px solid #ffeaa7;
            color: #856404;
        }
        .test-info {
            background-color: #d1ecf1;
            border: 1px solid #bee5eb;
            color: #0c5460;
        }
    </style>
</head>
<body>
    <div class="container mt-4">
        <div class="row">
            <div class="col-md-12">
                <div class="card diagnostic-card">
                    <div class="card-header bg-primary text-white">
                        <h4><i class="fas fa-stethoscope"></i> প্রিন্ট সমস্যা নির্ণয়</h4>
                    </div>
                    <div class="card-body">
                        <p>এই পেজটি ইনভয়েজ প্রিন্ট সমস্যার কারণ খুঁজে বের করতে সাহায্য করবে।</p>
                        
                        <div class="row">
                            <div class="col-md-6">
                                <h5>দ্রুত টেস্ট</h5>
                                <button type="button" class="btn btn-primary me-2 mb-2" onclick="runAllTests()">
                                    <i class="fas fa-play"></i> সব টেস্ট চালান
                                </button>
                                <button type="button" class="btn btn-success me-2 mb-2" onclick="testBasicPrint()">
                                    <i class="fas fa-print"></i> মূল প্রিন্ট টেস্ট
                                </button>
                                <button type="button" class="btn btn-info me-2 mb-2" onclick="testJavaScript()">
                                    <i class="fas fa-code"></i> JavaScript টেস্ট
                                </button>
                                <button type="button" class="btn btn-warning mb-2" onclick="clearResults()">
                                    <i class="fas fa-eraser"></i> ফলাফল মুছুন
                                </button>
                            </div>
                            <div class="col-md-6">
                                <h5>নেভিগেশন</h5>
                                <a href="invoice.php" class="btn btn-secondary me-2 mb-2">
                                    <i class="fas fa-arrow-left"></i> ইনভয়েজ পেজ
                                </a>
                                <a href="test_print.php" class="btn btn-outline-secondary mb-2">
                                    <i class="fas fa-vial"></i> প্রিন্ট টেস্ট পেজ
                                </a>
                            </div>
                        </div>
                    </div>
                </div>

                <div class="card diagnostic-card">
                    <div class="card-header bg-secondary text-white">
                        <h5><i class="fas fa-clipboard-list"></i> টেস্ট ফলাফল</h5>
                    </div>
                    <div class="card-body">
                        <div id="test-results">
                            <div class="test-info">
                                <i class="fas fa-info-circle"></i> টেস্ট চালানোর জন্য উপরের বাটন ক্লিক করুন
                            </div>
                        </div>
                    </div>
                </div>

                <div class="card diagnostic-card">
                    <div class="card-header bg-info text-white">
                        <h5><i class="fas fa-browser"></i> ব্রাউজার তথ্য</h5>
                    </div>
                    <div class="card-body">
                        <div id="browser-info">
                            <p><strong>ব্রাউজার:</strong> <span id="browser-name">লোড হচ্ছে...</span></p>
                            <p><strong>ভার্সন:</strong> <span id="browser-version">লোড হচ্ছে...</span></p>
                            <p><strong>প্ল্যাটফর্ম:</strong> <span id="browser-platform">লোড হচ্ছে...</span></p>
                            <p><strong>Print Support:</strong> <span id="print-support">চেক করা হচ্ছে...</span></p>
                        </div>
                    </div>
                </div>

                <div class="card diagnostic-card">
                    <div class="card-header bg-warning text-dark">
                        <h5><i class="fas fa-tools"></i> সমাধানের পরামর্শ</h5>
                    </div>
                    <div class="card-body">
                        <div id="solutions">
                            <h6>সাধারণ সমাধান:</h6>
                            <ul>
                                <li>ব্রাউজার রিফ্রেশ করুন (F5 বা Ctrl+R)</li>
                                <li>ব্রাউজার ক্যাশ ক্লিয়ার করুন</li>
                                <li>অন্য ব্রাউজার দিয়ে চেষ্টা করুন (Chrome, Firefox, Edge)</li>
                                <li>JavaScript সক্রিয় আছে কিনা চেক করুন</li>
                                <li>পপ-আপ ব্লকার বন্ধ করুন</li>
                                <li>ব্রাউজারের প্রিন্ট সেটিংস চেক করুন</li>
                            </ul>
                            
                            <h6>কীবোর্ড শর্টকাট:</h6>
                            <ul>
                                <li><kbd>Ctrl + P</kbd> - ব্রাউজারের প্রিন্ট ডায়ালগ</li>
                                <li><kbd>F12</kbd> - ডেভেলপার টুলস (কনসোল দেখার জন্য)</li>
                            </ul>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
    <script>
        let testCount = 0;
        
        function addResult(message, type = 'info', details = '') {
            testCount++;
            const resultsDiv = document.getElementById('test-results');
            const resultDiv = document.createElement('div');
            resultDiv.className = `test-${type}`;
            
            let icon = '';
            switch(type) {
                case 'success': icon = 'fas fa-check-circle'; break;
                case 'error': icon = 'fas fa-times-circle'; break;
                case 'warning': icon = 'fas fa-exclamation-triangle'; break;
                default: icon = 'fas fa-info-circle';
            }
            
            resultDiv.innerHTML = `
                <div><i class="${icon}"></i> <strong>টেস্ট ${testCount}:</strong> ${message}</div>
                ${details ? `<div style="margin-top: 5px; font-size: 0.9em;">${details}</div>` : ''}
            `;
            
            resultsDiv.appendChild(resultDiv);
            resultDiv.scrollIntoView({ behavior: 'smooth' });
        }
        
        function clearResults() {
            document.getElementById('test-results').innerHTML = `
                <div class="test-info">
                    <i class="fas fa-info-circle"></i> ফলাফল মুছে দেওয়া হয়েছে
                </div>
            `;
            testCount = 0;
        }
        
        function testJavaScript() {
            try {
                addResult('JavaScript কাজ করছে', 'success', 'JavaScript ইঞ্জিন সক্রিয় এবং কার্যকর');
                
                // Test console
                console.log('JavaScript test successful');
                addResult('Console.log কাজ করছে', 'success', 'F12 চেপে কনসোল দেখুন');
                
                // Test DOM manipulation
                const testElement = document.createElement('div');
                testElement.textContent = 'DOM Test';
                addResult('DOM manipulation কাজ করছে', 'success', 'Element তৈরি এবং পরিবর্তন সম্ভব');
                
                return true;
            } catch (error) {
                addResult('JavaScript ত্রুটি', 'error', `Error: ${error.message}`);
                return false;
            }
        }
        
        function testBasicPrint() {
            try {
                // Check if print function exists
                if (typeof window.print === 'function') {
                    addResult('window.print() ফাংশন পাওয়া গেছে', 'success', 'Print function উপলব্ধ');
                    
                    // Test print call
                    addResult('প্রিন্ট ডায়ালগ খোলার চেষ্টা করা হচ্ছে...', 'info', 'Print dialog খুলতে হবে');
                    
                    setTimeout(() => {
                        try {
                            window.print();
                            addResult('window.print() কল সফল', 'success', 'Print dialog খোলা হয়েছে');
                        } catch (printError) {
                            addResult('window.print() কল ব্যর্থ', 'error', `Error: ${printError.message}`);
                        }
                    }, 1000);
                    
                } else {
                    addResult('window.print() ফাংশন পাওয়া যায়নি', 'error', 'Browser print support নেই');
                }
            } catch (error) {
                addResult('Print test ত্রুটি', 'error', `Error: ${error.message}`);
            }
        }
        
        function testBrowserInfo() {
            try {
                const userAgent = navigator.userAgent;
                const platform = navigator.platform;
                
                // Detect browser
                let browserName = 'Unknown';
                let browserVersion = 'Unknown';
                
                if (userAgent.indexOf('Chrome') > -1) {
                    browserName = 'Google Chrome';
                    const match = userAgent.match(/Chrome\/(\d+)/);
                    browserVersion = match ? match[1] : 'Unknown';
                } else if (userAgent.indexOf('Firefox') > -1) {
                    browserName = 'Mozilla Firefox';
                    const match = userAgent.match(/Firefox\/(\d+)/);
                    browserVersion = match ? match[1] : 'Unknown';
                } else if (userAgent.indexOf('Safari') > -1) {
                    browserName = 'Safari';
                    const match = userAgent.match(/Version\/(\d+)/);
                    browserVersion = match ? match[1] : 'Unknown';
                } else if (userAgent.indexOf('Edge') > -1) {
                    browserName = 'Microsoft Edge';
                    const match = userAgent.match(/Edge\/(\d+)/);
                    browserVersion = match ? match[1] : 'Unknown';
                }
                
                document.getElementById('browser-name').textContent = browserName;
                document.getElementById('browser-version').textContent = browserVersion;
                document.getElementById('browser-platform').textContent = platform;
                
                const printSupport = typeof window.print === 'function' ? 'সমর্থিত' : 'অসমর্থিত';
                document.getElementById('print-support').textContent = printSupport;
                
                addResult('ব্রাউজার তথ্য আপডেট করা হয়েছে', 'success', `${browserName} ${browserVersion} on ${platform}`);
                
            } catch (error) {
                addResult('ব্রাউজার তথ্য পেতে ত্রুটি', 'error', `Error: ${error.message}`);
            }
        }
        
        function runAllTests() {
            clearResults();
            addResult('সব টেস্ট শুরু করা হচ্ছে...', 'info');
            
            setTimeout(() => testBrowserInfo(), 500);
            setTimeout(() => testJavaScript(), 1000);
            setTimeout(() => testBasicPrint(), 2000);
        }
        
        // Initialize on page load
        document.addEventListener('DOMContentLoaded', function() {
            testBrowserInfo();
            addResult('পেজ লোড সম্পন্ন', 'success', 'Diagnostic tool প্রস্তুত');
        });
        
        // Test keyboard shortcuts
        document.addEventListener('keydown', function(e) {
            if (e.ctrlKey && e.key === 'p') {
                e.preventDefault();
                addResult('Ctrl+P চাপা হয়েছে', 'info', 'Keyboard shortcut detected');
                testBasicPrint();
            }
        });
    </script>
</body>
</html>