// TOTAL PARA Costos Fijos Operaciones
// Obtiene los elementos input por su ID
const totalADM = document.getElementById('CFTotalADM');

const sueldo_oper = document.getElementById('CFOSUELDO');
const sctr = document.getElementById('CFOSctr');
const bono = document.getElementById('CFOBono');
const epps = document.getElementById('CFOEpps');
const accesorios_seg = document.getElementById('CFOAccS');
const movilidad = document.getElementById('CFOMovi');
const alimentacion = document.getElementById('CFOAli');
const otros_gastoscv = document.getElementById('CFOOG');

const totalOpera = document.getElementById('CFOTotalOpera');
const totalADMOPE = document.getElementById('CFTotalADMOPE');
const cfototalKM = document.getElementById('CFOtotalKM');


// Agrega un evento de input a cada campo
totalADM.addEventListener('input', calcularCostosFijosOperaciones);

sueldo_oper.addEventListener('input', calcularCostosFijosOperaciones);
sctr.addEventListener('input', calcularCostosFijosOperaciones);
bono.addEventListener('input', calcularCostosFijosOperaciones);
epps.addEventListener('input', calcularCostosFijosOperaciones);
accesorios_seg.addEventListener('input', calcularCostosFijosOperaciones);
movilidad.addEventListener('input', calcularCostosFijosOperaciones);
alimentacion.addEventListener('input', calcularCostosFijosOperaciones);
otros_gastoscv.addEventListener('input', calcularCostosFijosOperaciones);

function calcularCostosFijosOperaciones() {
	const valtotalADM = parseFloat(totalADM.value) || 0; // Convierte a número o asigna 0 si no es válido
    const valsueldo_oper = parseFloat(sueldo_oper.value) || 0; // Convierte a número o asigna 0 si no es válido
    const valsctr = parseFloat(sctr.value) || 0; // Convierte a número o asigna 0 si no es válido
    const valbono = parseFloat(bono.value) || 0; // Convierte a número o asigna 0 si no es válido
    const valepps = parseFloat(epps.value) || 0; // Convierte a número o asigna 0 si no es válido
    const valaccesorios_seg = parseFloat(accesorios_seg.value) || 0; // Convierte a número o asigna 0 si no es válido
    const valmovilidad = parseFloat(movilidad.value) || 0; // Convierte a número o asigna 0 si no es válido
    const valalimentacion = parseFloat(alimentacion.value) || 0; // Convierte a número o asigna 0 si no es válido
    const valotros_gastoscv = parseFloat(otros_gastoscv.value) || 0; // Convierte a número o asigna 0 si no es válido

    const valtotalOpera = valsueldo_oper+valsctr+valbono+valepps+valaccesorios_seg+valmovilidad+valalimentacion+valotros_gastoscv;

    totalOpera.value = valtotalOpera.toFixed(2); // Muestra el total 

    const valtotalADMOPE = valtotalOpera+valtotalADM;

    totalADMOPE.value = valtotalADMOPE.toFixed(2); // Muestra el total 

    const valcfototalKM = valtotalADMOPE/5000;

    cfototalKM.value = valcfototalKM.toFixed(3); // Muestra el total 

};



const datosRendC = document.getElementById('DatosRendC');


const preCVComb = document.getElementById('PreCVComb');
const cvComb = document.getElementById('CVComb');

const cvNeuma = document.getElementById('CVNeuma');

const cvKm = document.getElementById('CVKm');
const cvmttoPrevKM = document.getElementById('CVMttoPrevKM');
const cvmttoPrevKMSeg = document.getElementById('CVMttoPrevKMSeg');

const cvmttoCorrecKM = document.getElementById('CVMttoCorrecKM');
const cvmttoCorrecKMSeg = document.getElementById('CVMttoCorrecKMSeg');

const cvTotalCV = document.getElementById('CVTotalCV');

const cvcostotal = document.getElementById('CVcostotal');

const tarifaxkm = document.getElementById('tarifaxkm');




// Agrega un evento de input a cada campo
datosRendC.addEventListener('input', calcularCombustible);
preCVComb.addEventListener('input', calcularCombustible);
cvComb.addEventListener('input', calcularCombustible);

cvKm.addEventListener('input', calcularCombustible);
cvmttoPrevKM.addEventListener('input', calcularCombustible);
cvmttoCorrecKM.addEventListener('input', calcularCombustible);

cvNeuma.addEventListener('input', calcularCombustible);


