var gobExpandGarantizado  	= null;

$(document)
    .ready(
        function() {
        	cargaTablaMinimoGarantizado();
        }
    );


function callActionAjax(actionRoute, jsonActionParameter, functionProcessor) {

    $.ajax({
        url: contextPath + actionRoute,
        type: 'POST',
        data: jsonActionParameter,
        dataType: "json",
        success: function(response) {
            functionProcessor(response);
        },
        error: function(jqXhr, textStatus, errorThrown) {

            alert("Error: " + textStatus + " ::: " + errorThrown + " ::: " + jqXhr);
        }
    });

}

function cargaTablaMinimoGarantizado() {
	

    var idContrato = $('#idContrato').val();

	var jsonString = '{"idContrato" : ' + idContrato + '}';
	
	var stringJson = JSON.parse(jsonString);
    callActionAjax("/contrato/transaccion/minimoGarantizado/cargaMinimoGarantizadoData", stringJson, fGeneraTablaMinimoGarantizado);
    
}


function fGeneraTablaMinimoGarantizado(jsonData) {
	
	if(jsonData.mensajeExcepcion != null){
		showWarn(jsonData.mensajeExcepcion);
	}

	var gayGarantizados = jsonData.minimoGarantizado;
    var gnuGarantizados = gayGarantizados.length;
   
    $('#idMinGarantizado').remove();

    if ( gayGarantizados != null && gnuGarantizados != 0 )
    {
       
    	var lstTabla 		= $("<table id='idMinGarantizado' class='table'/>");	
		var lstEncabezado 	= $("<thead/>");
		var lstCuerpo     	= $("<tbody/>");
		var lstFila 		= $("<tr class='encabezado'/>").append($("<th/>").text("Id BV"))
		   												   .append($("<th/>").text("Nombre estandar"))
														   .append($("<th/>").text("Fecha pago"))
		                                     	   		   .append($("<th/>").text("Tipo pago"))
		                                     	   		   .append($("<th/>").text("Aplicamg"))
		                                     	   		   .append($("<th/>").text("Monto"));	
		
		lstTabla.append( lstEncabezado.append( lstFila ) ).append( lstCuerpo );
		
		$("#divTabla").append(lstTabla);	
		
		fAgregaFila( gayGarantizados );	
		
	
		gobExpandGarantizado 	= new Expand( 'idMinGarantizado', true );
    	
    }
    else 
    {
    	var mensajeVacio = '<div class="panel panel-custom-dla" >';
        	mensajeVacio = mensajeVacio + '<div class="panel-heading"></div>';
        	mensajeVacio = mensajeVacio + '<div class="panel-body text-center" >No hay informaci&oacute;n para mostrar</div>';
        	mensajeVacio = mensajeVacio + '</div>';

        $('#divTabla').append(mensajeVacio);

    }
}

function fAgregaFila( payGarantizados )
{		
	if( payGarantizados != null )
	{
		for(var i=0; i < payGarantizados.length; i++)
		{
			if( payGarantizados[i].estilo == 'padre' )
				var lnuIdPadre	= payGarantizados[i].idCNTPago;
			else if( payGarantizados[i].estilo != 'hijo' )
					var lnuIdPadre 	= 0;

			
			if( payGarantizados[i].idCNTPago == null )
				var lnuIdFila	= 0;
			else 
				var lnuIdFila 	= payGarantizados[i].idCNTPago;
			
			if(payGarantizados[i].monto == null)
				 var montoNumero = "";
			else
				var montoNumero = parseFloat(payGarantizados[i].monto).formatDLA();
			
			var lstFila = $("<tr/>").append(fValidarString(payGarantizados[i].idBV, payGarantizados[i].idCNTPago))
		 							.append(fValidarString(payGarantizados[i].nombreEstandar, lnuIdFila, payGarantizados[i].estilo))
								 	.append(fValidarString(payGarantizados[i].fechaPago, payGarantizados[i].idCNTPago))
								 	.append(fValidarString(payGarantizados[i].typePago, payGarantizados[i].idCNTPago))
								 	.append(fValidarString(payGarantizados[i].aplicamg, payGarantizados[i].idCNTPago))
								 	.append(fValidarString(montoNumero, payGarantizados[i].idCNTPago))	
								 		
			lstFila.attr( "id", + lnuIdFila );	


			if( payGarantizados[i].estilo == 'hijo' )
				lstFila.attr( "idPadre", + lnuIdPadre );
				
			
			$("#idMinGarantizado tbody").append( lstFila );
			 
		}
		
	}
		
}
 


function fValidarString( pstValor, pnuIdFila, pstEstilo )
{
	if( pstValor == null  )
		return $("<td/>").text("");
	else 
	{
		if( pstEstilo == 'padre' )
			return $("<td/>").append("<a href='javascript:gobExpandGarantizado.controlarBloque( \"" + pnuIdFila +"\" );'>" + pstValor + "</a>");
		else
			return $("<td/>").text( pstValor );
		
	}
	
}

