<div class="accordion mt-3 col-xl-6" id="accordionResumen">
    <div class="card accordion-item active">
        <h2 class="accordion-header" id="headingOne">
            <button type="button" class="accordion-button" data-bs-toggle="collapse"
                    data-bs-target="#accordionResumenTip" aria-expanded="false"
                    aria-controls="accordionResumenTip">
                <h4><?= lang("Presupuestos.resumen") ?></h4>
            </button>
        </h2>

        <div id="accordionResumenTip" class="accordion-collapse collapse show"
             data-bs-parent="#accordionResumen">
            <div class="accordion-body">

                <div class="col-xl-12">
                    <div class="border rounded p-4 mb-3 pb-3">

                        <!-- Price Details -->
                        <h6>Detalles del presupuesto</h6>
                        <dl class="row mb-0">
                            <dt class="col-6 py-1 fw-normal text-end">Coste papel</dt>
                            <dd id="totalCostePapel" class="py-1 col-6 text-end"><?= old('0', $presupuestoEntity->total_coste_papel) ?>€</dd>
                            <dt class="col-6 py-1 fw-normal text-end">Margen papel</dt>
                            <dd id="porcentajeMargenPapel" class="col-4 text-end py-1"><?= old('0', $presupuestoEntity->total_margenPercent_papel) ?>%</dd>
                            <dd id="margenPapel" class="col-2 text-end py-1"><?= old('0', $presupuestoEntity->total_margen_papel) ?>€</dd>

                            <dt class="col-6 fw-normal text-end">Coste impresión</dt>
                            <dd id="totalCosteImpresion" class="col-6 text-end"><?= old('0', $presupuestoEntity->total_coste_impresion) ?>€</dd>
                            <dt class="col-6 py-1 fw-normal text-end">Margen impresión</dt>
                            <dd id="porcentajeMargenImpresion" class="col-4 text-end py-1"><?= old('0', $presupuestoEntity->total_margenPercent_impresion) ?>%</dd>
                            <dd id="margenImpresion" class="col-2 py-1 text-end"><?= old('0', $presupuestoEntity->total_margen_impresion) ?>€</dd>

                            <dt class="col-6 fw-normal text-end">Coste servicios</dt>
                            <dd id="totalServicios" class="col-6 text-end py-1"><?= old('0', $presupuestoEntity->total_coste_servicios) ?>€</dd>
                            <dt class="col-6 fw-normal text-end">Margen servicios</dt>
                            <dd id="porcentajeMargenServicios" class="col-4 text-end py-1"><?= old('0', $presupuestoEntity->total_margenPercent_servicios) ?>%</dd>
                            <dd id="margenServicios" class="col-2 text-end py-1"><?= old('0', $presupuestoEntity->total_margen_servicios) ?>€</dd>

                            <dt class="col-6 fw-normal text-end">Coste de envío</dt>
                            <dd id="totalEnvios"class="col-6 text-end py-1"><?= old('0', $presupuestoEntity->total_coste_envios) ?>€</dd>
                            <dt class="col-6 fw-normal text-end">Margen envío</dt>
                            <dd id="margenEnvios" class="col-6 text-end py-1"><?= old('0', $presupuestoEntity->total_margen_envios) ?>€</dd>

                            <hr class="mx-n4">
                            
                            <dt class="col-6 fw-normal text-end">Total Costes</dt>
                            <dd id="totalCostes" class="col-6 text-end"><?= old('0', $presupuestoEntity->total_costes) ?>€</dd>
                            <dt class="col-6 fw-normal text-end">Total Margen</dt>
                            <dd id="totalMargenes" class="col-6 text-end"><?= old('0', $presupuestoEntity->total_margenes) ?>€</dd>
                    
                        </dl>

                        <hr class="mx-n4">

                        <dl class="row mb-0">
                            <dt class="col-6 fw-normal text-end">Total</dt>
                            <dd id="totalAntesDescuento" class="col-6 text-end"><?= old('0', $presupuestoEntity->total_antes_descuento) ?>€</dd>
                            <dt class="col-6 py-1 fw-normal text-end">Descuento</dt>
                            <div class="d-flex col-4 flex-row-reverse"><input id="total_descuentoPercent" type='number' value="<?= old('0', $presupuestoEntity->total_descuentoPercent) ?>" class="update-totales form-control" style="width:50% !important;"></div>
                            <dd id="descuentoTotal" class="col-2 py-1 text-end"><?= old('0', $presupuestoEntity->total_descuento) ?>€</dd>
                            <dt class="col-6 text-end">Total presupuesto</dt>
                            <dd id="totalDespuesDecuento" class="col-6 fw-semibold text-end"><?= old('0', $presupuestoEntity->total_presupuesto) ?>€</dd>
                            <dt class="col-6 fw-normal text-end">Precio unidad</dt>
                            <dd id="precioUnidadPresupuesto" class="col-6 text-end mb-0"><?= old('0', $presupuestoEntity->total_precio_unidad) ?>€</dd>
                        </dl>
                    </div>
                    <div class="d-grid float-end mb-4">
                        <div class="form-check form-switch mb-2">
                            <input class="form-check-input" type="checkbox" id="confirmar_presupuesto" name="solapas" value="1" <?= $presupuestoEntity->confirmarPresupuesto == true ? 'checked' : ''; ?>>
                            <label class="form-check-label" for="papelFormatoPersonalizado"><?= lang('Presupuestos.confirmar') ?></label>
                        </div>
                    </div>
                </div>


            </div> <!-- //.accordion-body -->
        </div> <!-- //.accordion-collapse -->
    </div> <!-- //.accordion-item -->
