﻿// Archivo JScript

function Numeros() 
{
	if((event.keyCode < 44 || event.keyCode > 57) && event.keyCode != 46 && event.keyCode != 47)
		event.returnValue = false;
}

function ValTransf()
{
	if(document.getElementById("txtTransf").value == "")
	{ document.getElementById("lblTransf").style.visibility="visible"; }
	else
	{ document.getElementById("lblTransf").style.visibility="hidden"; }    
}
function ValFPMedido()
{
	if(document.getElementById("txtFPMedido").value == "")
	{ document.getElementById("lblFPMedido").style.visibility="visible"; }
	else
	{
	    document.getElementById("lblFPMedido").style.visibility="hidden"; 
	    //document.getElementById("txtFPMedido").value = document.getElementById("txtFPMedido").value + "%";
	
	}    
}
function ValDemProm()
{
	if(document.getElementById("txtDemProm").value == "")
	{ document.getElementById("lblDemProm").style.visibility="visible"; }
	else
	{ document.getElementById("lblDemProm").style.visibility="hidden"; }    
}
function ValPagEneMens()
{
    var FPMedido = document.form1.txtFPMedido.value;
    var DemProm = document.form1.txtDemProm.value;
    
	if(document.getElementById("txtPagEneMens").value == "")
	{ document.getElementById("lblPagEneMens").style.visibility="visible"; }
	else
	{ 
	    document.getElementById("lblPagEneMens").style.visibility="hidden"; 
	    document.getElementById("txtConsTotReac").value =  Math.round(Math.tan(Math.acos(FPMedido/100))*DemProm);
	    document.getElementById("txtPagEneMens").value = formatCurrency(document.getElementById("txtPagEneMens").value);
	}    
}
function ValFPDeseado()
{
    var FPMedido = document.form1.txtFPMedido.value;    //C6
    var DemProm = document.form1.txtDemProm.value;      //C7
    var FPDeseado = document.form1.txtFPDeseado.value;  //C12
    
	if(document.getElementById("txtFPDeseado").value == "")
	{ document.getElementById("lblFPDeseado").style.visibility="visible"; }
	else
	{
	    document.getElementById("lblFPDeseado").style.visibility="hidden";
	    document.getElementById("txtKVarEfeTot").value = Math.round((Math.tan(Math.acos(FPMedido/100))-Math.tan(Math.acos(FPDeseado/100)))*DemProm);
	                                                    //(TAN(ACOS(C6))-TAN(ACOS(C12)))*C7
	}    
}
function ValVoltCap()
{
	if(document.getElementById("txtVoltCap").value == "")
	{ document.getElementById("lblVoltCap").style.visibility="visible"; }
	else
	{ document.getElementById("lblVoltCap").style.visibility="hidden"; }    
}

