{% extends "base.html.twig" %}
{% trans_default_domain 'core' %}

{% block actionheader %}

{% endblock %}

{% block searchform_container %}{% endblock %}

{% block body %}

    <article class="invoice-like">

        <header id="invoice-like-title" class="clearfix">
            {% block invoice_actions %}{% endblock %}
            {% block invoice_label %}{% endblock %}
        </header>

        {{ form_start(form, {'attr': {'class': 'form-stacked', 'id':'retencion' } }) }}

        <div class="box pad box-warning">

            <div class="box-header with-border">

                <div class="btn-group">

                    <a href="{{ path('retencion_index') }}" class="btn btn-app">
                        <i class="glyphicon glyphicon-list-alt"></i>
                        Listado
                    </a>
                    <a href="{{ path('retencion_add') }}" class="btn btn-app">
                        <i class="glyphicon glyphicon-file"></i>
                        Nuevo
                    </a>

                    {#
                        {% if not entity.id or entity.isDraft() %}
                            <button type="submit" class="btn btn-app" name="save_draft">
                                 {% trans %}form.submit_draft{% endtrans %}
                            </button>
                        {% endif %}



                        <button type="submit" class="btn btn-app" name="save_email">
                            {% trans %}form.submit_email{% endtrans %}
                        </button>

                    {% if entity.isOpen() %}
                        <button type="submit" class="btn btn-app" name="save_close">
                            {% trans %}form.submit_close{% endtrans %}
                        </button>
                    {% endif %}

                    {% if entity.id %}
                        <input type="submit" class="btn btn-app" name="save_pdf"
                               value="{% trans %}form.submit_pdf{% endtrans %}">
                    {% endif %}
                     #}


                    {#{% if entity.id %}

                        {% if entity.statusString != 'anulado' %}
                            <a class="btn btn-app" href="{{ path('retencion_show_pdf', {'id': entity.id}) }}">
                                <i class="fa fa-file-pdf-o"></i>Pdf</a>

                            <a class="btn btn-app" href="{{ path('retencion_email', {'id': entity.id}) }}">
                                <i class="glyphicon glyphicon-envelope"></i>Mail</a>

                            <a class="btn btn-app" href="{{ path('retencion_anular', {'id': entity.id}) }}"
                               data-confirm="Esta seguro que desea ANULAR la factura">
                                <i class="glyphicon glyphicon-remove"></i>Anular</a>

                            <a class="btn btn-app" href="{{ path('retencion_delete', {'id': entity.id}) }}"
                               data-confirm="{% trans %}form.submit_delete_confirm{% endtrans %}">
                                <i class="glyphicon glyphicon-trash"></i>{% trans %}form.submit_delete{% endtrans %}</a>

                            {% if entity.autorizado == false%}
                                <div class="btn-group">
                                    <button type="button" class="btn btn-app dropdown-toggle" data-toggle="dropdown">
                                        <span class="badge bg-aqua">...</span>
                                        <b>S R I </b>&nbsp;&nbsp;<span class="caret"></span>

                                    </button>
                                    <ul class="dropdown-menu" role="menu">
                                        <li><a href="{{ path('retencion_enviar_sri', {'id': entity.id}) }}">Enviar</a>
                                        <li><a href="{{ path('retencion_autorizar_sri', {'id': entity.id}) }}">Autorizar</a>
                                        </li>
                                    </ul>
                                </div>
                            {% endif %}
                        {% endif %}

                    {% endif %}
#}
                </div>
            </div>
            <div class="box-body">

                <div class="row">

                    <div id="invoice-like-provider-data" class="col-md-9">

                        <div class="row">
                            <div class="col-xs-6 col-md-4 clearfix">
                                <div class="form-group">
                                    {{ form_row(form.series) }}
                                </div>
                            </div>
                            <div class="col-xs-6 col-md-4 clearfix">
                                <div class="form-group">
                                    {{ form_label(form.number) }}
                                    {{ form_widget(form.number, {'value' : "%09d"|format(form.number.vars.value) }) }}
                                </div>
                            </div>
                            <div class="col-md-4 clearfix">
                                <div class="form-group">
                                    {{ form_row(form.issue_date) }}
                                </div>
                            </div>

                        </div>

                        <div class="row">
                            <div class="col-md-4 clearfix">
                                <div class="form-group">
                                    {{ form_label(form.provider_identification) }}
                                    <div class="input-group">
                                        {{ form_widget(form.provider_identification) }}
                                        <span class="input-group-btn">
                                            <button id="buscarpro" type="button" class="btn btn-info btn-flat">
                                                <i class="glyphicon glyphicon-search"></i>
                                            </button>
                                        </span>
                                    </div>
                                    {{ form_errors(form.provider_identification) }}
                                </div>
                            </div>
                            <div class="col-md-8 clearfix">
                                {% if formprovider is defined %}
                                    {{ form_label(form.provider_name) }}
                                    <div class="input-group">
                                        {{ form_widget(form.provider_name) }}
                                        <span class="input-group-btn">
                                          <button type="button" class="btn btn-success btn-flat" data-toggle="modal"
                                                  data-target="#modal-default"><i
                                                      class="glyphicon glyphicon-plus"></i></button>
                                        </span>
                                    </div>
                                    {{ form_errors(form.provider_name) }}
                                {% else %}
                                    {{ form_row(form.provider_name) }}
                                {% endif %}
                            </div>
                        </div>

                        <div class="row">
                            <div class="col-md-6 clearfix">
                                <div class="form-group">
                                    {{ form_label(form.provider_email) }}
                                    <div class="input-group">
                                <span class="input-group-addon"><span
                                            class="glyphicon glyphicon-envelope"></span></span>
                                        {{ form_widget(form.provider_email) }}
                                    </div>
                                    {{ form_errors(form.provider_email) }}
                                </div>
                            </div>

                            <div class="col-md-6 clearfix">
                                {{ form_row(form.provider_address) }}
                            </div>

                        </div>

                        <div class="row">
                            <div class="col-md-12">

                                <h3>Periodo Fiscal</h3>
                                <div class="col-md-4 clearfix">
                                    <div class="form-group">
                                        {{ form_row(form.mes) }}
                                    </div>
                                </div>
                                <div class="col-md-2 clearfix">
                                    <div class="form-group">
                                        {{ form_row(form.anio) }}
                                    </div>
                                </div>
                            </div>
                        </div>

                        <div class="row">
                            <div class="col-md-12">

                                <h3>Factura Compra</h3>
                                <div class="col-md-12 clearfix">
                                    <div class="form-group">
                                        {{ form_row(form.codSustento) }}
                                    </div>
                                </div>
                                <div class="col-md-4 clearfix">
                                    <div class="form-group">
                                        {{ form_row(form.codigoDocSustento) }}
                                    </div>
                                </div>

                                <div class="col-md-2 clearfix">
                                    <div class="form-group">
                                        {{ form_row(form.serieCompra) }}
                                    </div>
                                </div>
                                <div class="col-md-3 clearfix">
                                    <div class="form-group">
                                        {{ form_row(form.numeroCompra) }}
                                    </div>
                                </div>
                                <div class="col-md-3 clearfix">
                                    <div class="form-group">
                                        {{ form_row(form.fechaCompra) }}
                                    </div>
                                </div>
                                <div class="col-md-12 clearfix">
                                    <div class="form-group">
                                        {{ form_row(form.autorizacionCompra) }}
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-12">
                                <div class="col-md-4 clearfix">
                                    <div class="form-group">
                                        {{ form_row(form.conivaCompra) }}
                                    </div>
                                </div>
                                <div class="col-md-4 clearfix">
                                    <div class="form-group">
                                        {{ form_row(form.ivaCompra) }}
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-12">
                                <div class="col-md-4 clearfix">
                                    <div class="form-group">
                                        {{ form_row(form.coniva5Compra) }}
                                    </div>
                                </div>
                                <div class="col-md-4 clearfix">
                                    <div class="form-group">
                                        {{ form_row(form.iva5Compra) }}
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-12">
                                <div class="col-md-4 clearfix">
                                    <div class="form-group">
                                        {{ form_row(form.sinivaCompra) }}
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-12">
                                <div class="col-md-4 clearfix">
                                    <div class="form-group">
                                        {{ form_row(form.noobjivaCompra) }}
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-12">
                                <div class="col-md-4 clearfix">
                                    <div class="form-group">
                                        {{ form_row(form.netoCompra) }}
                                    </div>
                                </div>
                                <div class="col-md-4 clearfix">
                                    <div class="form-group">
                                        {{ form_row(form.ivaTotalCompra) }}
                                    </div>
                                </div>
                                <div class="col-md-4 clearfix">
                                    <div class="form-group">
                                        {{ form_row(form.totalCompra) }}
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-12">
                                <div class="col-md-12 clearfix">
                                    <div class="form-group">
                                        {{ form_row(form.formaPago) }}
                                    </div>
                                </div>
                            </div>
                        </div>

                    </div>

                    <div id="invoice-like-properties" class="col-md-4" style="display: none; visibility: hidden;">
                        <div class="panel panel-default">
                            <h3 class="panel-heading">{% trans %}abstract_invoice.form.properties{% endtrans %}</h3>

                            <div class="panel-body form-inline">
                                {% block properties_form %}{% endblock %}
                            </div>
                        </div>
                    </div>

                    {% block additional_form_data %}{% endblock %}
                </div>

                <div class="row">
                    <div class="col-md-12">

                        <h3>Detalle Retencion</h3>

                        <table id="invoice-like-items" class="table table-condensed table-striped align-middle">
                            <thead>
                            <tr>
                                <th></th>
                                <th class="">Tipo Retención</th>
                                <th class="col-md-2 cell-align-right">Base</th>
                                <th class="col-md-1 cell-align-right">Porcentaje</th>
                                <th class="col-md-1 cell-align-right">Retenido</th>
                            </tr>
                            </thead>
                            <tbody data-prototype="{{ include('RetencionItem/edit.html.twig', { 'form': form.items.vars.prototype, 'currency': currency })|e }}">
                            {% for item in form.items %}
                                {{ include('RetencionItem/edit.html.twig', { 'form': item, 'entity': item.vars.value, 'currency': currency }) }}
                            {% endfor %}
                            {# TODO: Action buttons: add/remove items, taxes, sort... #}
                            </tbody>

                        </table>
                    </div>


                </div>
                <div class="row totals">
                    <div class="col-md-6 col-xs-6">

                        <button type="button" id="invoice-like-add-item" class="btn btn-primary"><span
                                    class="glyphicon glyphicon-plus glyphicon-white"></span> {% trans %}
                                abstract_invoice.form.item_add{% endtrans %}</button>

                        <script type="text/javascript">

                            $('#invoice-like-add-item').on('click', function (event) {
                                event.preventDefault();
                                var collectionHolder = $('#invoice-like-items tbody');
                                var prototype = collectionHolder.attr('data-prototype');
                                form = prototype.replace(/__name__/g, collectionHolder.children().length);
                                collectionHolder.append(form);
                            });

                        </script>

                    </div>
                    <div class="col-md-4 col-xs-4 col-md-offset-2 table-responsive">
                        <table id="invoice-like-totals" class="table-condensed table-striped table">
                            <tbody>

                            <tr>
                                <th>{% trans with {'%currency%': currency} %}abstract_invoice.form.total{% endtrans %}</th>
                                <td class="cell-align-right gross-amount">{{ entity.grossAmount|localizedcurrency(currency, app.request.locale) }}</td>
                            </tr>
                            </tbody>
                        </table>
                    </div>

                </div>

                <div id="invoice-like-notes" class="row">
                    <div class="col-md-12">
                        {{ form_row(form.notes) }}
                    </div>
                </div>

                {% if entity.statusString != 'anulado' and entity.statusString != 'autorizado' %}
                    <button type="submit" class="btn btn-success" name="savesend" id="btn-save">
                        <i class="fa fa-save"></i>&nbsp;Guardar y Enviar SRI
                    </button>&nbsp;&nbsp;
                    <button type="submit" class="btn btn-info" name="save">
                        <i class="fa fa-save"></i>&nbsp;Guardar
                    </button>
                {% endif %}

                {{ form_rest(form) }}

            </div>

        </div>

        {{ form_end(form) }}

    </article>

    <div class="modalwait">

    </div>

    {% if cambioplan is defined and cambioplan  == true %}
        {% if formcambioplan is defined %}

            {% include "Retencion/cambioplan.html.twig" %}

        {% endif %}
    {% endif %}

    {% include "Core/provider.form.html.twig" %}

{% endblock %}

{% block javascripts %}
    {{ parent() }}

    <script src="{{ asset('js/products.js') }}"></script>
    <script src="{{ asset('js/invoices-common.js') }}"></script>

    <script>

        document.addEventListener('DOMContentLoaded', function () {

            const form = document.getElementById('retencion');
            const btnSave = document.getElementById('btn-save');

            if (!form || !btnSave) return;

            form.addEventListener('submit', function () {

                // Evita doble submit
                if (btnSave.disabled) {
                    return false;
                }

                // Deshabilita el botón
                btnSave.disabled = true;

                // Cambia texto / icono
                btnSave.innerHTML =
                    '<i class="fa fa-spinner fa-spin"></i>&nbsp;Procesando...';

                // Opcional: bloquear todos los submits
                const buttons = form.querySelectorAll('button[type="submit"]');
                buttons.forEach(b => b.disabled = true);

                // Mostrar overlay si deseas
                $('.modalwait').show();
            });
        });

        document.querySelectorAll('button[type="submit"]').forEach(btn => {
            btn.addEventListener('click', function () {
                document.getElementById('submit-action').value = this.name;
            });
        });

        jQuery(function ($) {
            $(document).on('change', '.edit-item-row select, .edit-item-row input', function () {
                updateRetencionTotals('{{ path('retencion_form_totals') }}', $(this).parents('tr'));
            });

            $("#retencion_conivaCompra").keyup(function(){
                let aux = this.value * 0.15;
                $("#retencion_ivaCompra:text").val(aux.toFixed(2));
                totales();
            });
            $("#retencion_coniva5Compra").keyup(function(){
                let aux = this.value * 0.05;
                $("#retencion_iva5Compra:text").val(aux.toFixed(2));
                totales();
            });
            $("#retencion_sinivaCompra").keyup(function(){
                totales();
            });
            $("#retencion_noobjivaCompra").keyup(function(){
                totales();
            });
            $("#retencion_ivaCompra").keyup(function(){
                totales();
            });
            $("#retencion_iva5Compra").keyup(function(){
                totales();
            });
            $("#retencion_netoCompra").keyup(function(){
                totales();
            });
            $("#retencion_ivaTotalCompra").keyup(function(){
                totales();
            });
            function totales(){
                let iva15=$("#retencion_ivaCompra").val();
                let iva5=$("#retencion_iva5Compra").val();
                let iva=parseFloat(iva15)+parseFloat(iva5);
                $("#retencion_ivaTotalCompra:text").val(iva.toFixed(2));
                let sub15=$("#retencion_conivaCompra").val();
                let sub5=$("#retencion_coniva5Compra").val();
                let subsniva=$("#retencion_sinivaCompra").val();
                let subobjiva=$("#retencion_noobjivaCompra").val();
                let neto=parseFloat(sub15)+parseFloat(sub5)+parseFloat(subobjiva)+parseFloat(subsniva);
                $("#retencion_netoCompra:text").val(neto.toFixed(2));
                let total = parseFloat(iva)+parseFloat(neto);
                $("#retencion_totalCompra:text").val(total.toFixed(2));

            }
        });

    </script>
{% endblock %}

