@extends('layouts.app')

@section('title', 'إضافة دفعة جديدة')

@section('content')
<div class="container-fluid">
    <div class="row">
        <div class="col-md-12">
            <div class="card">
                <div class="card-header">
                    <h3 class="card-title">إضافة دفعة جديدة</h3>
                    <div class="card-tools">
                        <a href="{{ route('customer-payments.index') }}" class="btn btn-default btn-sm">
                            <i class="fas fa-arrow-right"></i> العودة لقائمة الدفعات
                        </a>
                    </div>
                </div>
                <div class="card-body">
                    @if ($errors->any())
                    <div class="alert alert-danger">
                        <ul class="mb-0">
                            @foreach ($errors->all() as $error)
                            <li>{{ $error }}</li>
                            @endforeach
                        </ul>
                    </div>
                    @endif

                    <form action="{{ route('customer-payments.store') }}" method="POST" enctype="multipart/form-data">
                        @csrf
                        <div class="row">
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="customer_id">العميل <span class="text-danger">*</span></label>
                                    <select name="customer_id" id="customer_id" class="form-control select2 @error('customer_id') is-invalid @enderror" required>
                                        <option value="">-- اختر العميل --</option>
                                        @foreach($customers as $customer)
                                        <option value="{{ $customer->id }}" {{ old('customer_id', request('customer_id')) == $customer->id ? 'selected' : '' }}>
                                            {{ $customer->name }} ({{ $customer->company_name }})
                                        </option>
                                        @endforeach
                                    </select>
                                    @error('customer_id')
                                    <span class="invalid-feedback">{{ $message }}</span>
                                    @enderror
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="customer_invoice_id">الفاتورة (اختياري)</label>
                                    <select name="customer_invoice_id" id="customer_invoice_id" class="form-control select2 @error('customer_invoice_id') is-invalid @enderror">
                                        <option value="">-- اختر الفاتورة --</option>
                                        @foreach($invoices as $invoice)
                                        <option value="{{ $invoice->id }}" {{ old('customer_invoice_id', request('invoice_id')) == $invoice->id ? 'selected' : '' }}
                                            data-customer="{{ $invoice->customer_id }}"
                                            data-remaining="{{ $invoice->total_amount - $invoice->paid_amount }}">
                                            {{ $invoice->invoice_number }} - {{ number_format($invoice->total_amount, 2) }} ريال
                                            (المتبقي: {{ number_format($invoice->total_amount - $invoice->paid_amount, 2) }} ريال)
                                        </option>
                                        @endforeach
                                    </select>
                                    @error('customer_invoice_id')
                                    <span class="invalid-feedback">{{ $message }}</span>
                                    @enderror
                                </div>
                            </div>
                        </div>

                        <div class="row">
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="payment_number">رقم الدفعة <span class="text-danger">*</span></label>
                                    <input type="text" name="payment_number" id="payment_number" class="form-control @error('payment_number') is-invalid @enderror" value="{{ old('payment_number') }}" required>
                                    @error('payment_number')
                                    <span class="invalid-feedback">{{ $message }}</span>
                                    @enderror
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="payment_date">تاريخ الدفع <span class="text-danger">*</span></label>
                                    <input type="date" name="payment_date" id="payment_date" class="form-control @error('payment_date') is-invalid @enderror" value="{{ old('payment_date', date('Y-m-d')) }}" required>
                                    @error('payment_date')
                                    <span class="invalid-feedback">{{ $message }}</span>
                                    @enderror
                                </div>
                            </div>
                        </div>

                        <div class="row">
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="amount">المبلغ <span class="text-danger">*</span></label>
                                    <div class="input-group">
                                        <input type="number" name="amount" id="amount" class="form-control @error('amount') is-invalid @enderror" value="{{ old('amount') }}" step="0.01" min="0.01" required>
                                        <div class="input-group-append">
                                            <span class="input-group-tet">ريال</span>
                                        </div>
                                    </div>
                                    @error('amount')
                                    <span class="invalid-feedback">{{ $message }}</span>
                                    @enderror
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="payment_method">طريقة الدفع <span class="text-danger">*</span></label>
                                    <select name="payment_method" id="payment_method" class="form-control select2 @error('payment_method') is-invalid @enderror" required>
                                        <option value="">-- اختر طريقة الدفع --</option>
                                        <option value="cash" {{ old('payment_method') == 'cash' ? 'selected' : '' }}>نقداً</option>
                                        <option value="bank_transfer" {{ old('payment_method') == 'bank_transfer' ? 'selected' : '' }}>تحويل بنكي</option>
                                        <option value="check" {{ old('payment_method') == 'check' ? 'selected' : '' }}>شيك</option>
                                        <option value="credit_card" {{ old('payment_method') == 'credit_card' ? 'selected' : '' }}>بطاقة ائتمان</option>
                                        <option value="other" {{ old('payment_method') == 'other' ? 'selected' : '' }}>أخرى</option>
                                    </select>
                                    @error('payment_method')
                                    <span class="invalid-feedback">{{ $message }}</span>
                                    @enderror
                                </div>
                            </div>
                        </div>

                        <div class="row">
                            <div class="col-md-6" id="treasury_container" style="{{ old('payment_method') == 'cash' || $errors->has('treasury_id') ? '' : 'display: none;' }}">
                                <div class="form-group">
                                    <label for="treasury_id">الخزينة <span class="text-danger">*</span></label>
                                    <select name="treasury_id" id="treasury_id" class="form-control select2 @error('treasury_id') is-invalid @enderror">
                                        <option value="">-- اختر الخزينة --</option>
                                        @foreach($treasuries as $treasury)
                                        <option value="{{ $treasury->id }}" {{ old('treasury_id') == $treasury->id ? 'selected' : '' }}>
                                            {{ $treasury->name }}
                                        </option>
                                        @endforeach
                                    </select>
                                    @error('treasury_id')
                                    <span class="invalid-feedback">{{ $message }}</span>
                                    @enderror
                                </div>
                            </div>
                            <div class="col-md-6" id="bank_container" style="{{ in_array(old('payment_method'), ['bank_transfer', 'check', 'credit_card']) || $errors->has('bank_account_id') ? '' : 'display: none;' }}">
                                <div class="form-group">
                                    <label for="bank_account_id">الحساب البنكي <span class="text-danger">*</span></label>
                                    <select name="bank_account_id" id="bank_account_id" class="form-control select2 @error('bank_account_id') is-invalid @enderror">
                                        <option value="">-- اختر الحساب البنكي --</option>
                                        @foreach($bankAccounts as $bankAccount)
                                        <option value="{{ $bankAccount->id }}" {{ old('bank_account_id') == $bankAccount->id ? 'selected' : '' }}>
                                            {{ $bankAccount->bank->name ?? '' }} - {{ $bankAccount->account_number }}
                                        </option>
                                        @endforeach
                                    </select>
                                    @error('bank_account_id')
                                    <span class="invalid-feedback">{{ $message }}</span>
                                    @enderror
                                </div>
                            </div>
                        </div>

                        <div class="row">
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="reference_number">رقم المرجع (اختياري)</label>
                                    <input type="text" name="reference_number" id="reference_number" class="form-control @error('reference_number') is-invalid @enderror" value="{{ old('reference_number') }}">
                                    @error('reference_number')
                                    <span class="invalid-feedback">{{ $message }}</span>
                                    @enderror
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="attachment">المرفق (اختياري)</label>
                                    <div class="custom-file">
                                        <input type="file" name="attachment" id="attachment" class="custom-file-input @error('attachment') is-invalid @enderror">
                                        <label class="custom-file-label" for="attachment">اختر ملف</label>
                                    </div>
                                    <small class="form-tet text-muted">الملفات المسموحة: PDF, DOC, DOC, JPG, JPEG, PNG (الحد الأقصى: 10 ميجابايت)</small>
                                    @error('attachment')
                                    <span class="invalid-feedback">{{ $message }}</span>
                                    @enderror
                                </div>
                            </div>
                        </div>

                        <div class="form-group">
                            <label for="notes">ملاحظات (اختياري)</label>
                            <textarea name="notes" id="notes" rows="3" class="form-control @error('notes') is-invalid @enderror">{{ old('notes') }}</textarea>
                            @error('notes')
                            <span class="invalid-feedback">{{ $message }}</span>
                            @enderror
                        </div>

                        <div class="form-group">
                            <button type="submit" class="btn btn-primary">
                                <i class="fas fa-save"></i> حفظ الدفعة
                            </button>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection

@section('scripts')
<script>
    $(function() {
        // تفعيل Select2
        $('.select2').select2({
            dir: "rtl",
            language: "ar"
        });

        // عند تغيير العميل، تحديث قائمة الفواتير
        $('#customer_id').on('change', function() {
            var customerId = $(this).val();
            var invoiceSelect = $('#customer_invoice_id');
            
            // إخفاء جميع الفواتير
            invoiceSelect.find('option').each(function() {
                if ($(this).val() !== '') {
                    $(this).hide();
                }
            });
            
            // إظهار فواتير العميل المحدد فقط
            invoiceSelect.find('option[data-customer="' + customerId + '"]').show();
            
            // إعادة تعيين الاختيار
            invoiceSelect.val('').trigger('change');
        });

        // عند تغيير الفاتورة، تعبئة المبلغ المتبقي
        $('#customer_invoice_id').on('change', function() {
            var selectedOption = $(this).find('option:selected');
            if (selectedOption.val() !== '') {
                var remainingAmount = parseFloat(selectedOption.data('remaining'));
                $('#amount').val(remainingAmount.toFixed(2));
            }
        });

        // تفعيل اسم الملف المرفق
        $('.custom-file-input').on('change', function() {
            var fileName = $(this).val().split('\\').pop();
            $(this).next('.custom-file-label').addClass("selected").html(fileName || 'اختر ملف');
        });

        // إظهار/إخفاء الخزينة والبنك بناءً على طريقة الدفع
        $('#payment_method').on('change change.select2', function() {
            var method = $(this).val();
            if (method === 'cash') {
                $('#treasury_container').show();
                $('#bank_container').hide();
                $('#treasury_id').attr('required', true);
                $('#bank_account_id').attr('required', false);
            } else if (['bank_transfer', 'check', 'credit_card'].includes(method)) {
                $('#treasury_container').hide();
                $('#bank_container').show();
                $('#treasury_id').attr('required', false);
                $('#bank_account_id').attr('required', true);
            } else {
                $('#treasury_container').hide();
                $('#bank_container').hide();
                $('#treasury_id').attr('required', false);
                $('#bank_account_id').attr('required', false);
            }
        });

        // تنفيذ التغيير الأولي لطريقة الدفع
        $('#payment_method').trigger('change');

        // تنفيذ التغيير الأولي للعميل لتحديث قائمة الفواتير
        $('#customer_id').trigger('change');
    });
</script>
@endsection