function ValVoltSisOp()
{
    var KVarEfeTot = document.form1.txtKVarEfeTot.value;
    var VoltCap = document.form1.txtVoltCap.value;
    var VoltSisOp = document.form1.txtVoltSisOp.value;
    
	if(document.getElementById("txtVoltSisOp").value == "")
	{ document.getElementById("lblVoltSisOp").style.visibility="visible"; }
	else
	{
	    document.getElementById("lblVoltSisOp").style.visibility="hidden";
	    document.getElementById("txtKVarNomTot").value = Math.round(Math.pow((VoltCap/VoltSisOp),2)*KVarEfeTot);
	                                                        //((C17/C18)^2)*C14
	                                                        //Math.pow(2,4)
	}    
}
function ValKVarNomInst()
{
    var DemProm = document.form1.txtDemProm.value;              //C7
    var ConsTotReac = document.form1.txtConsTotReac.value;      //C10
    var VoltCap = document.form1.txtVoltCap.value;              //C17
    var VoltSisOp = document.form1.txtVoltSisOp.value;          //C18
    var KVarNomInst = document.form1.txtKVarNomInst.value;      //C24
    

	if(document.getElementById("txtKVarNomInst").value == "")
	{ document.getElementById("lblKVarNomInst").style.visibility="visible"; }
	else
	{
	    document.getElementById("lblKVarNomInst").style.visibility="hidden";
	    document.getElementById("txtKVarEfeInst").value = Math.round(Math.pow((VoltSisOp/VoltCap),2)*KVarNomInst);
	                                                    //((C18/C17)^2)*C24
	    var KVarEfeInst = document.form1.txtKVarEfeInst.value;      //C26
	    document.getElementById("txtFPAlc").value = Math.floor(Math.cos(Math.atan((ConsTotReac-KVarEfeInst)/DemProm))*10000)/100;
	                                                    //COS(ATAN((C10-C26)/C7))
	}    
}
function ValCostTotProy()
{
    
    var FPMedido = document.form1.txtFPMedido.value;           //C6 - C38
    var FPDeseado = document.form1.txtFPDeseado.value;          //C12 - C40
    
	if(document.getElementById("txtCostTotProy").value == "")
	{ document.getElementById("lblCostTotProy").style.visibility="visible"; }
	else
	{
	    document.getElementById("lblCostTotProy").style.visibility="hidden";
	    
	    document.getElementById("txtCostTotProy").value = formatCurrency(document.getElementById("txtCostTotProy").value);
	    var CostTotProy = QuitaMoneda(document.form1.txtCostTotProy.value);     //C32
	    
	    document.getElementById("txtFPM").value = document.getElementById("txtFPMedido").value;
	                                                //C6
	    document.getElementById("txtFPD").value = document.getElementById("txtFPDeseado").value;
	                                                //C12
	    document.getElementById("txtPagEneMens2").value = document.getElementById("txtPagEneMens").value;
	                                                //C8
	    var PagEneMens2 = QuitaMoneda(document.form1.txtPagEneMens2.value);     //C42
	    
	    document.getElementById("txtCRFP1").value = porcentaje(((((0.9/(FPMedido/100))-1)*3)/5));
	                                                //((((0.9/C38)-1)*3)/5)
	    var CRFP1 = ((((0.9/(FPMedido/100))-1)*3)/5);     //F47
	                                                
	    document.getElementById("txtCRFP2").value = DosDecimales(PagEneMens2*CRFP1);
	                                                //C42*F47
	    document.getElementById("txtCRFP2").value = formatCurrency(document.getElementById("txtCRFP2").value);
	    
	    var CRFP2 = QuitaMoneda(document.form1.txtCRFP2.value);     //F49
	    	    
	    document.getElementById("txtCBFP1").value = porcentaje(((1-(0.9/(FPDeseado/100))))/4);
	                                                //(((1-(0.9/C40)))/4)
	    var CBFP1 = (((1-(0.9/(FPDeseado/100))))/4);     //F53
	    
	    document.getElementById("txtCBFP2").value = DosDecimales(CBFP1*PagEneMens2);
	    document.getElementById("txtCBFP2").value = formatCurrency(document.getElementById("txtCBFP2").value);
	                                                //F53*C42	    
	    var CBFP2 = QuitaMoneda(document.form1.txtCBFP2.value);     //F55

	    document.getElementById("txtTAxIFP1").value = CRFP2;
	                                                //F49 
	    document.getElementById("txtTAxIFP1").value = formatCurrency(document.getElementById("txtTAxIFP1").value);

	    document.getElementById("txtTAxIFP2").value = CBFP2;
	    	                                        //F55
	    document.getElementById("txtTAxIFP2").value = formatCurrency(document.getElementById("txtTAxIFP2").value);

	    document.getElementById("txtTAxIFP3").value = parseFloat(CRFP2) + parseFloat(CBFP2);
	                                                //F61+F59
	    document.getElementById("txtTAxIFP3").value = formatCurrency(document.getElementById("txtTAxIFP3").value);
	                                                
	    var TAxIFP3 = QuitaMoneda(document.form1.txtTAxIFP3.value);   //F63
	    
	    document.getElementById("txtAhorrTot").value = TAxIFP3;
	                                                 //F63
	    document.getElementById("txtAhorrTot").value = formatCurrency(document.getElementById("txtAhorrTot").value);
	    document.getElementById("txtMeses").value = DosDecimales(CostTotProy/TAxIFP3);
	                                                //C32/F63
	    
	    document.getElementById("txtCICCT").value = porcentaje((FPDeseado/FPMedido)-1);
	                                                //(C40/C38)-1
	    document.getElementById("txtCPEJ").value = porcentaje(1-Math.pow((FPMedido/FPDeseado),2));
	                                                //(1-(C38/C40)^2)

	}    
}

