<!--
Archivo: FormEneCog.html
Ruta: src\templates\Ventas\Cotiz\CotizEspSolicitud\FormEneCog.html
Descripción: Formulario de solicitud de cotización especial para sistemas de energía y cogeneración.
Autor: Equipo de Desarrollo IGSA
Fecha: 2025
-->
<!--
<h3 class="form-title">Solicitud de Cotización - Energía y Cogeneración (Turbina / Motores)</h3>
-->

<!-- ============================================================================ -->
<!-- SECCIÓN 1: ENERGÍA ELÉCTRICA -->
<!-- ============================================================================ -->

<div class="row-1col">
    <div class="form-group">
        <label for="enecog_incluye_electrica" class="required">¿El requerimiento incluye Energía Eléctrica?</label>
        <select id="enecog_incluye_electrica" class="form-select" data-conditional-toggle="seccion-electrica" data-show-when="si" required>
            <option value="" selected disabled>-- Selecciona --</option>
            <option value="si">Sí</option>
            <option value="no">No</option>
        </select>
    </div>
</div>

<div id="seccion-electrica" class="conditional-section" style="display: none;">
    <h5 style="margin-top: 25px; margin-bottom: 15px; color: #495057; font-weight: 600;">⚡ Detalles de Energía Eléctrica</h5>

    <div class="row-2col">
        <div class="form-group">
            <label for="enecog_elec_demanda" class="required">Demanda Energía (MW):</label>
            <input type="number" id="enecog_elec_demanda" class="form-control" placeholder="0" min="0" step="0.01" disabled required>
        </div>
        <div class="form-group">
            <label for="enecog_elec_perfil_consumo" class="required">Perfil de Consumo:</label>
            <select id="enecog_elec_perfil_consumo" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="constante">Constante</option>
                <option value="variable">Variable</option>
            </select>
        </div>
    </div>

    <div class="row-3col">
        <div class="form-group">
            <label for="enecog_elec_combustible" class="required">Tipo de Combustible Disponible:</label>
            <select id="enecog_elec_combustible" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="gas_natural_ducto">Gas Natural (ducto)</option>
                <option value="diesel">Diesel</option>
                <option value="gas_comprimido_gnc">Gas comprimido GNC</option>
                <option value="gas_natural_licuado_gnl">Gas Natural Licuado GNL</option>
                <option value="hfo_combustoleo">HFO (combustóleo)</option>
                <option value="biomasa_biogas">Biomasa / Biogás</option>
                <option value="otro">Otro (Especificar)</option>
            </select>
        </div>
        <div class="form-group">
            <label for="enecog_elec_presion_combustible" class="required">Presión Suministro de Combustible (Bar):</label>
            <input type="number" id="enecog_elec_presion_combustible" class="form-control" placeholder="0" min="0" step="0.01" disabled required>
        </div>
        <div class="form-group">
            <label for="enecog_elec_voltaje" class="required">Voltaje de Interconexión (V):</label>
            <input type="number" id="enecog_elec_voltaje" class="form-control" placeholder="0" min="0" disabled required>
        </div>
    </div>

    <div class="row-2col">
        <div class="form-group">
            <label for="enecog_elec_base_diseno" class="required">Base de diseño:</label>
            <select id="enecog_elec_base_diseno" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="condiciones_promedio_anuales">Condiciones Promedio Anuales</option>
                <option value="temperatura_maxima_verano">Temperatura Máxima de Verano</option>
            </select>
        </div>
        <div class="form-group">
            <label for="enecog_elec_tecnologia" class="required">Tecnología deseada:</label>
            <select id="enecog_elec_tecnologia" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="termoelectrica_turbinas">Termoeléctrica (Turbinas)</option>
                <option value="termoelectrica_motores">Termoeléctrica (Motores)</option>
                <option value="solar_fotovoltaico">Solar Fotovoltaico</option>
                <option value="eolico">Eólico</option>
                <option value="geotermica">Geotermia</option>
                <option value="hidroelectrica">Hidroeléctrica</option>
                <option value="waste_to_energy">Waste to Energy</option>
                <option value="segun_evaluacion_igsa">Según Evaluación de IGSA</option>
            </select>
        </div>
    </div>

    <div class="row-3col">
        <div class="form-group">
            <label for="enecog_elec_tecnologia_actual" class="required">Tecnología Actual (Eléctrica):</label>
            <select id="enecog_elec_tecnologia_actual" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="interconexion_red">Interconexión a la Red</option>
                <option value="planta_emergencia">Planta de Emergencia</option>
                <option value="planta_cogeneracion">Planta de Cogeneración</option>
                <option value="turbinas">Turbinas</option>
                <option value="motores_combustion_interna">Motores de Combustión Interna</option>
                <option value="otro">Otro (Especificar)</option>
            </select>
        </div>
        <div class="form-group">
            <label for="enecog_elec_esquema_regulatorio" class="required">Esquema Regulatorio Aplicable (Tipo de Permiso):</label>
            <select id="enecog_elec_esquema_regulatorio" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="generacion_exenta">Generación Exenta (hasta 0.7 MW)</option>
                <option value="autoconsumo_aislado">Autoconsumo Aislado</option>
                <option value="autoconsumo_interconectado">Autoconsumo Interconectado</option>
                <option value="autoconsumo_interconectado_inyeccion">Autoconsumo Interconectado con Inyección a la Red</option>
            </select>
        </div>
        <div class="form-group">
            <label for="enecog_elec_servicio_requerido" class="required">Servicio Requerido (entregables):</label>
            <select id="enecog_elec_servicio_requerido" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="desarrollo_ingenieria">Desarrollo de Ingeniería (Básica/Detalle)</option>
                <option value="suministro_balance_planta">Suministro de Balance de Planta</option>
                <option value="suministro_equipos_principales">Suministro de Equipos Principales</option>
                <option value="mantenimiento">Mantenimiento Preventivo / Correctivo</option>
                <option value="o_m">O&M</option>
                <option value="instalacion_puesta_marcha">Instalación / Puesta en Marcha</option>
                <option value="proyecto_epc">Proyecto EPC (Llave en mano)</option>
            </select>
        </div>
    </div>

    <div class="row-3col">
        <div class="form-group">
            <label for="enecog_elec_espacio_disponible" class="required">Espacio disponible para instalación del proyecto:</label>
            <input type="text" id="enecog_elec_espacio_disponible" class="form-control" placeholder="Disponible para instalación" disabled required>
        </div>
        <div class="form-group">
            <label for="enecog_elec_levantamiento" class="required">¿Se requiere levantamiento en sitio?:</label>
            <select id="enecog_elec_levantamiento" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="si">Sí</option>
                <option value="no_en_esta_etapa">No en esta etapa</option>
                <option value="no_sera_necesario">No será necesario</option>
            </select>
        </div>
        <div class="form-group">
            <label for="enecog_elec_tipo_propuesta" class="required">Tipo de Propuesta:</label>
            <select id="enecog_elec_tipo_propuesta" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="analisis_orientativo">Análisis Orientativo</option>
                <option value="propuesta_indicativa">Propuesta Indicativa (budgetary)</option>
                <option value="icm">ICM (Investigación de Condiciones de Mercado)</option>
                <option value="propuesta_tecnico_comercial">Propuesta Técnico-Comercial</option>
                <option value="eaas">EAAS – (CAPEX + OPEX)</option>
                <option value="licitacion">Licitación</option>
                <option value="otro">Otro (Especificar en comentarios)</option>
            </select>
        </div>
    </div>

    <div class="row-1col">
        <div class="field-group">
            <label for="enecog_elec_comentarios">Comentarios Energía Eléctrica:</label>
            <textarea id="enecog_elec_comentarios" class="form-control" rows="3" placeholder="Escriba su respuesta" disabled></textarea>
        </div>
    </div>
