@extends('layouts.app')

@section('title', 'Crear Nueva Empresa')

@section('breadcrumbs')
    <li class="breadcrumb-item">Empresa</li>
    <li class="breadcrumb-item"><a href="{{ route('companies.index') }}">ABM Empresas</a></li>
    <li class="breadcrumb-item active">Crear Nueva</li>
@endsection

@section('content')
<div class="row justify-content-center">
    <div class="col-lg-10">
        <div class="card">
            <div class="card-header d-flex justify-content-between align-items-center">
                <h5 class="mb-0">
                    <i class="fas fa-plus"></i> Crear Nueva Empresa y Usuario Propietario
                </h5>
                <a href="{{ route('companies.index') }}" class="btn btn-outline-secondary btn-sm">
                    <i class="fas fa-arrow-left"></i> Volver
                </a>
            </div>
            <div class="card-body">
                <form id="createCompanyForm" method="POST" action="{{ route('companies.store') }}">
                    @csrf
                    
                    <!-- Información del Usuario Propietario -->
                    <div class="card mb-4">
                        <div class="card-header">
                            <h6 class="mb-0">
                                <i class="fas fa-user"></i> Datos del Usuario Propietario
                            </h6>
                        </div>
                        <div class="card-body">
                            <div class="row">
                                <div class="col-md-6">
                                    <div class="mb-3">
                                        <label for="user_fname" class="form-label required">
                                            <i class="fas fa-user"></i> Nombre
                                        </label>
                                        <input type="text" class="form-control @error('user_fname') is-invalid @enderror" 
                                               id="user_fname" name="user_fname" value="{{ old('user_fname') }}" 
                                               placeholder="Nombre del usuario" required>
                                        @error('user_fname')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                                <div class="col-md-6">
                                    <div class="mb-3">
                                        <label for="user_lname" class="form-label required">
                                            <i class="fas fa-user"></i> Apellido
                                        </label>
                                        <input type="text" class="form-control @error('user_lname') is-invalid @enderror" 
                                               id="user_lname" name="user_lname" value="{{ old('user_lname') }}" 
                                               placeholder="Apellido del usuario" required>
                                        @error('user_lname')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                            </div>
                            
                            <div class="row">
                                <div class="col-md-6">
                                    <div class="mb-3">
                                        <label for="user_email" class="form-label required">
                                            <i class="fas fa-envelope"></i> Email
                                        </label>
                                        <input type="email" class="form-control @error('user_email') is-invalid @enderror" 
                                               id="user_email" name="user_email" value="{{ old('user_email') }}" 
                                               placeholder="usuario@correo.com" required>
                                        @error('user_email')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                                <div class="col-md-6">
                                    <div class="mb-3">
                                        <div class="alert alert-info">
                                            <i class="fas fa-info-circle"></i>
                                            <strong>Configuración de contraseña:</strong><br>
                                            El usuario recibirá un correo electrónico con un enlace seguro para establecer su propia contraseña durante el primer acceso.
                                        </div>
                                    </div>
                                </div>
                            </div>
                            
                            <div class="row">
                                <div class="col-md-6">
                                    <div class="mb-3">
                                        <label for="user_phone" class="form-label">
                                            <i class="fas fa-phone"></i> Teléfono
                                        </label>
                                        <input type="text" class="form-control @error('user_phone') is-invalid @enderror" 
                                               id="user_phone" name="user_phone" value="{{ old('user_phone') }}" 
                                               placeholder="Teléfono del usuario">
                                        @error('user_phone')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                                <div class="col-md-6">
                                    <div class="mb-3">
                                        <label for="user_username" class="form-label required">
                                            <i class="fas fa-at"></i> Usuario (username)
                                        </label>
                                        <input type="text" class="form-control @error('user_username') is-invalid @enderror" 
                                               id="user_username" name="user_username" value="{{ old('user_username') }}" 
                                               placeholder="Username único para el usuario" required>
                                        @error('user_username')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                        <div class="form-text">
                                            <span id="username-help">El username debe ser único en el sistema.</span>
                                            <span id="username-checking" style="display: none;">
                                                <i class="fas fa-spinner fa-spin"></i> Verificando disponibilidad...
                                            </span>
                                            <span id="username-available" style="display: none; color: green;">
                                                <i class="fas fa-check"></i> Username disponible
                                            </span>
                                            <span id="username-taken" style="display: none; color: red;">
                                                <i class="fas fa-times"></i> Username no disponible
                                            </span>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            
                            <!-- Dirección del Usuario -->
                            <div class="row">
                                <div class="col-md-12">
                                    <div class="mb-3">
                                        <label for="user_address" class="form-label">
                                            <i class="fas fa-map-marker-alt"></i> Dirección
                                        </label>
                                        <input type="text" class="form-control @error('user_address') is-invalid @enderror" 
                                               id="user_address" name="user_address" value="{{ old('user_address') }}" 
                                               placeholder="Dirección del usuario">
                                        @error('user_address')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                            </div>
                            
                            <div class="row">
                                <div class="col-md-4">
                                    <div class="mb-3">
                                        <label for="user_city" class="form-label">
                                            <i class="fas fa-city"></i> Ciudad
                                        </label>
                                        <input type="text" class="form-control @error('user_city') is-invalid @enderror" 
                                               id="user_city" name="user_city" value="{{ old('user_city') }}" 
                                               placeholder="Ciudad">
                                        @error('user_city')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                                <div class="col-md-4">
                                    <div class="mb-3">
                                        <label for="user_province" class="form-label">
                                            <i class="fas fa-map"></i> Provincia
                                        </label>
                                        <input type="text" class="form-control @error('user_province') is-invalid @enderror" 
                                               id="user_province" name="user_province" value="{{ old('user_province') }}" 
                                               placeholder="Provincia">
                                        @error('user_province')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                                <div class="col-md-4">
                                    <div class="mb-3">
                                        <label for="user_zipCode" class="form-label">
                                            <i class="fas fa-mail-bulk"></i> Código Postal
                                        </label>
                                        <input type="text" class="form-control @error('user_zipCode') is-invalid @enderror" 
                                               id="user_zipCode" name="user_zipCode" value="{{ old('user_zipCode') }}" 
                                               placeholder="Código Postal">
                                        @error('user_zipCode')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                            </div>
                            
                            <div class="row">
                                <div class="col-md-6">
                                    <div class="mb-3">
                                        <label for="user_country" class="form-label">
                                            <i class="fas fa-flag"></i> País
                                        </label>
                                        <input type="text" class="form-control @error('user_country') is-invalid @enderror" 
                                               id="user_country" name="user_country" value="{{ old('user_country', 'Argentina') }}" 
                                               placeholder="Argentina">
                                        @error('user_country')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>

                    <!-- Información de la Empresa -->
                    <div class="card mb-4">
                        <div class="card-header">
                            <h6 class="mb-0">
                                <i class="fas fa-building"></i> Datos de la Empresa
                            </h6>
                        </div>
                        <div class="card-body">
                            <div class="row">
                                <div class="col-md-8">
                                    <div class="mb-3">
                                        <label for="business_name" class="form-label required">
                                            <i class="fas fa-building"></i> Nombre de la Empresa
                                        </label>
                                        <input type="text" class="form-control @error('business_name') is-invalid @enderror" 
                                               id="business_name" name="business_name" value="{{ old('business_name') }}" 
                                               placeholder="Nombre de la empresa" required>
                                        @error('business_name')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                                <div class="col-md-4">
                                    <div class="mb-3">
                                        <label for="business_email" class="form-label required">
                                            <i class="fas fa-envelope"></i> Email de la Empresa
                                        </label>
                                        <input type="email" class="form-control @error('business_email') is-invalid @enderror" 
                                               id="business_email" name="business_email" value="{{ old('business_email') }}" 
                                               placeholder="info@empresa.com" required>
                                        @error('business_email')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                            </div>
                            
                            <div class="row">
                                <div class="col-md-6">
                                    <div class="mb-3">
                                        <label for="business_cuit" class="form-label">
                                            <i class="fas fa-id-card"></i> CUIT
                                        </label>
                                        <input type="number" class="form-control @error('business_cuit') is-invalid @enderror" 
                                               id="business_cuit" name="business_cuit" value="{{ old('business_cuit') }}" 
                                               placeholder="CUIT de la empresa">
                                        @error('business_cuit')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                                <div class="col-md-6">
                                    <div class="mb-3">
                                        <label for="business_iibb" class="form-label">
                                            <i class="fas fa-file-invoice"></i> IIBB
                                        </label>
                                        <input type="text" class="form-control @error('business_iibb') is-invalid @enderror" 
                                               id="business_iibb" name="business_iibb" value="{{ old('business_iibb') }}" 
                                               placeholder="Número de IIBB">
                                        @error('business_iibb')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                            </div>
                            
                            <div class="row">
                                <div class="col-md-12">
                                    <div class="mb-3">
                                        <label for="business_address" class="form-label">
                                            <i class="fas fa-map-marker-alt"></i> Dirección
                                        </label>
                                        <input type="text" class="form-control @error('business_address') is-invalid @enderror" 
                                               id="business_address" name="business_address" value="{{ old('business_address') }}" 
                                               placeholder="Dirección de la empresa">
                                        @error('business_address')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                            </div>
                            
                            <div class="row">
                                <div class="col-md-4">
                                    <div class="mb-3">
                                        <label for="business_city" class="form-label">
                                            <i class="fas fa-city"></i> Ciudad
                                        </label>
                                        <input type="text" class="form-control @error('business_city') is-invalid @enderror" 
                                               id="business_city" name="business_city" value="{{ old('business_city') }}" 
                                               placeholder="Ciudad">
                                        @error('business_city')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                                <div class="col-md-4">
                                    <div class="mb-3">
                                        <label for="business_province" class="form-label">
                                            <i class="fas fa-map"></i> Provincia
                                        </label>
                                        <input type="text" class="form-control @error('business_province') is-invalid @enderror" 
                                               id="business_province" name="business_province" value="{{ old('business_province') }}" 
                                               placeholder="Provincia">
                                        @error('business_province')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                                <div class="col-md-4">
                                    <div class="mb-3">
                                        <label for="business_zipCode" class="form-label">
                                            <i class="fas fa-mail-bulk"></i> Código Postal
                                        </label>
                                        <input type="text" class="form-control @error('business_zipCode') is-invalid @enderror" 
                                               id="business_zipCode" name="business_zipCode" value="{{ old('business_zipCode') }}" 
                                               placeholder="Código Postal">
                                        @error('business_zipCode')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                            </div>
                            
                            <div class="row">
                                <div class="col-md-6">
                                    <div class="mb-3">
                                        <label for="business_country" class="form-label">
                                            <i class="fas fa-flag"></i> País
                                        </label>
                                        <input type="text" class="form-control @error('business_country') is-invalid @enderror" 
                                               id="business_country" name="business_country" value="{{ old('business_country', 'Argentina') }}" 
                                               placeholder="Argentina">
                                        @error('business_country')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                                <div class="col-md-6">
                                    <div class="mb-3">
                                        <label for="business_phone" class="form-label">
                                            <i class="fas fa-phone"></i> Teléfono
                                        </label>
                                        <input type="text" class="form-control @error('business_phone') is-invalid @enderror" 
                                               id="business_phone" name="business_phone" value="{{ old('business_phone') }}" 
                                               placeholder="Teléfono de la empresa">
                                        @error('business_phone')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                            </div>
                            
                            <div class="row">
                                <div class="col-md-6">
                                    <div class="mb-3">
                                        <label for="business_versionName" class="form-label">
                                            <i class="fas fa-tag"></i> Versión del Sistema
                                        </label>
                                        <select class="form-select @error('business_versionName') is-invalid @enderror" 
                                                id="business_versionName" name="business_versionName">
                                            <option value="LITE" {{ old('business_versionName', 'LITE') === 'LITE' ? 'selected' : '' }}>LITE</option>
                                            {{-- <option value="PRO" {{ old('business_versionName') === 'PRO' ? 'selected' : '' }}>PRO</option>
                                            <option value="ENTERPRISE" {{ old('business_versionName') === 'ENTERPRISE' ? 'selected' : '' }}>ENTERPRISE</option> --}}
                                        </select>
                                        @error('business_versionName')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                                {{-- <div class="col-md-6">
                                    <div class="mb-3">
                                        <label for="business_versionCode" class="form-label">
                                            <i class="fas fa-code"></i> Código de Versión
                                        </label>
                                        <input type="text" class="form-control @error('business_versionCode') is-invalid @enderror" 
                                               id="business_versionCode" name="business_versionCode" value="{{ old('business_versionCode') }}" 
                                               placeholder="Código de versión (opcional)">
                                        @error('business_versionCode')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div> --}}
                            </div>
                            
                            <div class="mb-3">
                                <label for="business_about" class="form-label">
                                    <i class="fas fa-info-circle"></i> Descripción de la Empresa
                                </label>
                                <textarea class="form-control @error('business_about') is-invalid @enderror" 
                                          id="business_about" name="business_about" rows="3" 
                                          placeholder="Descripción breve de la empresa y su actividad...">{{ old('business_about') }}</textarea>
                                @error('business_about')
                                    <div class="invalid-feedback">{{ $message }}</div>
                                @enderror
                            </div>
                        </div>
                    </div>

                    <!-- Plan Inicial (Opcional) -->
                    <div class="card mb-4">
                        <div class="card-header">
                            <h6 class="mb-0">
                                <i class="fas fa-layer-group"></i> Asignación de Plan (Opcional)
                            </h6>
                        </div>
                        <div class="card-body">
                            <div class="row">
                                <div class="col-md-6">
                                    <div class="mb-3">
                                        <label for="plan_id" class="form-label">Plan</label>
                                        <select class="form-select @error('plan_id') is-invalid @enderror" 
                                                id="plan_id" name="plan_id" onchange="updatePlanDetails()">
                                            <option value="">Sin plan inicial</option>
                                            @if(isset($plans))
                                                @foreach($plans as $plan)
                                                <option value="{{ $plan['_id'] }}" 
                                                        data-price="{{ $plan['price'] }}" 
                                                        data-features="{{ json_encode($plan['features'] ?? []) }}"
                                                        {{ old('plan_id') == $plan['_id'] ? 'selected' : '' }}>
                                                    {{ $plan['name'] }} - ${{ number_format($plan['price'], 0, ',', '.') }}
                                                </option>
                                                @endforeach
                                            @endif
                                        </select>
                                        @error('plan_id')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                        <div class="form-text">El plan se puede asignar después si se prefiere.</div>
                                    </div>
                                </div>
                            </div>
                            
                            <!-- Resumen del Plan -->
                            <div id="planSummary" class="alert alert-info" style="display: none;">
                                <strong>Plan Seleccionado:</strong>
                                <div id="planFeatures"></div>
                            </div>
                        </div>
                    </div>

                    <!-- Botones de Acción -->
                    <div class="d-flex justify-content-between">
                        <a href="{{ route('companies.index') }}" class="btn btn-secondary">
                            <i class="fas fa-times"></i> Cancelar
                        </a>
                        <div>
                            <button type="button" class="btn btn-outline-primary" onclick="previewCompany()">
                                <i class="fas fa-eye"></i> Vista Previa
                            </button>
                            <button type="submit" class="btn btn-primary">
                                <i class="fas fa-save"></i> Crear Empresa y Enviar Invitación
                            </button>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