function porcentaje(valor)
{
    return(parseInt(valor*10000)/100);
}


function DosDecimales(valor)
{
    return(Math.round(valor*100)/100);
}

function formatCurrency(num) 
{
    num = num.toString().replace(/\$|\,/g,'');

    if (isNaN(num))
    num = 0;

    var signo = (num == (num = Math.abs(num)));
    num = Math.floor(num * 100 + 0.50000000001);
    centavos = num % 100;

    num = Math.floor(num / 100).toString();

    if (centavos == 0)
    centavos = ''
    else
        if (centavos < 10)
        centavos = '0' + centavos;

    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
    num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));


    if (centavos == 0)
        return (((signo) ? '' : '-') + '$' + num);
    else
        return (((signo) ? '' : '-') + '$' + num + '.' + centavos);
}

function QuitaMoneda(valor)
{
    return (valor.toString().replace(/\$|\,/g,''));
}

function Borrar()
{
	document.getElementById("txtTransf").value = "";
    document.getElementById("txtFPMedido").value = "";
	document.getElementById("txtDemProm").value = "";
	document.getElementById("txtPagEneMens").value = "";
	document.getElementById("txtConsTotReac").value =  "";
	document.getElementById("txtPagEneMens").value = "";
	document.getElementById("txtFPDeseado").value = "";
    document.getElementById("txtKVarEfeTot").value = "";
	document.getElementById("txtVoltCap").value = "";
	document.getElementById("txtVoltSisOp").value = "";
    document.getElementById("txtKVarNomTot").value = "";
	document.getElementById("txtKVarNomInst").value = "";
    document.getElementById("txtKVarEfeInst").value = "";
    document.getElementById("txtFPAlc").value = "";
	document.getElementById("txtCostTotProy").value = "";
    document.getElementById("txtCostTotProy").value = "";
    document.getElementById("txtFPM").value = "";
    document.getElementById("txtFPD").value = "";
    document.getElementById("txtPagEneMens2").value = "";
    document.getElementById("txtCRFP1").value = "";
    document.getElementById("txtCRFP2").value = "";
    document.getElementById("txtCRFP2").value = "";
    document.getElementById("txtCBFP1").value = "";
    document.getElementById("txtCBFP2").value = "";
    document.getElementById("txtCBFP2").value = "";
    document.getElementById("txtTAxIFP1").value = "";
    document.getElementById("txtTAxIFP1").value = "";
    document.getElementById("txtTAxIFP2").value = "";
    document.getElementById("txtTAxIFP2").value = "";
    document.getElementById("txtTAxIFP3").value = "";
    document.getElementById("txtTAxIFP3").value = "";
    document.getElementById("txtAhorrTot").value = "";
    document.getElementById("txtAhorrTot").value = "";
    document.getElementById("txtMeses").value = "";
    document.getElementById("txtCICCT").value = "";
    document.getElementById("txtCPEJ").value = "";
}