totalADM.addEventListener('input', calcularCombustible);
sueldo_oper.addEventListener('input', calcularCombustible);
sctr.addEventListener('input', calcularCombustible);
bono.addEventListener('input', calcularCombustible);
epps.addEventListener('input', calcularCombustible);
accesorios_seg.addEventListener('input', calcularCombustible);
movilidad.addEventListener('input', calcularCombustible);
alimentacion.addEventListener('input', calcularCombustible);
otros_gastoscv.addEventListener('input', calcularCombustible);


// Función para calcular el total, resultado y mostrarlo en el campo respectivo
function calcularCombustible() {
	const valdatosRendC = parseFloat(datosRendC.value) || 0; // Convierte a número o asigna 0 si no es válido
	const valpreCVComb = parseFloat(preCVComb.value) || 0; // Convierte a número o asigna 0 si no es válido

    const valcvComb = valpreCVComb/valdatosRendC;
    cvComb.value = valcvComb.toFixed(2); // Muestra el total 

    const valcvKm = parseFloat(cvKm.value) || 0; // Convierte a número o asigna 0 si no es válido
	const valcvmttoPrevKM = parseFloat(cvmttoPrevKM.value) || 0; // Convierte a número o asigna 0 si no es válido

	const valcvmttoPrevKMSeg = valcvmttoPrevKM/valcvKm;
    cvmttoPrevKMSeg.value = valcvmttoPrevKMSeg.toFixed(2); // Muestra el total 
   
	const valcvmttoCorrecKM = parseFloat(cvmttoCorrecKM.value) || 0; // Convierte a número o asigna 0 si no es válido

	const valcvmttoCorrecKMSeg = valcvmttoCorrecKM/valcvKm;
    cvmttoCorrecKMSeg.value = valcvmttoCorrecKMSeg.toFixed(2); // Muestra el total 

    const valcvNeuma = parseFloat(cvNeuma.value) || 0; // Convierte a número o asigna 0 si no es válido

    const valcvTotalCV = valcvComb+valcvNeuma+valcvmttoPrevKMSeg+valcvmttoCorrecKMSeg;
    cvTotalCV.value = valcvTotalCV.toFixed(2); // Muestra el total 

    
    const valtotalADM = parseFloat(totalADM.value) || 0; // Convierte a número o asigna 0 si no es válido
    const valsueldo_oper = parseFloat(sueldo_oper.value) || 0; // Convierte a número o asigna 0 si no es válido
    const valsctr = parseFloat(sctr.value) || 0; // Convierte a número o asigna 0 si no es válido
    const valbono = parseFloat(bono.value) || 0; // Convierte a número o asigna 0 si no es válido
    const valepps = parseFloat(epps.value) || 0; // Convierte a número o asigna 0 si no es válido
    const valaccesorios_seg = parseFloat(accesorios_seg.value) || 0; // Convierte a número o asigna 0 si no es válido
    const valmovilidad = parseFloat(movilidad.value) || 0; // Convierte a número o asigna 0 si no es válido
    const valalimentacion = parseFloat(alimentacion.value) || 0; // Convierte a número o asigna 0 si no es válido
    const valotros_gastoscv = parseFloat(otros_gastoscv.value) || 0; // Convierte a número o asigna 0 si no es válido

    const valtotalOpera = valsueldo_oper+valsctr+valbono+valepps+valaccesorios_seg+valmovilidad+valalimentacion+valotros_gastoscv;

    const valtotalADMOPE = valtotalOpera+valtotalADM;

    const valcvcostotal = valtotalADMOPE + (valcvTotalCV*valcvKm);

    cvcostotal.value = valcvcostotal.toFixed(2); // Muestra el total 

    const valtarifaxkm = valcvcostotal / valcvKm;

    tarifaxkm.value = valtarifaxkm.toFixed(2); // Muestra el total 



    
};


//funcion para preguntar si desea guardar o no
function PreguntaCancel(){
   event.preventDefault(); 
  $.confirm({
    title: '¿Estás seguro de actualizar la información?',
    content: '¡Confirmar!',
    theme: 'modern',
    buttons: {
    confirmar: function(){
        Edit();	
    },
    cancel: function(){
    }
  }
});
}

function Edit(){
    event.preventDefault(); 
    var frm = document.getElementById('form');
    var data = new FormData(frm);
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function () {
        if (this.readyState == 4) {
            var msg = xhttp.responseText;
            if (msg.trim() == 'success') {
                $.confirm({
                  title: 'Actualizado',
                  content: 'Con Exito!',
                  theme: 'modern',
                  buttons: {
                      OK: function () {
                          location.href ="tarifario.php";  
                      },
                  }

              });                
            } else {
                $.alert({
                    title: 'Erro al Actualizar!',
                   content: 'Verificar',
                    theme: 'modern'
                });
            }

        }
    };
    xhttp.open("POST", "data/data_edit.php", true);
    xhttp.send(data); 
 };