</div>

<!-- Modal de Vista Previa -->
<div class="modal fade" id="previewModal" tabindex="-1">
    <div class="modal-dialog modal-xl">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">
                    <i class="fas fa-eye"></i> Vista Previa de la Empresa y Usuario
                </h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
            </div>
            <div class="modal-body">
                <div id="previewContent">
                    <!-- El contenido se llenará dinámicamente -->
                </div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cerrar</button>
                <button type="button" class="btn btn-primary" onclick="submitForm()">
                    <i class="fas fa-save"></i> Confirmar y Crear
                </button>
            </div>
        </div>
    </div>
</div>

@endsection

@push('styles')
<style>
    .required::after {
        content: ' *';
        color: #dc3545;
    }
    
    .plan-feature {
        padding: 5px 0;
        border-bottom: 1px solid #eee;
    }
    
    .plan-feature:last-child {
        border-bottom: none;
    }
</style>
@endpush

@push('scripts')
<script>
    let usernameTimeout;
    
    function checkUsernameAvailability(username) {
        if (!username || username.length < 3) {
            resetUsernameStatus();
            return;
        }
        
        showUsernameChecking();
        
        // Simular verificación de disponibilidad
        // En producción, esto debería hacer una llamada AJAX a un endpoint de verificación
        setTimeout(() => {
            // Simular respuesta - en producción usar fetch API
            const isAvailable = Math.random() > 0.3; // 70% de probabilidad de estar disponible
            if (isAvailable) {
                showUsernameAvailable();
            } else {
                showUsernameTaken();
            }
        }, 500);
    }
    
    function resetUsernameStatus() {
        document.getElementById('username-help').style.display = 'inline';
        document.getElementById('username-checking').style.display = 'none';
        document.getElementById('username-available').style.display = 'none';
        document.getElementById('username-taken').style.display = 'none';
    }
    
    function showUsernameChecking() {
        document.getElementById('username-help').style.display = 'none';
        document.getElementById('username-checking').style.display = 'inline';
        document.getElementById('username-available').style.display = 'none';
        document.getElementById('username-taken').style.display = 'none';
    }
    
    function showUsernameAvailable() {
        document.getElementById('username-help').style.display = 'none';
        document.getElementById('username-checking').style.display = 'none';
        document.getElementById('username-available').style.display = 'inline';
        document.getElementById('username-taken').style.display = 'none';
        
        const usernameInput = document.getElementById('user_username');
        usernameInput.classList.remove('is-invalid');
        usernameInput.classList.add('is-valid');
    }
    
    function showUsernameTaken() {
        document.getElementById('username-help').style.display = 'none';
        document.getElementById('username-checking').style.display = 'none';
        document.getElementById('username-available').style.display = 'none';
        document.getElementById('username-taken').style.display = 'inline';
        
        const usernameInput = document.getElementById('user_username');
        usernameInput.classList.remove('is-valid');
        usernameInput.classList.add('is-invalid');
    }
    
    function generateUsernameFromName() {
        const fname = document.getElementById('user_fname').value.trim();
        const lname = document.getElementById('user_lname').value.trim();
        
        if (fname && lname) {
            const suggested = (fname.charAt(0) + lname).toLowerCase().replace(/[^a-z0-9]/g, '');
            document.getElementById('user_username').value = suggested;
            
            // Verificar disponibilidad del username sugerido
            clearTimeout(usernameTimeout);
            usernameTimeout = setTimeout(() => {
                checkUsernameAvailability(suggested);
            }, 300);
        }
    }
    
    function updatePlanDetails() {
        const planSelect = document.getElementById('plan_id');
        const planSummary = document.getElementById('planSummary');
        const planFeatures = document.getElementById('planFeatures');
        
        if (!planSelect.value) {
            planSummary.style.display = 'none';
            return;
        }
        
        const selectedOption = planSelect.options[planSelect.selectedIndex];
        const basePrice = parseFloat(selectedOption.dataset.price) || 0;
        
        // Mostrar características del plan
        try {
            const features = JSON.parse(selectedOption.dataset.features || '[]');
            let featuresHtml = '<ul class="list-unstyled">';
            features.forEach(feature => {
                featuresHtml += `<li class="plan-feature"><i class="fas fa-check text-success"></i> ${feature}</li>`;
            });
            featuresHtml += '</ul>';
            
            featuresHtml += `<div class="mt-2">
                <strong>Precio: $${new Intl.NumberFormat('es-AR').format(basePrice)}</strong>
            </div>`;
            
            planFeatures.innerHTML = featuresHtml;
            planSummary.style.display = 'block';
        } catch (e) {
            console.error('Error parsing plan features:', e);
        }
    }
    
    function previewCompany() {
        const form = document.getElementById('createCompanyForm');
        const formData = new FormData(form);
        
        let previewHtml = '<div class="row">';
        
        // Información del usuario
        previewHtml += `
            <div class="col-md-6">
                <h6><i class="fas fa-user"></i> Usuario Propietario</h6>
                <table class="table table-sm">
                    <tr><td><strong>Nombre:</strong></td><td>${formData.get('user_fname')} ${formData.get('user_lname')}</td></tr>
                    <tr><td><strong>Email:</strong></td><td>${formData.get('user_email')}</td></tr>
                    <tr><td><strong>Username:</strong></td><td>${formData.get('user_username')}</td></tr>
                    <tr><td><strong>Teléfono:</strong></td><td>${formData.get('user_phone') || 'No especificado'}</td></tr>
                    <tr><td><strong>Dirección:</strong></td><td>${formData.get('user_address') || 'No especificada'}</td></tr>
                    <tr><td><strong>Ciudad:</strong></td><td>${formData.get('user_city')} ${formData.get('user_province')}</td></tr>
                </table>
            </div>
        `;
        
        // Información de la empresa
        previewHtml += `
            <div class="col-md-6">
                <h6><i class="fas fa-building"></i> Empresa</h6>
                <table class="table table-sm">
                    <tr><td><strong>Nombre:</strong></td><td>${formData.get('business_name')}</td></tr>
                    <tr><td><strong>Email:</strong></td><td>${formData.get('business_email')}</td></tr>
                    <tr><td><strong>CUIT:</strong></td><td>${formData.get('business_cuit') || 'No especificado'}</td></tr>
                    <tr><td><strong>Teléfono:</strong></td><td>${formData.get('business_phone') || 'No especificado'}</td></tr>
                    <tr><td><strong>Dirección:</strong></td><td>${formData.get('business_address') || 'No especificada'}</td></tr>
                    <tr><td><strong>Ciudad:</strong></td><td>${formData.get('business_city')} ${formData.get('business_province')}</td></tr>
                    <tr><td><strong>Versión:</strong></td><td>${formData.get('business_versionName')} ${formData.get('business_versionCode') || ''}</td></tr>
                </table>
            </div>
        `;
        
        previewHtml += '</div>';
        
        // Descripción de la empresa
        if (formData.get('business_about')) {
            previewHtml += `
                <hr>
                <h6><i class="fas fa-info-circle"></i> Descripción de la Empresa</h6>
                <p>${formData.get('business_about')}</p>
            `;
        }
        
        // Información del plan
        if (formData.get('plan_id')) {
            const planSelect = document.getElementById('plan_id');
            const selectedPlan = planSelect.options[planSelect.selectedIndex];
            
            previewHtml += `
                <hr>
                <h6><i class="fas fa-layer-group"></i> Plan Asignado</h6>
                <p><strong>${selectedPlan.text}</strong></p>
            `;
        }
        
        document.getElementById('previewContent').innerHTML = previewHtml;
        const modal = new bootstrap.Modal(document.getElementById('previewModal'));
        modal.show();
    }
    
    function submitForm() {
        // Validar que el username esté disponible antes de enviar
        const usernameInput = document.getElementById('user_username');
        if (usernameInput.classList.contains('is-invalid')) {
            alert('Por favor, elija un username válido y disponible.');
            return false;
        }
        
        document.getElementById('createCompanyForm').submit();
    }
    
    // Auto-completar email de empresa con email de usuario
    document.getElementById('user_email').addEventListener('blur', function() {
        const businessEmail = document.getElementById('business_email');
        if (!businessEmail.value) {
            businessEmail.value = this.value;
        }
    });
    
    // Auto-generar username cuando se completan nombre y apellido
    document.getElementById('user_fname').addEventListener('blur', generateUsernameFromName);
    document.getElementById('user_lname').addEventListener('blur', generateUsernameFromName);
    
    // Validar username en tiempo real
    document.getElementById('user_username').addEventListener('input', function() {
        const username = this.value.trim();
        
        // Limpiar caracteres no válidos
        this.value = username.toLowerCase().replace(/[^a-z0-9]/g, '');
        
        clearTimeout(usernameTimeout);
        usernameTimeout = setTimeout(() => {
            checkUsernameAvailability(this.value);
        }, 500);
    });
    
    // Inicializar plan details si ya hay datos
    document.addEventListener('DOMContentLoaded', function() {
        if (document.getElementById('plan_id').value) {
            updatePlanDetails();
        }
        
        // Si hay un username en old(), verificar su disponibilidad
        const usernameInput = document.getElementById('user_username');
        if (usernameInput.value) {
            checkUsernameAvailability(usernameInput.value);
        }
    });
</script>
@endpush