function Recalcular()
{
    var Recalcular = 0;
	if(document.getElementById("txtTransf").value == "")
	{ 
	    document.getElementById("lblTransf").style.visibility="visible"; 
	    Recalcular = 1;
	}
	else
	{ document.getElementById("lblTransf").style.visibility="hidden"; }    

	if(document.getElementById("txtFPMedido").value == "")
	{ 
	    document.getElementById("lblFPMedido").style.visibility="visible";
	    Recalcular = 1;
	}
	else
	{
	    document.getElementById("lblFPMedido").style.visibility="hidden"; 
	}    

	if(document.getElementById("txtDemProm").value == "")
	{
	    document.getElementById("lblDemProm").style.visibility="visible";
	    Recalcular = 1;
	}
	else
	{ document.getElementById("lblDemProm").style.visibility="hidden"; }    

    var FPMedido = document.form1.txtFPMedido.value;
    var DemProm = document.form1.txtDemProm.value;
    
	if(document.getElementById("txtPagEneMens").value == "")
	{
	    document.getElementById("lblPagEneMens").style.visibility="visible";
	    Recalcular = 1;
	}
	else
	{ 
	    document.getElementById("lblPagEneMens").style.visibility="hidden"; 
	    document.getElementById("txtConsTotReac").value =  Math.round(Math.tan(Math.acos(FPMedido/100))*DemProm);
	    document.getElementById("txtPagEneMens").value = formatCurrency(document.getElementById("txtPagEneMens").value);
	}    

    var FPMedido = document.form1.txtFPMedido.value;    //C6
    var DemProm = document.form1.txtDemProm.value;      //C7
    var FPDeseado = document.form1.txtFPDeseado.value;  //C12
    
	if(document.getElementById("txtFPDeseado").value == "")
	{
	    document.getElementById("lblFPDeseado").style.visibility="visible";
	    Recalcular = 1;
	}
	else
	{
	    document.getElementById("lblFPDeseado").style.visibility="hidden";
	    document.getElementById("txtKVarEfeTot").value = Math.round((Math.tan(Math.acos(FPMedido/100))-Math.tan(Math.acos(FPDeseado/100)))*DemProm);
	                                                    //(TAN(ACOS(C6))-TAN(ACOS(C12)))*C7
	}    

	if(document.getElementById("txtVoltCap").value == "")
	{
	    document.getElementById("lblVoltCap").style.visibility="visible";
	    Recalcular = 1;
	}
	else
	{ document.getElementById("lblVoltCap").style.visibility="hidden"; }    

    var KVarEfeTot = document.form1.txtKVarEfeTot.value;
    var VoltCap = document.form1.txtVoltCap.value;
    var VoltSisOp = document.form1.txtVoltSisOp.value;
    
	if(document.getElementById("txtVoltSisOp").value == "")
	{
	    document.getElementById("lblVoltSisOp").style.visibility="visible";
	    Recalcular = 1;
	}
	else
	{
	    document.getElementById("lblVoltSisOp").style.visibility="hidden";
	    document.getElementById("txtKVarNomTot").value = Math.round(Math.pow((VoltCap/VoltSisOp),2)*KVarEfeTot);
	                                                        //((C17/C18)^2)*C14
	                                                        //Math.pow(2,4)
	}    

    var DemProm = document.form1.txtDemProm.value;              //C7
    var ConsTotReac = document.form1.txtConsTotReac.value;      //C10
    var VoltCap = document.form1.txtVoltCap.value;              //C17
    var VoltSisOp = document.form1.txtVoltSisOp.value;          //C18
    var KVarNomInst = document.form1.txtKVarNomInst.value;      //C24
    

	if(document.getElementById("txtKVarNomInst").value == "")
	{
	    document.getElementById("lblKVarNomInst").style.visibility="visible";
	    Recalcular = 1;
	}
	else
	{
	    document.getElementById("lblKVarNomInst").style.visibility="hidden";
	    document.getElementById("txtKVarEfeInst").value = Math.round(Math.pow((VoltSisOp/VoltCap),2)*KVarNomInst);
	                                                    //((C18/C17)^2)*C24
	    var KVarEfeInst = document.form1.txtKVarEfeInst.value;      //C26
	    document.getElementById("txtFPAlc").value = Math.floor(Math.cos(Math.atan((ConsTotReac-KVarEfeInst)/DemProm))*10000)/100;
	                                                    //COS(ATAN((C10-C26)/C7))
	}    

    var FPMedido = document.form1.txtFPMedido.value;           //C6 - C38
    var FPDeseado = document.form1.txtFPDeseado.value;          //C12 - C40
    
	if(document.getElementById("txtCostTotProy").value == "")
	{
	    document.getElementById("lblCostTotProy").style.visibility="visible";
	    Recalcular = 1;
	}
	else
	{
	    document.getElementById("lblCostTotProy").style.visibility="hidden";
	    
	    document.getElementById("txtCostTotProy").value = formatCurrency(document.getElementById("txtCostTotProy").value);
	    var CostTotProy = QuitaMoneda(document.form1.txtCostTotProy.value);     //C32
	    
	    document.getElementById("txtFPM").value = document.getElementById("txtFPMedido").value;
	                                                //C6
	    document.getElementById("txtFPD").value = document.getElementById("txtFPDeseado").value;
	                                                //C12
	    document.getElementById("txtPagEneMens2").value = document.getElementById("txtPagEneMens").value;
	                                                //C8
	    var PagEneMens2 = QuitaMoneda(document.form1.txtPagEneMens2.value);     //C42
	    
	    document.getElementById("txtCRFP1").value = porcentaje(((((0.9/(FPMedido/100))-1)*3)/5));
	                                                //((((0.9/C38)-1)*3)/5)
	    var CRFP1 = ((((0.9/(FPMedido/100))-1)*3)/5);     //F47
	                                                
	    document.getElementById("txtCRFP2").value = DosDecimales(PagEneMens2*CRFP1);
	                                                //C42*F47
	    document.getElementById("txtCRFP2").value = formatCurrency(document.getElementById("txtCRFP2").value);
	    
	    var CRFP2 = QuitaMoneda(document.form1.txtCRFP2.value);     //F49
	    	    
	    document.getElementById("txtCBFP1").value = porcentaje(((1-(0.9/(FPDeseado/100))))/4);
	                                                //(((1-(0.9/C40)))/4)
	    var CBFP1 = (((1-(0.9/(FPDeseado/100))))/4);     //F53
	    
	    document.getElementById("txtCBFP2").value = DosDecimales(CBFP1*PagEneMens2);
	    document.getElementById("txtCBFP2").value = formatCurrency(document.getElementById("txtCBFP2").value);
	                                                //F53*C42	    
	    var CBFP2 = QuitaMoneda(document.form1.txtCBFP2.value);     //F55

	    document.getElementById("txtTAxIFP1").value = CRFP2;
	                                                //F49 
	    document.getElementById("txtTAxIFP1").value = formatCurrency(document.getElementById("txtTAxIFP1").value);

	    document.getElementById("txtTAxIFP2").value = CBFP2;
	    	                                        //F55
	    document.getElementById("txtTAxIFP2").value = formatCurrency(document.getElementById("txtTAxIFP2").value);

	    document.getElementById("txtTAxIFP3").value = parseFloat(CRFP2) + parseFloat(CBFP2);
	                                                //F61+F59
	    document.getElementById("txtTAxIFP3").value = formatCurrency(document.getElementById("txtTAxIFP3").value);
	                                                
	    var TAxIFP3 = QuitaMoneda(document.form1.txtTAxIFP3.value);   //F63
	    
	    document.getElementById("txtAhorrTot").value = TAxIFP3;
	                                                 //F63
	    document.getElementById("txtAhorrTot").value = formatCurrency(document.getElementById("txtAhorrTot").value);
	    document.getElementById("txtMeses").value = DosDecimales(CostTotProy/TAxIFP3);
	                                                //C32/F63
	    
	    document.getElementById("txtCICCT").value = porcentaje((FPDeseado/FPMedido)-1);
	                                                //(C40/C38)-1
	    document.getElementById("txtCPEJ").value = porcentaje(1-Math.pow((FPMedido/FPDeseado),2));
	                                                //(1-(C38/C40)^2)
	}    

}