
<?php
/* @var $this AportanteController */
/* @var $model SidcaiAportante */
/* @var $form CActiveForm */

$form=$this->beginWidget('bootstrap.widgets.TbActiveForm', 
    array(
        'id'=>'sidcai-aportante-form',
        'enableClientValidation' => true,
        'enableAjaxValidation' => true,
        'clientOptions' => array(
            'validateOnSubmit' => true,
            'afterValidate' => 'js:function(form, data, hasError) {
                if(!hasError){
                    return false;
                }
            }',
        )
    )); 
?>

<legend><p class="font-weight-bold">Datos básicos de la empresa</p></legend><hr>
<p class="h6">Los campos con asteriscos (*) son obligatorios.</p>


<div class="container mt-5">
        <div class="card <?php echo $model->datos_actualizados ? '' : 'needs-update'; ?>">
            <div class="card-body">
                <div class="form-row">
                    <div class="form-group col-md-12">
                        <?php
                        echo $form->dropDownListControlGroup(
                            $model,
                            'apor_tipoempresa',
                            array(
                                '1' => 'Empresas contempladas en la Ley para el Control de los Casinos, Salas de Bingo y Máquinas Traganíqueles, y aquellas vinculadas con la producción, comercio y expendio de alcohol etílico, especies alcohólicas y tabaco.',
                                '2' => 'Empresas de capital privado contempladas en la Ley Orgánica de Hidrocarburos, la Ley Orgánica de Hidrocarburos Gaseosos y el Decreto con Rango, Valor y Fuerza de Ley Orgánica que reserva al Estado las actividades de Exploración y Explotación del Oro y demás materiales estratégicos.',
                                '3' => 'Empresas de capital público contempladas en la Ley Orgánica de Hidrocarburos, la Ley Orgánica de Hidrocarburos Gaseosos y el Decreto con Rango, Valor y Fuerza de Ley Orgánica que reserva al Estado las actividades de Exploración y Explotación del Oro y demás materiales estratégicos.',
                                '4' => 'Empresas dedicadas a cualquier otra actividad económica no prevista en los numerales anteriores.',
                                '5' => 'Telecomunicaciones',
                            ),
                            array(
                                'class' => 'show-tick selectbox',
                                'prompt' => 'Seleccione un tipo de empresa',
                                'data-size' => 8,
                                'data-dropup-auto' => false,
                                'disabled' => false,
                                'onchange' => 'toggleFidetelCheckbox(this.value)'
                            )
                        );
                        ?>
                    </div>
                </div>
                <div class="form-row">
                    <!-- Checkbox Column -->
                    <div id="fidetelCheckbox" class="form-group col-md-6" style="display: none;">
                        <?php
                        echo $form->checkBoxControlGroup($model, 'es_fidetel', array(
                            'label' => '¿Es Fidetel?',
                            'onchange' => 'toggleDocumentUpload(this.checked)'
                        ));
                        ?>
                    </div>
                    <!-- Document Upload Column -->
                    <div id="documentUpload" class="form-group col-md-6" style="display: none;">
                        <p>Por favor, suba el documento necesario para Fidetel.</p>
                    </div>
                </div>
                <!-- Resto del formulario... -->
                <div class="form-row">
                    <div class="form-group col-md-12">
                        <?php
                        echo $form->dropDownListControlGroup($model, 'apor_actividad_economica',
                            SidcaiActividadEconomica::getActividadEcon(),
                            array(
                                'class' => 'show-tick selectbox',
                                'data-dropup-auto' => false,
                                'data-live-search' => true,
                                'data-size' => 8,
                                'prompt' => 'Seleccione una actividad económica',
                                'disabled' => false,
                            )
                        );
                        ?>
                    </div>
                </div>
                <div id="cambio-actividad-alert" class="alert alert-warning" style="display: none;">
                    <strong>Confirmación:</strong> Está a punto de cambiar la actividad económica a <span id="actividad-nueva"></span>. ¿Está seguro?
                </div>
                <legend><p class="font-weight-bold">Composición Accionaria</p></legend>
                <!-- Mensaje de explicación -->
                <div class="alert alert-info">
                    <strong>Instrucciones:</strong> Por favor, ingrese los porcentajes para las contribuciones privadas y públicas. La suma de ambos porcentajes debe ser exactamente 100%. Utilice los campos de entrada para especificar los valores y estos se validarán automáticamente.
                </div>
                <div class="form-row">
                    <div class="form-group col-md-6">
                        <div class="md-form">
                            <?php echo $form->labelEx($model, 'apor_porcprivada', array('class' => 'active')); ?>
                            <?php echo $form->numberField($model, 'apor_porcprivada', array(
                                'class' => 'form-control porcentaje-input',
                                'min' => 0,
                                'max' => 100,
                                'id' => 'porcentaje-privada'
                            )); ?>
                            <div class="text-danger">
                                <?php echo $form->error($model, 'apor_porcprivada'); ?>
                            </div>
                        </div>
                    </div>
                    <div class="form-group col-md-6">
                        <div class="md-form">
                            <?php echo $form->labelEx($model, 'apor_porcpublico', array('class' => 'active')); ?>
                            <?php echo $form->numberField($model, 'apor_porcpublico', array(
                                'class' => 'form-control porcentaje-input',
                                'min' => 0,
                                'max' => 100,
                                'id' => 'porcentaje-publico'
                            )); ?>
                            <div class="text-danger">
                                <?php echo $form->error($model, 'apor_porcpublico'); ?>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

   