</div>

<!-- ============================================================================ -->
<!-- SECCIÓN 2: ENERGÍA TÉRMICA -->
<!-- ============================================================================ -->

<div class="row-1col">
    <div class="form-group">
        <label for="enecog_incluye_termica" class="required">¿El requerimiento incluye Energía Térmica?</label>
        <select id="enecog_incluye_termica" class="form-select" data-conditional-toggle="seccion-termica" data-show-when="si" required>
            <option value="" selected disabled>-- Selecciona --</option>
            <option value="si">Sí</option>
            <option value="no">No</option>
        </select>
    </div>
</div>

<div id="seccion-termica" class="conditional-section" style="display: none;">
    <h5 style="margin-top: 25px; margin-bottom: 15px; color: #495057; font-weight: 600;">🔥 Detalles de Energía Térmica</h5>

    <div class="row-2col">
        <div class="form-group">
            <label for="enecog_term_tecnologia_actual" class="required">Tecnología Actual (Térmica):</label>
            <select id="enecog_term_tecnologia_actual" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="calderas_gas">Calderas a Gas</option>
                <option value="chiller_electrico">Chiller Eléctrico</option>
                <option value="recuperacion_termica">Recuperación Térmica de Proceso Interno</option>
                <option value="chillers_expansion_directa">Chillers de Expansión Directa</option>
                <option value="otro">Otro (Especificar en comentarios)</option>
            </select>
        </div>
    </div>

    <div class="row-3col">
        <div class="form-group">
            <label for="enecog_term_combustible" class="required">Tipo de Combustible Disponible:</label>
            <select id="enecog_term_combustible" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="gas_natural">Gas Natural (ducto)</option>
                <option value="diesel">Diesel</option>
                <option value="gas_comprimido_gnc">Gas comprimido GNC</option>
                <option value="gas_natural_licuado_gnl">Gas Natural Licuado GNL</option>
                <option value="hfo">HFO (combustóleo)</option>
                <option value="biomasa_biogas">Biomasa / Biogás</option>
                <option value="otro">Otro (Especificar)</option>
            </select>
        </div>
        <div class="form-group">
            <label for="enecog_term_base_diseno" class="required">Base de diseño:</label>
            <select id="enecog_term_base_diseno" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="condiciones_promedio_anuales">Condiciones Promedio Anuales</option>
                <option value="temperatura_maxima_verano">Temperatura Máxima de Verano</option>
            </select>
        </div>
        <div class="form-group">
            <label for="enecog_term_ambiente_corrosivo" class="required">¿Ambiente Químico Corrosivo?:</label>
            <select id="enecog_term_ambiente_corrosivo" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="si">Sí</option>
                <option value="no">No</option>
            </select>
        </div>
    </div>

    <div class="row-3col">
        <div class="form-group">
            <label for="enecog_term_disposicion_agua" class="required">¿Cuenta con disposición de agua?:</label>
            <select id="enecog_term_disposicion_agua" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="si">Sí</option>
                <option value="no">No</option>
            </select>
        </div>
        <div class="form-group">
            <label for="enecog_term_calidad_agua" class="required">Calidad de Agua Disponible en Sitio:</label>
            <select id="enecog_term_calidad_agua" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="tratada">Tratada</option>
                <option value="desmineralizada">Desmineralizada</option>
                <option value="cruda">Cruda</option>
            </select>
        </div>
        <div class="form-group">
            <label for="enecog_term_tipo_energia" class="required">Tipo de Energía Térmica:</label>
            <select id="enecog_term_tipo_energia" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="vapor">Vapor</option>
                <option value="agua_caliente">Agua Caliente</option>
                <option value="refrigeracion_agua_helada">Refrigeración (Agua Helada)</option>
                <option value="otro">Otro (Especificar en comentarios)</option>
            </select>
        </div>
    </div>

    <div class="row-3col">
        <div class="form-group">
            <label for="enecog_term_demanda" class="required">Demanda (Ton/hr):</label>
            <input type="number" id="enecog_term_demanda" class="form-control" placeholder="0" min="0" step="0.01" disabled required>
        </div>
        <div class="form-group">
            <label for="enecog_term_temperatura" class="required">Temperatura de Vapor (°C):</label>
            <input type="number" id="enecog_term_temperatura" class="form-control" placeholder="0" min="0" step="0.01" disabled required>
        </div>
        <div class="form-group">
            <label for="enecog_term_retorno_condensados" class="required">% Retorno de Condensados:</label>
            <input type="number" id="enecog_term_retorno_condensados" class="form-control" placeholder="0-100" min="0" max="100" step="0.1" disabled required>
        </div>
    </div>

    <div class="row-3col">
        <div class="form-group">
            <label for="enecog_term_presion" class="required">Presión (BAR):</label>
            <input type="number" id="enecog_term_presion" class="form-control" placeholder="0" min="0" step="0.01" disabled required>
        </div>
        <div class="form-group">
            <label for="enecog_term_servicio_requerido" class="required">Servicio Requerido (entregables):</label>
            <select id="enecog_term_servicio_requerido" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="desarrollo_ingenieria">Desarrollo de Ingeniería (Básica/Detalle)</option>
                <option value="suministro_balance_planta">Suministro de Balance de Planta</option>
                <option value="suministro_equipos_principales">Suministro de Equipos Principales</option>
                <option value="mantenimiento">Mantenimiento Preventivo / Correctivo</option>
                <option value="o_m">O&M</option>
                <option value="instalacion_puesta_marcha">Instalación / Puesta en Marcha</option>
                <option value="proyecto_epc">Proyecto EPC (Llave en mano)</option>
            </select>
        </div>
        <div class="form-group">
            <label for="enecog_term_espacio_disponible" class="required">Espacio disponible para instalación:</label>
            <input type="text" id="enecog_term_espacio_disponible" class="form-control" placeholder="Escriba su respuesta" disabled required>
        </div>
    </div>

    <div class="row-2col">
        <div class="form-group">
            <label for="enecog_term_levantamiento" class="required">¿Se requiere levantamiento en sitio?:</label>
            <select id="enecog_term_levantamiento" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="si">Sí</option>
                <option value="no_en_esta_etapa">No en esta etapa</option>
                <option value="no_sera_necesario">No será necesario</option>
            </select>
        </div>
        <div class="form-group">
            <label for="enecog_term_tipo_propuesta" class="required">Tipo de Propuesta:</label>
            <select id="enecog_term_tipo_propuesta" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="analisis_orientativo">Análisis Orientativo</option>
                <option value="propuesta_indicativa">Propuesta Indicativa (budgetary)</option>
                <option value="icm">ICM (Investigación de Condiciones de Mercado)</option>
                <option value="propuesta_tecnico_comercial">Propuesta Técnico-Comercial</option>
                <option value="eaas">EAAS – (CAPEX + OPEX)</option>
                <option value="licitacion">Licitación</option>
                <option value="otro">Otro (Especificar en comentarios)</option>
            </select>
        </div>
    </div>

    <div class="row-1col">
        <div class="field-group">
            <label for="enecog_term_comentarios">Comentarios Energía Térmica:</label>
            <textarea id="enecog_term_comentarios" class="form-control" rows="3" placeholder="Escriba su respuesta" disabled></textarea>
        </div>
    </div>
