jQuery(function($){

	
	initRupI18nPromise.then(function() {
		initFilter();		
		initTable();
		
		$("#cobrosSolicitante_filter_cleanBtn").unbind("click");
		$("#cobrosSolicitante_filter_cleanBtn").bind("click", () => {
			if (idSolicitante01 != null && idSolicitante01 != ""){
				$("#idSolicitante_cobrosSolicitante_filter_table").val(idSolicitante01);
			}
			$("#ultimaLiquidacion_cobrosSolicitante_filter_table").prop("checked",true);
			$('#cobrosSolicitante_filter_cleanButton').click();
			$("#cobrosSolicitante_filter_filterButton").click();
		});

	});
	
	const initFilter = () => {
	
		$.rup_date({
			//yearRange: 'c-100:c+0',
	        from: "fEmisionDesde_cobrosSolicitante_filter_table",
	        to: "fEmisionHasta_cobrosSolicitante_filter_table",
	        mask: 'dd/mm/yyyy',
			showButtonPanel : true,
			showOtherMonths : true,
			noWeekend : true
	     });
		
		$("#estado_cobrosSolicitante_filter_table").rup_combo({
			rowStriping: true,
			ordered: true,
			blank: '',
			customClasses: ['select-material'],
			loadFromSelect:true,
			width: 'auto',
			height: 'auto'
		});
		
		
	}
	
	const initTable = () => {
		const getColumnsModelCobros = function(){
			const getColumnModelCobros = function (name, index, editable, hidden, orderable) {
				return {
					name: name,
					index: index,
					editable: editable,
					hidden: hidden,
					orderable: orderable
				}
			};
			let columnsModelCobros = [];
			columnsModelCobros.push(getColumnModelCobros("idLiquidacion", "idLiquidacion", false, true, false));
			columnsModelCobros.push(getColumnModelCobros("numLiquidacion", "numLiquidacion", true, false));
			columnsModelCobros.push(getColumnModelCobros("concepto", "concepto", true, false));
			columnsModelCobros.push(getColumnModelCobros("fecEmision", "fecEmision", true, false));
			columnsModelCobros.push(getColumnModelCobros("importe", "importe", true, false));
			columnsModelCobros.push(getColumnModelCobros("estado", "estado", true, false));
			columnsModelCobros.push(getColumnModelCobros("idSolicitante", "idSolicitante", false, true, false));
			columnsModelCobros.push(getColumnModelCobros("motAnulacionEs", "motAnulacionEs", true, false));
			return columnsModelCobros;
		};
		const getColumnsDefsCobros = function () {
			return [ 
				{
					"targets": 1,
					"render": function (data, type, row, meta){
						if (row.idLiquidacion != undefined && row.idLiquidacion != null){
							const url = URL_AE01B + '/liquidaciones/consultar/' + row.idLiquidacion;
	    		    		return `<a href='javascript:window.open("${url}", "_blank");'>${row.numLiquidacion}</a>`;	
						}
						return "";
					}
				},
				{
					"targets": 4,
					"className":"text-right",
					"render": function ( data, type, row, meta ) {
						if(row.importe != undefined && row.importe != null){
							return row.importeStr;
						}
						return "";
					}
				},
				{
					"targets": 5,
					"render": function(data, type, row, settings){	
						if      ( data == ESTADO_LIQ_PEND_COBRO )   {return ESTADO_LIQ_PEND_COBRO_DESC;
						}else if( data == ESTADO_LIQ_ANULADA )		{return ESTADO_LIQ_ANULADA_DESC;
						}else if( data == ESTADO_LIQ_COBRO_PROV )	{return ESTADO_LIQ_COBRO_PROV_DESC;
						}else if( data == ESTADO_LIQ_COBRO_DEF )	{return ESTADO_LIQ_COBRO_DEF_DESC;
						}else if( data == ESTADO_LIQ_VIA_APREMIO )	{return ESTADO_LIQ_VIA_APREMIO_DESC;
						}
						return  '';
					}
				},
				{
					"targets": 7,
					"render": function(data, type, row, settings){	
						
						return  locale='es'?row.motAnulacionEs:row.motAnulacionEu;
					}
				}
			];
		};
		
		const getCustomButtonsCobros = function () {
			let customButonsCobros = [];	
					
			return customButonsCobros;
		};

		$("#cobrosSolicitante").rup_table({
			colReorder: {
				fixedColumnsLeft: 1
			},
			colModel: getColumnsModelCobros(),
			columnDefs: getColumnsDefsCobros(),
			primaryKey: "idLiquidacion",
	     	filter:{
	  	  		id:"cobrosSolicitante_filter_form",
	  	  		filterToolbar:"cobrosSolicitante_filter_toolbar",
	  	  		collapsableLayerId:"cobrosSolicitante_filter_fieldset",
	  	  		showHidden: true
	     	},
	     	createTooltipBody: false,// No muestra el tooltip automático de las columnas de la tabla
	     	noEdit: true,
	   		select: {
	       		activate: false
	   		},
			buttons: {
				activate: true,
				blackListButtons: ['addButton', 'editButton', 'cloneButton', 'deleteButton', 'copyButton', 'pdfButton', 'odsButton', 'csvButton', 'reportsButton'],
				myButtons: getCustomButtonsCobros()
			},
			columnOrderArrows: {
			    showOnlyActive: false,
			    display: 'inline'
			},
			order: [[1, "desc"]]
		});
		
		if(solicitantes.noReintentar01){
			$('#noReintentar01_detail_table').prop("checked",true);
		}
		if(solicitantes.fExoneracion01==null){
			$('#frmExoneracion1').addClass('d-none');
			$('#frmExoneracion2').addClass('d-none');
		}else{

			Ad74aUtils.hacerPlegable();
			$('#fExoneracion01_detail_table').val(solicitantes.fExoneracion01);
			$('#motivoExoneracion01_detail_table').val(solicitantes.motivoExoneracion01);
			$("#fExoneracion01_detail_table").rup_date();
			$("#fExoneracion01_detail_table").rup_date('disable');
			$('#frmExoneracion1').click();

		}

	}
	$('#cobrosSolicitante_noReintentar_updateButton').on("click",function(){
		if(solicitantes.fExoneracion01!=null && $('#motivoExoneracion01_detail_table').val()==''){
			$.rup_messages("msgError", {
				title:$.rup.i18n.base.rup_message.tituloError,
				message:$.rup.i18n.app.errores.exoneracion
			});
		}else if(solicitantes.fExoneracion01!=null && $('#motivoExoneracion01_detail_table').val().length>500){
			$.rup_messages("msgError", {
				title:$.rup.i18n.base.rup_message.tituloError,
				message:$.rup.i18n.app.errores.exoneracionlentlength
			});
		}
		else{
			const ajaxData = {
					'type': 'POST',
					'url' : $.rup.CTX_PATH +"solicitantes/updateNoReintentar/"+solicitantes.idSolicitante01,
					'contentType': 'application/json',
					'dataType': 'json',
					'data': 	$.toJSON( {
	                    "noReintentar01": ($('#noReintentar01_detail_table').prop("checked")) ? 1:0 ,
	                    'motivoExoneracion01':	$('#motivoExoneracion01_detail_table').val()	
	                    		
	                 }),
		            beforeSend: function() {
						Ad74aUtils.bloquearInterfaz();
	                },
	                complete: function() {
	                	Ad74aUtils.desBloquearInterfaz();
	                },
					success: function (data) {
		            	$('#beneficiariosDetail_form_feedback').rup_feedback("set", $.rup.i18n.app.beneficiarios.updateExitosa, "ok");


					},
					error: function (error) {
						$('#beneficiariosDetail_form_feedback').rup_feedback("option", "delay", null);
						$('#beneficiariosDetail_form_feedback').rup_feedback("set", error.responseText, "error");
					}
			}
			$.rup_ajax(ajaxData);
		}
		
	
	})
	
});