@extends('layouts.app')

@section('title', 'Modifica Rata')

@section('content')
<div class="container-fluid">
    <div class="row">
        <div class="col-12">
            <div class="card">
                <div class="card-header">
                    <h3 class="card-title">Modifica Rata</h3>
                    <div class="card-tools">
                        <a href="{{ route('admin.rate.show', $rata->id) }}" class="btn btn-info btn-sm">
                            <i class="fas fa-eye"></i> Visualizza
                        </a>
                        <a href="{{ route('admin.rate.index') }}" class="btn btn-default btn-sm">
                            <i class="fas fa-arrow-left"></i> Torna all'elenco
                        </a>
                    </div>
                </div>

                <form action="{{ route('admin.rate.update', $rata->id) }}" method="POST">
                    @csrf
                    @method('PUT')
                    <div class="card-body">
                        <div class="row">
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="piano_id">Piano di Rateizzazione *</label>
                                    <select class="form-control select2 @error('piano_id') is-invalid @enderror" 
                                            id="piano_id" name="piano_id" required>
                                        <option value="">Seleziona un piano</option>
                                        @foreach($piani as $piano)
                                            <option value="{{ $piano->id }}" 
                                                {{ old('piano_id', $rata->piano_id) == $piano->id ? 'selected' : '' }}>
                                                {{ $piano->denominazione }} - {{ $piano->ripartizione->stabile->denominazione }}
                                            </option>
                                        @endforeach
                                    </select>
                                    @error('piano_id')
                                        <div class="invalid-feedback">{{ $message }}</div>
                                    @enderror
                                </div>
                            </div>

                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="numero_rata">Numero Rata *</label>
                                    <input type="number" min="1" max="999" 
                                           class="form-control @error('numero_rata') is-invalid @enderror" 
                                           id="numero_rata" name="numero_rata" 
                                           value="{{ old('numero_rata', $rata->numero_rata) }}" required>
                                    @error('numero_rata')
                                        <div class="invalid-feedback">{{ $message }}</div>
                                    @enderror
                                </div>
                            </div>
                        </div>

                        <div class="row">
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="data_scadenza">Data Scadenza *</label>
                                    <input type="date" class="form-control @error('data_scadenza') is-invalid @enderror" 
                                           id="data_scadenza" name="data_scadenza" 
                                           value="{{ old('data_scadenza', $rata->data_scadenza->format('Y-m-d')) }}" required>
                                    @error('data_scadenza')
                                        <div class="invalid-feedback">{{ $message }}</div>
                                    @enderror
                                </div>
                            </div>

                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="importo">Importo *</label>
                                    <div class="input-group">
                                        <input type="number" step="0.01" min="0" 
                                               class="form-control @error('importo') is-invalid @enderror" 
                                               id="importo" name="importo" 
                                               value="{{ old('importo', $rata->importo) }}" required>
                                        <div class="input-group-append">
                                            <span class="input-group-text">€</span>
                                        </div>
                                        @error('importo')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                            </div>
                        </div>

                        <div class="row">
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="importo_interessi">Importo Interessi</label>
                                    <div class="input-group">
                                        <input type="number" step="0.01" min="0" 
                                               class="form-control @error('importo_interessi') is-invalid @enderror" 
                                               id="importo_interessi" name="importo_interessi" 
                                               value="{{ old('importo_interessi', $rata->importo_interessi) }}">
                                        <div class="input-group-append">
                                            <span class="input-group-text">€</span>
                                        </div>
                                        @error('importo_interessi')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                            </div>

                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="importo_spese">Importo Spese</label>
                                    <div class="input-group">
                                        <input type="number" step="0.01" min="0" 
                                               class="form-control @error('importo_spese') is-invalid @enderror" 
                                               id="importo_spese" name="importo_spese" 
                                               value="{{ old('importo_spese', $rata->importo_spese) }}">
                                        <div class="input-group-append">
                                            <span class="input-group-text">€</span>
                                        </div>
                                        @error('importo_spese')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                            </div>
                        </div>

                        <div class="row">
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="importo_totale">Importo Totale</label>
                                    <div class="input-group">
                                        <input type="number" step="0.01" min="0" 
                                               class="form-control @error('importo_totale') is-invalid @enderror" 
                                               id="importo_totale" name="importo_totale" 
                                               value="{{ old('importo_totale', $rata->importo_totale) }}" readonly>
                                        <div class="input-group-append">
                                            <span class="input-group-text">€</span>
                                        </div>
                                        @error('importo_totale')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                            </div>

                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="stato">Stato</label>
                                    <select class="form-control @error('stato') is-invalid @enderror" 
                                            id="stato" name="stato">
                                        <option value="da_pagare" {{ old('stato', $rata->stato) == 'da_pagare' ? 'selected' : '' }}>Da Pagare</option>
                                        <option value="pagata" {{ old('stato', $rata->stato) == 'pagata' ? 'selected' : '' }}>Pagata</option>
                                        <option value="scaduta" {{ old('stato', $rata->stato) == 'scaduta' ? 'selected' : '' }}>Scaduta</option>
                                        <option value="sospesa" {{ old('stato', $rata->stato) == 'sospesa' ? 'selected' : '' }}>Sospesa</option>
                                    </select>
                                    @error('stato')
                                        <div class="invalid-feedback">{{ $message }}</div>
                                    @enderror
                                </div>
                            </div>
                        </div>

                        <div class="row">
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="data_pagamento">Data Pagamento</label>
                                    <input type="date" class="form-control @error('data_pagamento') is-invalid @enderror" 
                                           id="data_pagamento" name="data_pagamento" 
                                           value="{{ old('data_pagamento', $rata->data_pagamento ? $rata->data_pagamento->format('Y-m-d') : '') }}">
                                    @error('data_pagamento')
                                        <div class="invalid-feedback">{{ $message }}</div>
                                    @enderror
                                </div>
                            </div>

                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="importo_pagato">Importo Pagato</label>
                                    <div class="input-group">
                                        <input type="number" step="0.01" min="0" 
                                               class="form-control @error('importo_pagato') is-invalid @enderror" 
                                               id="importo_pagato" name="importo_pagato" 
                                               value="{{ old('importo_pagato', $rata->importo_pagato) }}">
                                        <div class="input-group-append">
                                            <span class="input-group-text">€</span>
                                        </div>
                                        @error('importo_pagato')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                            </div>
                        </div>

                        <div class="row">
                            <div class="col-12">
                                <div class="form-group">
                                    <label for="note">Note</label>
                                    <textarea class="form-control @error('note') is-invalid @enderror" 
                                              id="note" name="note" rows="3" 
                                              placeholder="Note aggiuntive sulla rata...">{{ old('note', $rata->note) }}</textarea>
                                    @error('note')
                                        <div class="invalid-feedback">{{ $message }}</div>
                                    @enderror
                                </div>
                            </div>
                        </div>
                    </div>

                    <div class="card-footer">
                        <button type="submit" class="btn btn-primary">
                            <i class="fas fa-save"></i> Aggiorna Rata
                        </button>
                        <a href="{{ route('admin.rate.show', $rata->id) }}" class="btn btn-info">
                            <i class="fas fa-eye"></i> Visualizza
                        </a>
                        <a href="{{ route('admin.rate.index') }}" class="btn btn-default">
                            <i class="fas fa-times"></i> Annulla
                        </a>
                    </div>
                </form>
            </div>
        </div>
    </div>