<?php
$this->endWidget();

?>
<script>
document.addEventListener('DOMContentLoaded', function() {
    const privadaInput = document.getElementById('porcentaje-privada');
    const publicoInput = document.getElementById('porcentaje-publico');
    const errorDiv = document.createElement('div');
    errorDiv.className = 'text-danger mb-3';
    document.querySelector('.form-row').prepend(errorDiv);
    
    function actualizarPorcentaje(event) {
        const inputActual = event.target;
        let valor = parseInt(inputActual.value) || 0;
        
        // Asegurar rango válido
        valor = Math.min(100, Math.max(0, valor));
        inputActual.value = valor;
        
        // Calcular complemento evitando 50-50
        let complemento = 100 - valor;
        
        // Si resulta en 50-50, ajustar a 49-51 o 51-49
        if (valor === 50 && complemento === 50) {
            complemento = event.target === privadaInput ? 51 : 49;
            inputActual.value = 100 - complemento;
        }
        
        // Establecer valor en el otro campo
        if (inputActual === privadaInput) {
            publicoInput.value = complemento;
        } else {
            privadaInput.value = complemento;
        }
        
        validarSuma();
    }
    
    function validarSuma() {
        const privada = parseInt(privadaInput.value) || 0;
        const publico = parseInt(publicoInput.value) || 0;
        const suma = privada + publico;
        const es50_50 = privada === 50 && publico === 50;
        
        [privadaInput, publicoInput].forEach(input => {
            input.classList.toggle('is-invalid', es50_50 || suma !== 100);
            input.classList.toggle('is-valid', !es50_50 && suma === 100);
        });
        
        errorDiv.textContent = es50_50 ? 'No se permite una distribución exacta de 50%-50%' : '';
        errorDiv.style.display = es50_50 ? 'block' : 'none';
    }
    
    // Event listeners
    [privadaInput, publicoInput].forEach(input => {
        input.addEventListener('input', actualizarPorcentaje);
        input.addEventListener('change', actualizarPorcentaje);
    });
    
    // Validación inicial
    validarSuma();
});
</script>

<style>
.is-valid {
    border-color: #28a745 !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.is-invalid {
    border-color: #dc3545 !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
</style>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var dropdown = document.querySelector('select[name="SidcaiAportante[apor_actividad_economica]"]');
    var alertDiv = document.getElementById('cambio-actividad-alert');
    var actividadNuevaSpan = document.getElementById('actividad-nueva');

    dropdown.addEventListener('change', function() {
        var actividadSeleccionada = dropdown.options[dropdown.selectedIndex].text;

        // Mostrar el mensaje de confirmación
        actividadNuevaSpan.textContent = actividadSeleccionada;
        alertDiv.style.display = 'block';
    });
});


function toggleFidetelCheckbox(selectedValue) {
    var fidetelCheckbox = document.getElementById('fidetelCheckbox');
    if (selectedValue == '5') {
        fidetelCheckbox.style.display = 'block';
    } else {
        fidetelCheckbox.style.display = 'none';
        document.getElementById('documentUpload').style.display = 'none';
    }
}

function toggleDocumentUpload(checked) {
    var documentUpload = document.getElementById('documentUpload');
    if (checked) {
        documentUpload.style.display = 'block';
    } else {
        documentUpload.style.display = 'none';
    }
}
</script>