</div> <!-- //.accordion -->
<!------------------------------------------------------->
<!-- Código JS comportamiento ?????. -->
<!------------------------------------------------------->
<?= $this->section("additionalInlineJs") ?>



function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){
    var totalPapel = 0
    var margenPapel = 0
    
    var totalImpresion = 0
    var margenImpresion = 0

    var totalServicios = 0
    var margenServicios = 0

    var totalEnvios = 0
    var margenEnvios = 0

    if(updateLP){
        if(typeof tableLineasPresupuesto !== 'undefined'){
            tableLineasPresupuesto.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
                var rowData = this.data();
                if($('#' + rowData.row_id + '_checkPapel').prop('checked')){
                    totalPapel += parseFloat($('#' + rowData.row_id + '_totalPapelPedido').val())
                    margenPapel += parseFloat($('#' + rowData.row_id + '_margenPapelPedido').val())
                }
                if($('#' + rowData.row_id + '_checkClicks').prop('checked')){
                    totalImpresion += parseFloat($('#' + rowData.row_id + '_precioImpresion').val())
                    margenImpresion += parseFloat($('#' + rowData.row_id + '_margenImpresion').val())
                    if(!isNaN(parseFloat($('#' + rowData.row_id + 'lp_bn_totalTinta').val())))
                        totalImpresion += parseFloat($('#' + rowData.row_id + 'lp_bn_totalTinta').val())
                }
            })
        }
    
        var porcentajeMargenPapel = isNaN(margenPapel/(totalPapel)*100)?0:margenPapel/(totalPapel)*100
        $('#porcentajeMargenPapel').text(porcentajeMargenPapel.toFixed(0) + '%')
        $('#totalCostePapel').text(totalPapel.toFixed(2)+ '€')
        $('#margenPapel').text(margenPapel.toFixed(2) + '€')
        
        var porcentajeMargenImpresion = isNaN(margenImpresion/(totalImpresion)*100)?0:margenImpresion/(totalImpresion)*100
        $('#porcentajeMargenImpresion').text(porcentajeMargenImpresion.toFixed(0) + '%')
        $('#totalCosteImpresion').text(totalImpresion.toFixed(2) + '€')
        $('#margenImpresion').text(margenImpresion.toFixed(2) + '€')
    }

    if(updateServicios){
    
        if ( typeof tableServiciosEnc !== 'undefined' && tableServiciosEnc.rows().count() > 0){
            $('#tableOfServiciosEncuadernacion tbody tr').each(function(){
                var currentRow = $(this).closest("tr");
                var subId = $('#tableOfServiciosEncuadernacion').DataTable().cell(currentRow,0).node().innerHTML;
                var total = parseFloat($('#precio_total_encuadernado_' + subId)[0].value)
                totalServicios += total
                margenServicios += (total*parseFloat($('#enc_margen_' + subId)[0].innerHTML)/100.0)
            })
        }

        if ( typeof tableServiciosAcabado !== 'undefined' && tableServiciosAcabado.rows().count() > 0){
            $('#tableOfServiciosAcabado tbody tr').each(function(){
                var currentRow = $(this).closest("tr");
                var subId = $('#tableOfServiciosAcabado').DataTable().cell(currentRow,0).node().innerHTML;
                var total = parseFloat($('#precio_total_acabado_' + subId)[0].value)
                totalServicios += total
                margenServicios += (total*parseFloat($('#acabado_margen_' + subId)[0].innerHTML)/100.0)
            })
        }
        
        if ( typeof tableServiciosPreimpresion !== 'undefined' && tableServiciosPreimpresion.rows().count() > 0){
        
            $('#tableOfServiciosPreimpresion tbody tr').each(function(){
                var currentRow = $(this).closest("tr");
                var subId = $('#tableOfServiciosPreimpresion').DataTable().cell(currentRow,0).node().innerHTML;
                var total = parseFloat($('#precio_preimpresion_' + subId)[0].value)
                totalServicios += total
                margenServicios += (total*parseFloat($('#preimpresion_margen_' + subId)[0].innerHTML)/100.0)
            })
        }

        if ( typeof tableServiciosManipulado !== 'undefined' && tableServiciosManipulado.rows().count() > 0){
        
            $('#tableOfServiciosManipulado tbody tr').each(function(){
                var currentRow = $(this).closest("tr");
                var subId = $('#tableOfServiciosManipulado').DataTable().cell(currentRow,0).node().innerHTML;
                var total = parseFloat($('#precio_total_manipulado_' + subId)[0].value)
                totalServicios += total
                margenServicios += (total*parseFloat($('#manipulado_margen_' + subId)[0].innerHTML)/100.0)
            })
        }

        totalServicios -= margenServicios;
        var porcentajeMargenServicios = margenServicios/(margenServicios+totalServicios)*100
        $('#porcentajeMargenServicios').text(isNaN(porcentajeMargenServicios.toFixed(0))?0:porcentajeMargenServicios.toFixed(0) + '%')
        $('#totalServicios').text(totalServicios.toFixed(2) + '€')
        $('#margenServicios').text(margenServicios.toFixed(2) + '€')
    }

    if(updateEnvio){

        if ( typeof tableEnvios !== 'undefined' && tableEnvios.rows().count() > 0){
            tableEnvios.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
                var data = this.data()
                totalEnvios += parseFloat(data.precio)
                margenEnvios += parseFloat((data.precio)*data.margen/100)
            } );
        }

        totalEnvios -= margenEnvios
        $('#totalEnvios').text(totalEnvios.toFixed(2) + '€')
        $('#margenEnvios').text(margenEnvios.toFixed(2) + '€')
    }

    var totalCostes = totalPapel + totalImpresion + totalServicios + totalEnvios
    var totalMargenes = margenPapel + margenImpresion + margenServicios + margenEnvios
    $('#totalCostes').text((totalCostes).toFixed(2) + '€')
    $('#totalMargenes').text((totalMargenes).toFixed(2) + '€')

    var totalAntesDescuento = totalCostes + totalMargenes
    var totalDescuento = totalAntesDescuento * parseInt($('#total_descuentoPercent').val())/100
    var totalPresupuesto = totalAntesDescuento - totalDescuento
    var precioUnidad = totalPresupuesto/parseInt($('#tirada').val())

    $('#totalAntesDescuento').text((totalAntesDescuento).toFixed(2) + '€')
    $('#descuentoTotal').text((totalDescuento).toFixed(2) + '€')
    $('#totalDespuesDecuento').text((totalPresupuesto).toFixed(2) + '€')
    $('#precioUnidadPresupuesto').text((precioUnidad).toFixed(2) + '€')
    
}