</div>

<!-- ============================================================================ -->
<!-- SECCIÓN 3: AMBAS (COGENERACIÓN) -->
<!-- ============================================================================ -->

<div class="row-1col">
    <div class="form-group">
        <label for="enecog_incluye_cogeneracion" class="required">¿El requerimiento incluye Cogeneración?</label>
        <select id="enecog_incluye_cogeneracion" class="form-select" data-conditional-toggle="seccion-cogeneracion" data-show-when="si" required>
            <option value="" selected disabled>-- Selecciona --</option>
            <option value="si">Sí</option>
            <option value="no">No</option>
        </select>
    </div>
</div>

<div id="seccion-cogeneracion" class="conditional-section" style="display: none;">
    <h5 style="margin-top: 25px; margin-bottom: 15px; color: #495057; font-weight: 600;">⚡🔥 Detalles de Cogeneración</h5>

    <div class="row-3col">
        <div class="form-group">
            <label for="enecog_cog_demanda_electrica">Demanda Energía Eléctrica (MW):</label>
            <input type="number" id="enecog_cog_demanda_electrica" class="form-control" placeholder="0" min="0" step="0.01" disabled>
        </div>
        <div class="form-group">
            <label for="enecog_cog_perfil_electrico" class="required">Perfil de Consumo Eléctrico:</label>
            <select id="enecog_cog_perfil_electrico" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="constante">Constante</option>
                <option value="variable">Variable</option>
                <option value="por_definir">Por definir</option>
            </select>
        </div>
        <div class="form-group">
            <label for="enecog_cog_perfil_termico" class="required">Perfil de Consumo Térmico:</label>
            <select id="enecog_cog_perfil_termico" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="constante">Constante</option>
                <option value="variable">Variable</option>
                <option value="por_definir">Por definir</option>
            </select>
        </div>
    </div>

    <div class="row-3col">
        <div class="form-group">
            <label for="enecog_cog_voltaje" class="required">Voltaje de Interconexión (V):</label>
            <input type="number" id="enecog_cog_voltaje" class="form-control" placeholder="0" min="0" disabled required>
        </div>
    </div>

    <div class="row-3col">
        <div class="form-group">
            <label for="enecog_cog_combustible" class="required">Tipo de Combustible Disponible:</label>
            <select id="enecog_cog_combustible" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="gas_natural">Gas Natural (ducto)</option>
                <option value="diesel">Diesel</option>
                <option value="gas_comprimido_gnc">Gas comprimido GNC</option>
                <option value="gas_natural_licuado_gnl">Gas Natural Licuado GNL</option>
                <option value="hfo_combustoleo">HFO (combustóleo)</option>
                <option value="biomasa_biogas">Biomasa / Biogás</option>
                <option value="otro">Otro (Especificar)</option>
            </select>
        </div>
        <div class="form-group">
            <label for="enecog_cog_base_diseno" class="required">Base de diseño:</label>
            <select id="enecog_cog_base_diseno" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="condiciones_promedio_anuales">Condiciones Promedio Anuales</option>
                <option value="temperatura_maxima_verano">Temperatura Máxima de Verano</option>
            </select>
        </div>
        <div class="form-group">
            <label for="enecog_cog_ambiente_corrosivo" class="required">¿Ambiente Químico Corrosivo?:</label>
            <select id="enecog_cog_ambiente_corrosivo" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="si">Sí</option>
                <option value="no">No</option>
            </select>
        </div>
    </div>

    <div class="row-3col">
        <div class="form-group">
            <label for="enecog_cog_disposicion_agua" class="required">¿Cuenta con disposición de agua?:</label>
            <select id="enecog_cog_disposicion_agua" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="si">Sí</option>
                <option value="no">No</option>
            </select>
        </div>
        <div class="form-group">
            <label for="enecog_cog_calidad_agua" class="required">Calidad de Agua Disponible en Sitio:</label>
            <select id="enecog_cog_calidad_agua" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="tratada">Tratada</option>
                <option value="desmineralizada">Desmineralizada</option>
                <option value="cruda">Cruda</option>
            </select>
        </div>
        <div class="form-group">
            <label for="enecog_cog_tipo_energia" class="required">Tipo de Energía Térmica:</label>
            <select id="enecog_cog_tipo_energia" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="vapor">Vapor</option>
                <option value="agua_caliente">Agua Caliente</option>
                <option value="refrigeracion_agua_helada">Refrigeración (Agua Helada)</option>
                <option value="otro">Otro (Especificar en comentarios)</option>
            </select>
        </div>
    </div>

    <div class="row-3col">
        <div class="form-group">
            <label for="enecog_cog_demanda" class="required">Demanda (Ton/hr):</label>
            <input type="number" id="enecog_cog_demanda" class="form-control" placeholder="0" min="0" step="0.01" disabled required>
        </div>
        <div class="form-group">
            <label for="enecog_cog_calidad_vapor" class="required">Calidad de Vapor:</label>
            <select id="enecog_cog_calidad_vapor" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="saturado">Saturado</option>
                <option value="sobrecalentado">Sobrecalentado</option>
                <option value="si_conoce_temperatura">Si conoce la temperatura, especificar en comentarios</option>
            </select>
        </div>
        <div class="form-group">
            <label for="enecog_cog_retorno_condensados" class="required">% Retorno de Condensados:</label>
            <input type="number" id="enecog_cog_retorno_condensados" class="form-control" placeholder="0-100" min="0" max="100" step="0.1" disabled required>
        </div>
    </div>

    <div class="row-3col">
        <div class="form-group">
            <label for="enecog_cog_presion" class="required">Presión (BAR):</label>
            <input type="number" id="enecog_cog_presion" class="form-control" placeholder="0" min="0" step="0.01" disabled required>
        </div>
        <div class="form-group">
            <label for="enecog_cog_servicio_requerido" class="required">Servicio Requerido (entregables):</label>
            <select id="enecog_cog_servicio_requerido" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="desarrollo_ingenieria">Desarrollo de Ingeniería (Básica/Detalle)</option>
                <option value="suministro_balance_planta">Suministro de Balance de Planta</option>
                <option value="suministro_equipos_principales">Suministro de Equipos Principales</option>
                <option value="mantenimiento">Mantenimiento Preventivo / Correctivo</option>
                <option value="o_m">O&M</option>
                <option value="instalacion_puesta_marcha">Instalación / Puesta en Marcha</option>
                <option value="proyecto_epc">Proyecto EPC (Llave en mano)</option>
            </select>
        </div>
        <div class="form-group">
            <label for="enecog_cog_espacio_disponible">Espacio disponible para instalación:</label>
            <input type="text" id="enecog_cog_espacio_disponible" class="form-control" placeholder="Disponible para instalación" disabled>
        </div>
    </div>

    <div class="row-2col">
        <div class="form-group">
            <label for="enecog_cog_levantamiento" class="required">¿Se requiere levantamiento en sitio?:</label>
            <select id="enecog_cog_levantamiento" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="si">Sí</option>
                <option value="no_en_esta_etapa">No en esta etapa</option>
                <option value="no_sera_necesario">No será necesario</option>
            </select>
        </div>
        <div class="form-group">
            <label for="enecog_cog_tipo_propuesta" class="required">Tipo de Propuesta:</label>
            <select id="enecog_cog_tipo_propuesta" class="form-select" disabled required>
                <option value="" selected disabled>-- Selecciona --</option>
                <option value="analisis_orientativo">Análisis Orientativo</option>
                <option value="propuesta_indicativa">Propuesta Indicativa (budgetary)</option>
                <option value="icm">ICM (Investigación de Condiciones de Mercado)</option>
                <option value="propuesta_tecnico_comercial">Propuesta Técnico-Comercial</option>
                <option value="eaas">EAAS – (CAPEX + OPEX)</option>
                <option value="licitacion">Licitación</option>
                <option value="otro">Otro (Especificar en comentarios)</option>
            </select>
        </div>
    </div>

    <div class="row-1col">
        <div class="field-group">
            <label for="enecog_cog_comentarios">Comentarios Cogeneración:</label>
            <textarea id="enecog_cog_comentarios" class="form-control" rows="3" placeholder="Escriba su respuesta" disabled></textarea>
        </div>
    </div>
