@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">تعديل الدفعة #{{ $payment->payment_number }}</h3>
                    <div class="card-tools">
                        <a href="{{ route('customer-payments.show', $payment) }}" 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.update', $payment) }}" method="POST" enctype="multipart/form-data">
                        @csrf
                        @method('PUT')
                        <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', $payment->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', $payment->customer_invoice_id) == $invoice->id ? 'selected' : '' }}
                                            data-customer="{{ $invoice->customer_id }}"
                                            data-remaining="{{ $invoice->total_amount - ($invoice->payments->where('id', '!=', $payment->id)->sum('amount')) }}">
                                            {{ $invoice->invoice_number }} - {{ number_format($invoice->total_amount, 2) }} ريال
                                            (المتبقي: {{ number_format($invoice->total_amount - ($invoice->payments->where('id', '!=', $payment->id)->sum('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', $payment->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', $payment->payment_date->format('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', $payment->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 @error('payment_method') is-invalid @enderror" required>
                                        <option value="">-- اختر طريقة الدفع --</option>
                                        <option value="cash" {{ old('payment_method', $payment->payment_method) == 'cash' ? 'selected' : '' }}>نقداً</option>
                                        <option value="bank_transfer" {{ old('payment_method', $payment->payment_method) == 'bank_transfer' ? 'selected' : '' }}>تحويل بنكي</option>
                                        <option value="check" {{ old('payment_method', $payment->payment_method) == 'check' ? 'selected' : '' }}>شيك</option>
                                        <option value="credit_card" {{ old('payment_method', $payment->payment_method) == 'credit_card' ? 'selected' : '' }}>بطاقة ائتمان</option>
                                        <option value="other" {{ old('payment_method', $payment->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">
                                <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', $payment->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">
                                            {{ $payment->attachment ? basename($payment->attachment) : 'اختر ملف' }}
                                        </label>
                                    </div>
                                    <small class="form-tet text-muted">الملفات المسموحة: PDF, DOC, DOC, JPG, JPEG, PNG (الحد الأقصى: 10 ميجابايت)</small>
                                    @if($payment->attachment)
                                    <div class="mt-2">
                                        <a href="{{ Storage::url($payment->attachment) }}" target="_blank" class="btn btn-sm btn-info">
                                            <i class="fas fa-download"></i> عرض المرفق الحالي
                                        </a>
                                    </div>
                                    @endif
                                    @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', $payment->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();
            
            // إعادة تعيين الاختيار إذا كانت الفاتورة المحددة لا تنتمي للعميل الجديد
            var currentInvoice = invoiceSelect.val();
            if (currentInvoice !== '' && invoiceSelect.find('option[value="' + currentInvoice + '"]').data('customer') != customerId) {
                invoiceSelect.val('').trigger('change');
            }
        });

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

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

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