//-------------------------------------------------------//
// Author:Rodolfo Machon
// Company:WebSoft, SA de CV 
// Nombre del archivo: bsws.financiamiento.js
// Created: 2016-07-17
// Updates: 2016-07-17,2018-07-04
// Copyright - All Rights Reserved
//-------------------------------------------------------//
//-------------------------------------------------------//
var xmlHttp21;
var xmlHttpStream21;
var xmlHttp22;
var xmlHttpStream22;
ajuFIE = 0;
//--------------------------------------------------------//
function getFinanciamientoActivo(){
	if (document.getElementById('plan_pago_detalle')) {
		GoPlanPago();
	}
	var generador = document.form.generador.value;
    var URL		= "../pl/financiamiento.activo.get.pl?lan="+lan+"&appid="+appid+"&clase="+generador+"&id="+id;
	//alert(URL);
    xmlHttp21	= GetXmlHttpObject(getFinanciamientoActivoSC);
    xmlHttp21.open("GET",URL,true) ;
    xmlHttp21.send(null);	
}
function getFinanciamientoActivoSC(){
    if (xmlHttp21.readyState==4 || xmlHttp21.readyState=="complete"){ 
        xmlHttpStream21=xmlHttp21.responseText;
		//alert(xmlHttpStream21);
		var StreamA = xmlHttpStream21.split("~");
		var finan_activo = StreamA[0];
		var FinanDiv	 = StreamA[1];
		if(finan_activo=='SI'){
			document.getElementById('FinanciamientoDiv').innerHTML=FinanDiv;

			document.all.FinanciamientoDiv.style.visibility	= 'visible';
			document.all.GridDiv.style.visibility			= 'hidden';
			document.all.GridDiv.style.display				= 'none';
		}else{
			calcFinancimientoPlan();
		}
    } 
}
function calcFinancimientoPlan(){
	var Generador		= document.form.generador.value;
	var PeriodosVencidos= 0;
	var Desde 			= "";
	var Hasta 			= "";
	var moraTasas		= 0;
	var moraFiestas		= 0;	
	var moraInteres 	= 0;	
	var moraMultas		= 0;	
	var moraTotal   	= 0;	
	var corTasas		= 0;	
	var corFiestas		= 0;	
	var corTotal		= 0;	
	var Fin				= 1;
	var Rows   			= GridData.split("~~");	
	if(Rows<1){alert(document.form.empty_grid.value);return;}
	for(var k=1;k<Rows.length;k++ ) {
		if(eval("document.form.chk_"+k+".checked")){
			var RowsValues	= Rows[k-1].split("&&");
			for(var l=0;l<RowsValues.length-1;l++ ) {
				var TariffGridFIE= 0;
				var TariffGridINT= 0;
				var TariffGridMUL= 0;
				var TariffValues = RowsValues[l].split("|");
				var TariffGridPER= eval("document.form.PER_"+k+".value");
				var TariffGridDIM= eval("document.form.DIM_"+k+".value");
				var TariffGridVAL= eval("document.form.TAR_"+TariffValues[2].substr(0,8)+"_"+k+".value");
				var TarData = RowsValues[l].split("|");				
				if(TariffGridVAL>0){
					var Trib  = GetTributo(TariffValues[2].substr(0,8));
					if(document.form.ACC_FIESTAS_chk){
						if(document.form.ACC_FIESTAS_chk.checked){
							if(TarData[4]>0){
								TariffGridFIE = round(TariffGridVAL*GridParams['FIE']);
							}
						}
					}
					if(document.form.ACC_INTERESES_chk){
						if(document.form.ACC_INTERESES_chk.checked){
							if(TarData[5]>0){
								TariffGridINT = round(TariffGridDIM*TariffGridVAL*(GridParams['INT']/365));
							}
						}
					}
					if(document.form.ACC_MULTAS_chk){
						if(document.form.ACC_MULTAS_chk.checked){
							if(TarData[6]>0){
								if(TariffGridDIM>=1 && TariffGridDIM<90){
									TariffGridMUL = TariffGridVAL*GridParams['M89']
								}
								if(TariffGridDIM>=90){
									TariffGridMUL = TariffGridVAL*GridParams['M90']
								}
								if(TariffGridDIM<1){TariffGridMUL = 0}
								TariffGridMUL = round(TariffGridMUL);
							}
						}
					}
					if(k==1){Desde=TariffGridPER}
					Hasta = TariffGridPER;
					if(k==Rows.length-1){
						Actual = TariffGridPER;
						corTasas	+= (TariffGridVAL*1);
						corFiestas	+= (TariffGridFIE*1);					
						corTotal 	+= (TariffGridVAL*1)+(TariffGridFIE*1);
						
					}					
				}
				if (TariffGridDIM>0) {
					moraTasas	+=(TariffGridVAL*1);
					moraFiestas +=(TariffGridFIE*1);
					moraInteres +=(TariffGridINT*1);
					moraMultas	+=(TariffGridMUL*1);
					moraTotal 	+=(TariffGridVAL*1)+(TariffGridFIE*1)+(TariffGridINT*1)+(TariffGridMUL*1);
				}
			}
			if(eval("document.form.DIM_"+k+".value")>0){
				PeriodosVencidos++
			}
		}
	}
	moraTasas	= round(moraTasas);
	moraTasas	= moraTasas.toFixed(i2_digitos);
	moraFiestas = round(moraFiestas);
	moraFiestas = moraFiestas.toFixed(i2_digitos);
	moraInteres = round(moraInteres);
	moraInteres = moraInteres.toFixed(i2_digitos);
	moraMultas	= round(moraMultas);
	moraMultas	= moraMultas.toFixed(i2_digitos);
	moraTotal	= round(moraTotal);
	moraTotal	= moraTotal.toFixed(i2_digitos);
	corTasas	= round(corTasas);
	corTasas	= corTasas.toFixed(i2_digitos);
	corFiestas	= round(corFiestas);
	corFiestas	= corFiestas.toFixed(i2_digitos);
	corTotal	= round(corTotal);
	corTotal	= corTotal.toFixed(i2_digitos);
	
	if (!openwindow1 || openwindow1.closed){
		win ="window.open('../pl/financiamiento.plan.calc.pl?lan="+lan+"&appid="+appid+"&clase="+Generador+"&id="+id+"&periodos_vencidos="+PeriodosVencidos+"&dt_desde="+Desde+"&dt_hasta="+Hasta+"&mora_tasas="+moraTasas+"&mora_fiestas="+moraFiestas+"&mora_interes="+moraInteres+"&mora_multas="+moraMultas+"&mora_total="+moraTotal+"&corriente_tasas="+corTasas+"&corriente_fiestas="+corFiestas+"&corriente_total="+corTotal+"','FinaciarEstado','left=0,top=0,width=600,height=400,scrollbars=yes,toolbar=no,menu=no,statusbar=no,location=no')";
		openwindow1=eval(win);
	}else{openwindow1.focus()}
}
function GoFinanciamientos(){
    var winame = "GoFinancimientos";
    var fields = "";
    var values = "";
    if (!OpenWindows[winame] || OpenWindows[winame].closed){
		win ="window.open('../pl/financiamientos_rept.pl?lan="+lan+"&appid="+appid+"&clase="+clase+"&id="+id+"','"+winame+"','left=0,top=0,width=100,height=100,resizable=yes,scrollbars=yes')";
		OpenWindows[winame]=eval(win);
    }
    else{OpenWindows[winame].focus()}
}
function PagarCuota(){
	disableButtons();
	var T		= document.getElementById('plan_pago');
	//var rows	= T.getElementsByTagName('tr');
	var apl_fid	= T.rows[1].cells[0].innerHTML;
	var apl_tcu	= T.rows[1].cells[6].innerHTML;	
	var apl_fie	= T.rows[1].cells[7].innerHTML;
	var apl_int	= T.rows[1].cells[8].innerHTML;
	var	apl_mul = T.rows[1].cells[9].innerHTML;
	var	apl_men = T.rows[1].cells[10].innerHTML;
	var	tip_cuo = T.rows[1].cells[11].innerHTML;

	document.form.i8_financiamiento_id.value=apl_fid;	
    var count   = 0;
	var cuo_dat = "";	
	var desde   = 0;	
	var hasta   = 0;	
	var cuo_mor = 0;	
	var cuo_tot = 0;	
    var T1		= document.getElementById('plan_pago_detalle');
    for(var i=1;i<T1.rows.length;i++){
		var x = T1.rows[i].cells[15].innerHTML;
		if(x==="DEBIDA" && count===0){
			count++;
			cuo_dat = T1.rows[i].cells[1].innerHTML;
			desde   = T1.rows[i].cells[3].innerHTML;
			hasta   = T1.rows[i].cells[4].innerHTML;
			cuo_mor = T1.rows[i].cells[10].innerHTML;
			cuo_tot = T1.rows[i].cells[14].innerHTML;		
			document.form.dt_cuota.value=cuo_dat;
			if (document.form.dt_vencimiento.value!=cuo_dat && tip_cuo=="VARIABLE") {
				var ok 		= confirm("La Fecha de vencimiento del estado de cuenta y la fecha vencimiento del plan de pago no coinciden. El monto de la cuota no coincidira con el monto a pagar, ya que el calculo de esta es en base al saldo diario. \n Desea Continuar ? ");
				if (ok!==true) {
					enableButtons();
					return;
				}
			}
			if (document.form.dt_vencimiento.value!=cuo_dat && tip_cuo=="FIJA") {
				var ok1 = confirm("La Fecha de vencimiento del estado de cuenta y la fecha vencimiento del plan de pago no coinciden. El monto de la cuota no coincidira con el periodo acordado en el plan, ya que el calculo de esta es en base al saldo diario. Si el pago es hechon antes del vencimiento descritito en el plan, beneficiara al contribuyente, de lo contrario lo afeectara. \n Desea Continuar ? ");
				if (ok1!==true) {
					enableButtons();
					return;
				}				
			}
			alert("Tomara varios segundos despues que precione aceptar, favor esperar...");
		}
		if (x==="PAGADA" && (i-1)>=(apl_tcu*1)) {
			//alert("Plan ya pagado");
			disablePlan();
			GoEstado();
			return;
		}
    }
	if (apl_fie=="NO") {
		if (document.form.ACC_FIESTAS_chk) {
			if(eval("document.form.ACC_FIESTAS_chk.checked")){
				document.form.ACC_FIESTAS_chk.checked=false;
				var hilo1=ClearColumnByName("ACC_FIESTAS_chk");
			}
		}
	}
	if (apl_int=="NO") {
		if (document.form.ACC_INTERESES_chk) {
			if(eval("document.form.ACC_INTERESES_chk.checked")){
				document.form.ACC_INTERESES_chk.checked=false;
				var hilo2=ClearColumnByName("ACC_INTERESES_chk");
			}		
		}
	}
	if (apl_mul=="NO") {
		if (document.form.ACC_MULTAS_chk) {		
			if(eval("document.form.ACC_MULTAS_chk.checked")){
				document.form.ACC_MULTAS_chk.checked=false;
				var hilo2=ClearColumnByName("ACC_MULTAS_chk");
			}
		}
	}
	if (tip_cuo=="FIJA") { PagarCuotaFija(apl_men,apl_fie,apl_int,apl_mul,cuo_mor,cuo_tot) }
	if (tip_cuo=="VARIABLE") { PagarCuotaVariable(apl_men,desde,hasta) }
}
function PagarCuotaFija(am,af,ai,amu,cuo_mor,cuo_tot){
	var indx	  = 0;
	var tribu	  = "";
	var tribu_vor = "";	
	var tribu_val = "";	
	var saldo	  = cuo_mor*1;
	var ATributos = Tributos.split("|");
    var T1 = document.getElementById('Grid');
    for (var i=1;i<T1.rows.length-1;i++){
		if (saldo>0) {
			var Per		= eval("document.form.PER_"+i+".value");
			var val_per = eval("document.form.TOT_"+i+".value")*1;
			if (saldo>=val_per) {
				saldo = round(saldo-val_per);
			}else{
				for (var p=0;p<ATributos.length-1;p++ ) {
					var tribs	= 0;
					var ATributo= ATributos[p].split(",");
					var val_tri = round(eval("document.form.TAR_"+ATributo[0]+"_"+i+".value")*1);
					var dim_val	= eval("document.form.DIM_"+i+".value")*1;
					if(dim_val>=90){
						mul_por = GridParams['M90'];
					}else{
						mul_por = GridParams['M89'];
					}
					if (af=="SI" && ai=="SI" && amu=="SI") {
						tribs = val_tri+(round(val_tri*(GridParams['FIE']*1)))+(round(val_tri*(GridParams['INT']*1)*(dim_val/365)))+(round(val_tri*(mul_por*1)))
					}
					if (af=="SI" && ai=="SI" && amu=="NO") {
						tribs = val_tri+(round(val_tri*(GridParams['FIE']*1)))+(round(val_tri*(GridParams['INT']*1)*(dim_val/365)))
					}			
					if (af=="SI" && ai=="NO" && amu=="NO") {
						tribs = val_tri+(round(val_tri*(GridParams['FIE']*1)))
					}
					if (af=="NO" && ai=="NO" && amu=="NO") { tribs = val_tri}
					if (saldo>=tribs) {
						saldo = round(saldo-tribs);
					}else{
						var tribs1 = 0;
						if (af=="SI" && ai=="SI" && amu=="SI") { tribs1 = round((saldo/((1)+(round(GridParams['FIE']*1))+(round((GridParams['INT']*1)*(dim_val/365)))+(round(mul_por*1))))) }
						if (af=="SI" && ai=="SI" && amu=="NO") { tribs1 = round((saldo/((1)+(round(GridParams['FIE']*1))+(round((GridParams['INT']*1)*(dim_val/365)))))) }			
						if (af=="SI" && ai=="NO" && amu=="NO") { tribs1 = round((saldo/((1)+(round(GridParams['FIE']*1))))) }
						if (af=="NO" && ai=="NO" && amu=="NO") { tribs1 = round((saldo/(1))) }
						eval("document.form.TAR_"+ATributo[0]+"_"+i+".value="+tribs1);
						tribu	 = ATributo[0];
						tribu_vor= val_tri;
						tribu_val= tribs1;
						indx	 = i;
						saldo	 = 0;
					}
					var hilo = ChangeCellByName("TAR_"+ATributo[0]+"_"+i);
				}
			}
		}else{
			T1.rows(i).cells(0).firstChild.click();
		}
    }
	var applied = 0;
    for (var i=1;i<T1.rows.length-1;i++){
		var dim_val	= eval("document.form.DIM_"+i+".value")*1;
		if(dim_val==0 && am=="SI" && applied==0){
			T1.rows(i).cells(0).firstChild.click();
			applied++;
		}	
	}
	if ((cuo_tot>val_tot)<=Math.abs(0.02)) {
		var int_tot = document.form.STA_INT.value*1;
		var val_tot	= document.form.TTOT.value*1;
		if(cuo_tot>val_tot) {
			document.form.STA_INT.value=round((int_tot+(cuo_tot-val_tot)));
		}else if (cuo_tot<val_tot) {
			document.form.STA_INT.value=round((int_tot-(val_tot-cuo_tot)));
		}
	
		document.form.TSTA.value = round(((document.form.STA_FIE.value*1)+(document.form.STA_INT.value*1)+(document.form.STA_MUL.value*1)));
		document.form.TTOT.value = round(((document.form.TSTA.value*1)+(document.form.TSTT.value*1)));
	}
	GoEstado();
}
function PagarCuotaVariable(am,desde,hasta){
    var T1     = document.getElementById('Grid');
    var rows1  = T1.rows;
    for (var i=1;i<rows1.length-1;i++){
		var Per = eval("document.form.PER_"+i+".value");
		if (Per>=desde & Per<=hasta){

		}else{
			T1.rows(i).cells(0).firstChild.click();
		}
    }
	var applied = 0;
    for (var i=1;i<T1.rows.length-1;i++){
		var dim_val	= eval("document.form.DIM_"+i+".value")*1;
		if(dim_val==0 && am=="SI" && applied==0){
			T1.rows(i).cells(0).firstChild.click();
			applied++;
		}	
	}
	GoEstado()
}
function GoEstado(){
	var st = enableButtons();
	document.all.FinanciamientoDiv.style.visibility	='hidden';
	document.all.FinanciamientoDiv.style.display	= 'none';	
	document.all.GridDiv.style.visibility			='visible';
	document.all.GridDiv.style.display				= 'inline';
}
function GoPlanPago(){
	document.all.FinanciamientoDiv.style.visibility	= 'visible';
	document.all.FinanciamientoDiv.style.display	= 'inline';
	document.all.GridDiv.style.visibility			= 'hidden';
	document.all.GridDiv.style.display				= 'none';
}
function disablePlan(){
	var lan  		= document.abonar.lan.value;
	var appid		= document.abonar.appid.value;
	var generador	= document.abonar.generador.value;
	var fid	 		= document.form.i8_financiamiento_id.value;
    var URL	 = "../pl/financiamiento.inactivo.save.pl?lan="+lan+"&appid="+appid+"&clase="+generador+"&id="+fid;
	//alert(URL);
    xmlHttp22= GetXmlHttpObject(disablePlanSC);
    xmlHttp22.open("GET",URL,true) ;
    xmlHttp22.send(null);	
}
function disablePlanSC(){
    if (xmlHttp22.readyState==4 || xmlHttp22.readyState=="complete"){ 
        xmlHttpStream22=xmlHttp22.responseText;
		alert(xmlHttpStream22);
    } 
}
//-------------------------------------------------------//
function disableButtons() {
	if(document.getElementById("irEstadoCuenta")){document.getElementById("irEstadoCuenta").disabled = true;}
	if(document.getElementById("IrEstado")){document.getElementById("IrEstado").disabled = true;}
	if(document.getElementById("Cuota")){document.getElementById("Cuota").disabled = true;}
	return;
}
function enableButtons() {
	if(document.getElementById("irEstadoCuenta")){document.getElementById("irEstadoCuenta").disabled = false;}
	if(document.getElementById("IrEstado")){document.getElementById("IrEstado").disabled = false;}
	if(document.getElementById("Cuota")){document.getElementById("Cuota").disabled = false;}
	return;
}