</div>

<!-- ============================================================================ -->
<!-- SECCIÓN DE ARCHIVOS - NO MODIFICAR ESTRUCTURA -->
<!-- ============================================================================ -->

<div class="file-upload-section">
    <h5 class="file-section-title">📎 Documentos Técnicos</h5>
    <p class="file-section-description">
        Adjunte diagramas de perfil de consumo, recibos CFE, información técnica de respaldo, 
        y cualquier otro documento de soporte que apoye la realización de la cotización.
        <strong>Formatos permitidos:</strong> PDF, DOC, DOCX, JPG, PNG, XLSX, XLS (máx. 2MB por archivo)
    </p>
    
    <div class="file-input-container">
        <input type="file" 
               id="files_EnergyCogeneration" 
               name="files_EnergyCogeneration[]" 
               multiple 
               accept=".pdf,.doc,.docx,.jpg,.jpeg,.png,.xlsx,.xls"
               class="file-input" 
               style="display: none;"> <!-- Step: id="files_[FILE_TYPE]" name="files_[FILE_TYPE][]" -->
        <button type="button" class="file-input-label" onclick="FormEneCog.openFileSelector()"> <!-- Step: onclick="[MODULE_NAME].openFileSelector()" -->
            <i class="fas fa-cloud-upload-alt"></i>
            <span>Seleccionar Archivos</span>
        </button>
    </div>
    
    <div id="preview_EnergyCogeneration" class="file-preview-container" style="display: none;"> <!-- Step: id="preview_[FILE_TYPE]" -->
        <div class="preview-header">
            <h6 class="preview-title">Archivos Seleccionados:</h6>
            <div class="file-counter">
                <span id="file-count-EnergyCogeneration">0</span> archivo(s) | <!-- Step: id="file-count-[FILE_TYPE]" -->
                <span id="file-size-EnergyCogeneration">0</span> KB total <!-- Step: id="file-size-[FILE_TYPE]" -->
            </div>
        </div>
        <div class="file-preview-list"></div>
        <div class="preview-actions">
            <button type="button" class="btn-add-more" onclick="FormEneCog.openFileSelector()"> <!-- Step: onclick="[MODULE_NAME].openFileSelector()" -->
                <i class="fas fa-plus"></i> Agregar Más
            </button>
            <button type="button" class="btn-remove-all" onclick="FormEneCog.clearAllFiles()"> <!-- Step: onclick="[MODULE_NAME].clearAllFiles()" -->
                <i class="fas fa-trash"></i> Quitar Todos
            </button>
        </div>
    </div>