</div>
@endsection

@section('scripts')
<script>
$(document).ready(function() {
    // Initialize Select2
    $('.select2').select2({
        theme: 'bootstrap4',
        width: '100%'
    });

    // Calcola importo totale automaticamente
    function calcolaImportoTotale() {
        var importo = parseFloat($('#importo').val()) || 0;
        var interessi = parseFloat($('#importo_interessi').val()) || 0;
        var spese = parseFloat($('#importo_spese').val()) || 0;
        var totale = importo + interessi + spese;
        
        $('#importo_totale').val(totale.toFixed(2));
    }

    $('#importo, #importo_interessi, #importo_spese').on('input', calcolaImportoTotale);

    // Gestione stato pagata
    $('#stato').on('change', function() {
        var stato = $(this).val();
        if (stato === 'pagata') {
            if (!$('#data_pagamento').val()) {
                $('#data_pagamento').val(new Date().toISOString().split('T')[0]);
            }
            if ($('#importo_pagato').val() == '0') {
                $('#importo_pagato').val($('#importo_totale').val());
            }
        }
    });

    // Auto-fill importo pagato quando si cambia data pagamento
    $('#data_pagamento').on('change', function() {
        if ($(this).val() && $('#importo_pagato').val() == '0') {
            $('#importo_pagato').val($('#importo_totale').val());
        }
    });
});
</script>
@endsection