function getValuesResumenForm(){
    var formResumen = ""
    formResumen += '&total_coste_papel=' + $('#totalCostePapel').text().replace('€', '')
    formResumen += '&total_margen_papel=' + $('#margenPapel').text().replace('€', '')
    formResumen += '&total_margenPercent_papel=' + $('#porcentajeMargenPapel').text().replace('%', '')

    formResumen += '&total_coste_impresion=' + $('#totalCosteImpresion').text().replace('€', '')
    formResumen += '&total_margen_impresion=' + $('#margenImpresion').text().replace('€', '')
    formResumen += '&total_margenPercent_impresion=' + $('#porcentajeMargenImpresion').text().replace('%', '')

    formResumen += '&total_coste_servicios=' + $('#totalServicios').text().replace('€', '')
    formResumen += '&total_margen_servicios=' + $('#margenServicios').text().replace('€', '')
    formResumen += '&total_margenPercent_servicios=' + $('#porcentajeMargenServicios').text().replace('%', '')

    formResumen += '&total_coste_envios=' + $('#totalEnvios').text().replace('€', '')
    formResumen += '&total_margen_envios=' + $('#margenEnvios').text().replace('€', '')

    formResumen += '&total_costes=' + $('#totalCostes').text().replace('€', '')
    formResumen += '&total_margenes=' + $('#totalMargenes').text().replace('€', '')

    formResumen += '&total_antes_descuento=' + $('#totalAntesDescuento').text().replace('€', '')
    formResumen += '&total_descuento=' + $('#descuentoTotal').text().replace('€', '')
    formResumen += '&total_descuentoPercent=' + $('#total_descuentoPercent').val()
    formResumen += '&total_presupuesto=' + $('#totalDespuesDecuento').text().replace('€', '')
    formResumen += '&total_precio_unidad=' + $('#precioUnidadPresupuesto').text().replace('€', '')

    return formResumen
}




$(".update-totales").on("change", function(){
    updateTotales(true, true, true)
})

<?= $this->endSection() ?>