</div>

<!-- ============================================================================ -->
<!-- JAVASCRIPT - COPIADO DE PLANTILLA (Solo CONFIG modificado) -->
<!-- ============================================================================ -->

<script>
window.FormEneCog = (function() { // Step window.[MODULE_NAME]
    'use strict';
    
    // CONFIGURACIÓN - ÚNICA SECCIÓN MODIFICADA
    const CONFIG = { // Step
        MODULE_NAME: 'FormEneCog',
        FILE_TYPE: 'EnergyCogeneration',
        DISPLAY_NAME: 'Energía y Cogeneración'
    };
    
    // Variables para gestión de archivos - NO MODIFICAR
    let selectedFiles = new Map();
    let fileCounter = 0;
    const MAX_FILE_SIZE = 2 * 1024 * 1024; // 2MB
    const ALLOWED_EXTENSIONS = ['.pdf', '.doc', '.docx', '.jpg', '.jpeg', '.png', '.xlsx', '.xls'];
    
    // Elementos DOM cacheados
    let elements = {};

    function init() {
        console.log(`${CONFIG.MODULE_NAME}: Función init() iniciada.`);
        cacheElements();
        setupFileSystem();
        updateUI();
        
        if (window.ConditionalFieldsManager) {
            ConditionalFieldsManager.autoInit('.section-FormEneCog'); // Step: .section-[MODULE_NAME]
        }
    }

/*    
    // Inicialización
    function init() {
        console.log(`${CONFIG.MODULE_NAME}: Módulo inicializado con gestión de archivos`);
        cacheElements();
        setupFileSystem();
        updateUI();  

        // 1. Inicializa los campos condicionales (esto los deshabilita)
        if (window.ConditionalFieldsManager) {
            ConditionalFieldsManager.autoInit('.section-FormEneCog'); // Step: .section-[MODULE_NAME]
        }

        // 2. AHORA, actualiza los contadores con el estado correcto
        if (window.actualizarTodosLosContadores) {
            window.actualizarTodosLosContadores();
        }

    }
*/        
    
    function cacheElements() {
        elements = {
            fileInput: document.getElementById(`files_${CONFIG.FILE_TYPE}`),
            previewContainer: document.getElementById(`preview_${CONFIG.FILE_TYPE}`),
            previewList: document.querySelector(`#preview_${CONFIG.FILE_TYPE} .file-preview-list`),
            fileCounter: document.getElementById(`file-count-${CONFIG.FILE_TYPE}`),
            fileSizeCounter: document.getElementById(`file-size-${CONFIG.FILE_TYPE}`),
            btnSelectFiles: document.querySelector('.file-input-label'),
            btnAddMore: document.querySelector('.btn-add-more')
        };
    }
    
    // Configurar sistema de archivos
    function setupFileSystem() {
        if (!elements.fileInput) {
            console.warn(`${CONFIG.MODULE_NAME}: Input de archivos no encontrado`);
            return;
        }
        elements.fileInput.addEventListener('change', handleFileSelection);
    }
    
    // Abrir selector de archivos
    function openFileSelector() {
        if (elements.fileInput) {
            console.log(`${CONFIG.MODULE_NAME}: Abriendo selector de archivos de forma controlada`);
            elements.fileInput.click();
        }
    }
    
    // Manejar selección de archivos
    function handleFileSelection(event) {
        const files = Array.from(event.target.files);
        console.log(`${CONFIG.MODULE_NAME}: Procesando ${files.length} archivo(s) seleccionado(s)`);
        
        if (files.length === 0) {
            console.log(`${CONFIG.MODULE_NAME}: No se seleccionaron archivos - manteniendo archivos existentes`);
            return;
        }
        
        const validFiles = [];
        const errors = [];
        
        files.forEach(file => {
            const validation = validateFile(file);
            if (validation.valid) {
                const isDuplicate = Array.from(selectedFiles.values()).some(existingFile => 
                    existingFile.file.name === file.name && 
                    existingFile.file.size === file.size
                );
                
                if (!isDuplicate) {
                    validFiles.push(file);
                } else {
                    errors.push(`${file.name}: Archivo ya seleccionado`);
                }
            } else {
                errors.push(`${file.name}: ${validation.error}`);
            }
        });
        
        if (errors.length > 0) {
            showFileErrors(errors);
        }
        
        if (validFiles.length > 0) {
            validFiles.forEach(file => {
                fileCounter++;
                selectedFiles.set(fileCounter, {
                    id: fileCounter,
                    file: file,
                    addedAt: new Date().toISOString()
                });
            });
            
            updateFilePreview();
            showSuccessMessage(`${validFiles.length} archivo(s) agregado(s)`);
            console.log(`${CONFIG.MODULE_NAME}: Total de archivos: ${selectedFiles.size}`);
        }
        
        event.target.value = '';
    }
    
    // Validar archivo individual
    function validateFile(file) {
        if (file.size > MAX_FILE_SIZE) {
            return {
                valid: false,
                error: `Archivo muy grande (${(file.size / 1024 / 1024).toFixed(1)}MB). Máximo 2MB.`
            };
        }
        
        const extension = '.' + file.name.split('.').pop().toLowerCase();
        if (!ALLOWED_EXTENSIONS.includes(extension)) {
            return {
                valid: false,
                error: `Tipo de archivo no permitido (${extension})`
            };
        }
        
        return { valid: true };
    }
    
    // Actualizar vista previa
    function updateFilePreview() {
        if (selectedFiles.size === 0) {
            elements.previewContainer.style.display = 'none';
            updateUI();
            return;
        }
        
        elements.previewContainer.style.display = 'block';
        elements.previewList.innerHTML = '';
        
        let totalSize = 0;
        Array.from(selectedFiles.values()).forEach(fileData => {
            totalSize += fileData.file.size;
            const fileItem = createFilePreviewItem(fileData.file, fileData.id);
            elements.previewList.appendChild(fileItem);
        });
        
        if (elements.fileCounter) elements.fileCounter.textContent = selectedFiles.size;
        if (elements.fileSizeCounter) elements.fileSizeCounter.textContent = (totalSize / 1024).toFixed(1);
        
        updateUI();
    }
    
    // Actualizar UI
    function updateUI() {
        const hasFiles = selectedFiles.size > 0;
        if (elements.btnSelectFiles) {
            elements.btnSelectFiles.style.display = hasFiles ? 'none' : 'inline-flex';
        }
    }
    
    // Crear elemento de vista previa
    function createFilePreviewItem(file, fileId) {
        const item = document.createElement('div');
        item.className = 'file-preview-item';
        item.setAttribute('data-file-id', fileId);
        
        const fileSize = (file.size / 1024).toFixed(1);
        const fileIcon = getFileIcon(file.name);
        
        item.innerHTML = `
            <div class="file-info">
                <i class="${fileIcon}"></i>
                <div class="file-details">
                    <span class="file-name" title="${file.name}">${file.name}</span>
                    <span class="file-size">${fileSize} KB</span>
                </div>
            </div>
            <button type="button" class="btn-remove-file" onclick="${CONFIG.MODULE_NAME}.removeFile(${fileId})" title="Quitar archivo">
                <i class="fas fa-times"></i>
            </button>
        `;
        
        return item;
    }
    
    // Obtener icono por tipo de archivo
    function getFileIcon(filename) {
        const extension = filename.split('.').pop().toLowerCase();
        
        const iconMap = {
            'pdf': 'fas fa-file-pdf text-danger',
            'doc': 'fas fa-file-word text-primary',
            'docx': 'fas fa-file-word text-primary',
            'xlsx': 'fas fa-file-excel text-success',
            'xls': 'fas fa-file-excel text-success',
            'jpg': 'fas fa-file-image text-warning',
            'jpeg': 'fas fa-file-image text-warning',
            'png': 'fas fa-file-image text-warning'
        };
        
        return iconMap[extension] || 'fas fa-file text-secondary';
    }
    
    // Remover archivo específico
    function removeFile(fileId) {
        if (selectedFiles.has(fileId)) {
            const fileData = selectedFiles.get(fileId);
            selectedFiles.delete(fileId);
            updateFilePreview();
            showSuccessMessage(`Archivo "${fileData.file.name}" removido`);
            console.log(`${CONFIG.MODULE_NAME}: Archivo removido. Total: ${selectedFiles.size}`);
        }
    }
    
    // Limpiar todos los archivos
    function clearAllFiles() {
        const fileCount = selectedFiles.size;
        selectedFiles.clear();
        fileCounter = 0;
        updateFilePreview();
        showSuccessMessage(`${fileCount} archivo(s) removido(s)`);
        console.log(`${CONFIG.MODULE_NAME}: Todos los archivos removidos`);
    }
    
    // Obtener archivos como array
    function getFiles() {
        const filesArray = Array.from(selectedFiles.values()).map(fileData => fileData.file);
        console.log(`${CONFIG.MODULE_NAME}: Retornando ${filesArray.length} archivo(s)`);
        return filesArray;
    }
    
    // Obtener estadísticas
    function getFileStats() {
        const files = Array.from(selectedFiles.values());
        const totalSize = files.reduce((sum, fileData) => sum + fileData.file.size, 0);
        
        return {
            count: selectedFiles.size,
            totalSize: totalSize,
            totalSizeMB: (totalSize / 1024 / 1024).toFixed(2),
            files: files.map(fileData => ({
                name: fileData.file.name,
                size: fileData.file.size,
                type: fileData.file.type,
                addedAt: fileData.addedAt
            }))
        };
    }
    
    // Mostrar mensajes
    function showSuccessMessage(message) {
        if (window.mostrarNotificacionToast) {
            window.mostrarNotificacionToast(message, 'success');
        } else {
            console.log(`${CONFIG.MODULE_NAME}:`, message);
        }
    }
    
    function showFileErrors(errors) {
        const errorMessage = `Algunos archivos no pudieron agregarse:\n${errors.join('\n')}`;
        
        if (window.mostrarAlerta) {
            window.mostrarAlerta(errorMessage, 'warning');
        } else {
            alert(errorMessage);
        }
    }
    
    // Callback cuando el formulario se vuelve visible (REQUERIDO POR EL PADRE)
    function onBecomeVisible() {
        console.log(`${CONFIG.MODULE_NAME}: Formulario visible, inicializando...`);
        init();
    }
    
    // API PÚBLICA - REQUERIDA POR EL SISTEMA PADRE
    return {
        init: init,
        openFileSelector: openFileSelector,
        removeFile: removeFile,
        clearAllFiles: clearAllFiles,
        getFiles: getFiles,
        getFileStats: getFileStats,
        onBecomeVisible: onBecomeVisible
    };
    
})();

// Auto-inicializar si el formulario ya está visible
document.addEventListener('DOMContentLoaded', function() {
    const formSection = document.querySelector('.section-FormEneCog'); // Step: clase .section-[MODULE_NAME]
    if (formSection && formSection.style.display !== 'none') {
        FormEneCog.init(); // Step [MODULE_NAME].init()
    }
});
</script>

<!-- ============================================================================ -->
<!-- CSS - COPIADO COMPLETO DE PLANTILLA -->
<!-- ============================================================================ -->

<style>
.file-upload-section {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
}

.file-section-title {
    color: #495057;
    margin-bottom: 8px;
    font-weight: 600;
}

.file-section-description {
    color: #6c757d;
    font-size: 0.9em;
    margin-bottom: 15px;
    line-height: 1.4;
}

.file-input-container {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
    flex-wrap: wrap;
}

.file-input {
    position: absolute;
    opacity: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.file-input-label,
.btn-add-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: #007bff;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.2s;
    font-weight: 500;
    text-decoration: none;
}

.file-input-label:hover,
.btn-add-more:hover {
    background: #0056b3;
}

.btn-add-more {
    background: #28a745;
}

.btn-add-more:hover {
    background: #218838;
}

.file-preview-container {
    background: white;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    padding: 15px;
    margin-top: 15px;
}

.preview-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e9ecef;
}

.preview-title {
    color: #495057;
    margin: 0;
    font-weight: 600;
}

.file-counter {
    color: #6c757d;
    font-size: 0.9em;
    font-weight: 500;
}

.file-preview-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px;
    border: 1px solid #e9ecef;
    border-radius: 4px;
    margin-bottom: 8px;
    background: #f8f9fa;
    transition: background-color 0.2s;
}

.file-preview-item:hover {
    background: #e9ecef;
}

.file-info {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
}

.file-details {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.file-name {
    font-weight: 500;
    color: #495057;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.file-size {
    font-size: 0.85em;
    color: #6c757d;
}

.btn-remove-file {
    background: #dc3545;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 8px 10px;
    cursor: pointer;
    transition: background-color 0.2s;
    font-size: 0.9em;
    flex-shrink: 0;
}

.btn-remove-file:hover {
    background: #c82333;
}

.preview-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-start;
    margin-top: 15px;
    padding-top: 10px;
    border-top: 1px solid #e9ecef;
}

.btn-remove-all {
    background: #dc3545;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 8px 16px;
    cursor: pointer;
    transition: background-color 0.2s;
    font-size: 0.9em;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.btn-remove-all:hover {
    background: #c82333;
}

.file-info small {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
}

/* Responsive */
@media (max-width: 768px) {
    .file-input-container {
        flex-direction: column;
    }
    
    .preview-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
    
    .preview-actions {
        flex-direction: column;
    }
    
    .file-preview-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}
</style>