//@ sourceURL=beneficiariosDetail.js
/*!
 * Copyright 2021 E.J.I.E., S.A.
 *
 * Licencia con arreglo a la EUPL, Versión 1.1 exclusivamente (la "Licencia");
 * Solo podrá usarse esta obra si se respeta la Licencia.
 * Puede obtenerse una copia de la Licencia en
 *
 *      http://ec.europa.eu/idabc/eupl.html
 *
 * Salvo cuando lo exija la legislación aplicable o se acuerde por escrito,
 * el programa distribuido con arreglo a la Licencia se distribuye "TAL CUAL",
 * SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas.
 * Véase la Licencia en el idioma concreto que rige los permisos y limitaciones
 * que establece la Licencia.
 */

function getIndexSelectedTab(rupTabsElement){
	var children = rupTabsElement.children("ul").children("li ");
	var child = rupTabsElement.find("ul:first-child li[tabindex='0']")[0];
	return Array.prototype.indexOf.call(children,child );
}

function getNumberOfTabs(rupTabsElement){
	return rupTabsElement.children("ul").find("li").size();
}

function actualizarCabecera(){
	
	$.rup_ajax({
	  url: $.rup.CTX_PATH + "solicitantes/obtenerCabeceraBeneficiario",
	  type: 'GET',
      data : { "idSolicitante01":idSolicitante01},
	  success: function(res){
		 //Insertamos la respuesta en el DOM
		 $("#spanDetalleCabecera")[0].innerHTML = res;
		 
		 //Volvemos a ejecutar el codigo JS necesario para los nuevos elementos del DOM
		
		/*$("#fBeneficiario01_resumen_tooltip").rup_tooltip({
			content: {
				text: $.rup.i18n.app.beneficiarios.cabecera.fBeneficiario01Tooltip
			},   
			style: { 
				classes: 'qtip-blue' 
			}
		});*/
		if(esBajaSolicitante){
			$("#fBaja01_resumen_tooltip").rup_tooltip({
				content: {
					text: function(){
						
						if(solicitantes.esDenegacionServicio01!=null && solicitantes.esDenegacionServicio01==1){
							return $.rup.i18n.app.beneficiarios.cabecera.esDenegacionServicio;
						}else{
							return $.rup.i18n.app.beneficiarios.cabecera.noEsDenegacionServicio;
						}
					}
				},   
				style: { 
					classes: 'qtip-blue' 
				}
			});
		}
		
		if(numNotas > 0 ){
		    $('#tabsDetalleBeneficiario').children("ul").children("li[aria-labelledby='#notasSolicitante']").children("a").attr('style', 'background-color:#ef8a74 !important; color: #FFF !important');
		    $('#tabsDetalleBeneficiario').children("ul").children("li[aria-labelledby='#notasSolicitante']").children("a").hover(function(){
		        $(this).attr('style', 'background-color:#f3aa9b !important; color: #FFF !important');
		    }, function(){
		    	if(numNotas > 0 ){
		    		 $('#tabsDetalleBeneficiario').children("ul").children("li[aria-labelledby='#notasSolicitante']").children("a").attr('style', 'background-color:#ef8a74 !important; color: #FFF !important');		    		
		    	}else{
		    		$('#tabsDetalleBeneficiario').children("ul").children("li[aria-labelledby='#notasSolicitante']").children("a").removeAttr('style');
		    	}
		    })
		}else{			
			$('#tabsDetalleBeneficiario').children("ul").children("li[aria-labelledby='#notasSolicitante']").children("a").removeAttr('style');
		}
		
		$("#altoRiesgo_resumen_tooltip").rup_tooltip({
			content: {
				text: $.rup.i18n.app.tooltip.altoRiesgo
			}, 
			position: {
				my: 'bottom left',  // Position my top left...
				at: 'top left', // at the bottom right of...
			},   
			style: { 
				classes: 'qtip-red' 
			}
		});
				
		 Ad74aUtils.desBloquearInterfaz();
	  },
	  beforeSend: function(){
		  Ad74aUtils.bloquearInterfaz();
	  },
	  error: function(error){
		  Ad74aUtils.desBloquearInterfaz();
	  }
	});
	

}

jQuery(function($) {
	
	var loadingDiv;
	
	initRupI18nPromise.then(function() {
		
		//Mensaje de carga mientras la pestaña esta vacía de html
		loadingDiv = `<div class="row">
				<div class="col col-sm text-center">
				<div class="col col-sm text-center processing-container">
				<span class="loading">${$.rup.i18n.base.rup_blockUI.cargando}</span>
			</div>
		</div>`;
		

		
		initTabs();
		initComponentes();
		initControlEstado();
		initHistoricos();
		initAnularBaja();
		
	});
	
	
	function initComponentes(){
		
		actualizarCabecera();
		
		$("#beneficiariosDetail_form_feedback").rup_feedback ({
			  type: "ok",
			  delay: 3000,
			  fadeSpeed: 500,
			  block: false
		});
		const botones = []
		let btnAnularBaja = {
				text: function () {
					return $.rup.i18n.app.beneficiarios.anularBaja;
				},
				id: 'anularBaja', // Campo obligatorio si se quiere usar desde el contextMenu
				css: "mdi mdi-backup-restore",
				click : function(e, dt, node, config) {	
					let currentDate = new Date();
					let day = currentDate.getDate();
					let month = currentDate.getMonth() + 1;
					let year = currentDate.getFullYear();
					
					let formattedDateCast = day + '/' + month + '/' + year;
					let formattedDateEusk = year + '/' + month + '/' + day;
					$('#txtNota53_notassolicitante_dialog_table').val(idioma=="es"?"Baja anulada el " + formattedDateCast + " por " +usuarioConectado: formattedDateEusk + "-(e)an " +usuarioConectado + "-k ezeztatutako baja");
					Ad74aUtils.openConfirmDialog(
							'dialogAnularBaja', 
							$.rup.i18n.app.beneficiarios.tituloDialogoAnularBaja, 
							$.rup.i18n.app.notasSolicitante.observaciones,   
							[
					        	{
					                text: $.rup.i18n.app.botonera.cancelar,
					                click: function () { 
					                    $('#dialogAnularBaja').rup_dialog('close'); 
					                },
					                btnType: $.rup.dialog.LINK
					                
					            },
						        {
						            text: $.rup.i18n.app.beneficiarios.btnAnularBaja,
						            id: "btnAnularBaja",
						            click: function () {
						            	
						            	
						            	
						            	function acceptClicked() {
						            		let datos = {};
							            	datos.notassolicitante = window.form2object($('#notassolicitante_dialog_form')[0]);
							            	datos.notassolicitante.txtNota53 = $('#txtNota53_notassolicitante_dialog_table').val();
							            	datos = JSON.stringify(datos);
						   				 $.rup_ajax({
						   		              url: $.rup.CTX_PATH +"solicitantes/anularBaja/"+$('#idSolicitante01').val(),
						   		              type:"POST",
						   		              dataType: 'json',
						   		              contentType: 'application/json',
								   		      data: datos,
						   						beforeSend: function() {
						   							Ad74aUtils.bloquearInterfaz();
						   		                },
						   		                complete: function() {
						   		                	Ad74aUtils.desBloquearInterfaz();
						   		                },
						   		              success: function (data){
						   		            	$('#dialogAnularBaja').rup_dialog("close");
						   			        	$('#beneficiariosDetail_form_feedback').rup_feedback("set", $.rup.i18n.app.notasSolicitante.eliminarNota, "ok");
						   		            	$('#notasSolicitante').rup_table("reload");
						   		            	location.reload();


						   		              },
						   		              error: function(error){
						   						alert("error")

						   		              }
						   		        });
						   			}
						            	
						            	$.rup_messages("msgConfirm", {
						    				title: $.rup.i18n.app.beneficiarios.tituloDialogoAnularBaja,
						    				message: $.rup.i18n.app.notasSolicitante.confirmAnularBaja,
						    				OKFunction : acceptClicked,
						    				OKText: $.rup.i18n.app.botonera.aceptar,
						    				CANCELText: $.rup.i18n.app.botonera.cancelar
						    			});
						            },
						            class: 'btn-material btn-material-primary-high-emphasis',
						            icon: "mdi mdi-trash-can-outline"
						            
						        },
					        ],
					        'custom_mid_dialog'
						);
				},
				
			}
		
		let btnHistorico ={
				text: function () {
					return $.rup.i18n.app.botonera.historicos;
				},
				id: 'Historico', // Campo obligatorio si se quiere usar desde el contextMenu
				css: "mdi mdi-history",
				action : function(e, dt, node, config) {			
					$('#historicos_detail_div').rup_dialog('open');
				}
			}
		if(!isPS){
			botones.push(btnAnularBaja);
		}
		
		botones.push(btnHistorico);
		
		$("#beneficiariosDetail_toolbar").rup_toolbar({
			buttons:botones
		}).ready(function(){
			$("[id='beneficiariosDetail_toolbar##Historico']").removeClass("btn-material-primary-high-emphasis");
			$("[id='beneficiariosDetail_toolbar##Historico']").addClass("btn-material-primary-medium-emphasis order-last ml-lg-auto");
			$("[id='beneficiariosDetail_toolbar##Historico']").bind('click', () => {
				$('#historicos_detail_div').rup_dialog('open');
			});
			if(!esBaja){
				$("#beneficiariosDetail_toolbar").rup_toolbar("disableButton","anularBaja");	
			}
			
		});
		
		
		
	}
	
	
	/*Pestañas*/
	var pestañas = [];
	
	let pestañaDatosBeneficiarios = {
			i18nCaption: solicitantes.beneficiario01 == beneficiario01BeneficiarioVal ? "datosBeneficiarios" : "datosSolicitante",
			url: $.rup.CTX_PATH + "solicitantes/tabDatosBeneficiarios/" + idSolicitante01
			};
	
	let pestañaPersonasContacto = {
			i18nCaption: "personasContacto",
			url: $.rup.CTX_PATH + "solicitantes/tabPersonasContacto/" + idSolicitante01
	};
	let pestañaPrestacionServicios = {
			i18nCaption: "prestacionServicios",
			url: $.rup.CTX_PATH + "solicitantes/tabPrestacionServicios/" + idSolicitante01
	};
	let pestañaAvisos = {
			i18nCaption: "avisos",
			url: $.rup.CTX_PATH + "solicitantes/tabAvisos/" + idSolicitante01
	};
	let pestañaDispositivos = {
			i18nCaption: "dispositivos",
			url: $.rup.CTX_PATH + "solicitantes/tabDispositivos/" + idSolicitante01
	};
	let pestañaAsociados = {
			i18nCaption: "asociados",
			url: $.rup.CTX_PATH + "solicitantes/tabAsociados/" + idSolicitante01
	};
	let pestañaDocumentos = {
			i18nCaption: "documentos",
			url: $.rup.CTX_PATH + "solicitantes/tabDocumentos/" + idSolicitante01
	};
	let pestañaExpedientes = {
			i18nCaption: "expedientes",
			url: $.rup.CTX_PATH + "solicitantes/tabExpedientes/" + idSolicitante01
	};
	let pestañaCobros = {
			i18nCaption: "cobros",
			url: $.rup.CTX_PATH + "solicitantes/tabCobros/" + idSolicitante01
	};
	let pestañaPagos = {
			i18nCaption: "pagosBeneficiarios",
			url: $.rup.CTX_PATH + "solicitantes/tabPagosBeneficiarios/" + idSolicitante01
	};
	let pestañaInformeSocial = {
			i18nCaption: "informeSocial",
			url: $.rup.CTX_PATH + "solicitantes/tabInformeSocial/" + idSolicitante01
	};
	let pestañaNotas = {
			i18nCaption: "notasSolicitante",
			url: $.rup.CTX_PATH + "solicitantes/tabNotas/" + idSolicitante01
	};
	
	
	pestañas.push(pestañaDatosBeneficiarios);
	if(tieneInformeSocial && (isSSB || isAdmin || isPS)){
		pestañas.push(pestañaInformeSocial);
	}
	pestañas.push(pestañaPersonasContacto);
	pestañas.push(pestañaPrestacionServicios);
	pestañas.push(pestañaAvisos);
	pestañas.push(pestañaDispositivos);
	pestañas.push(pestañaAsociados);
	pestañas.push(pestañaDocumentos);
	pestañas.push(pestañaExpedientes);
	if(isDSS || isAdmin){
		pestañas.push(pestañaCobros);
		pestañas.push(pestañaPagos);
	}
	pestañas.push(pestañaNotas);

	function initTabs(){
		$('#tabsDetalleBeneficiario').rup_tabs({
			create: function (e, ui) {
				ui.panel.append(loadingDiv);
			},
			load: function (e, ui) {
								
				$(ui.panel).find(".tab-loading").remove();
				ui.tab.data( "loaded", true );
				
			},
			select: function (e, ui) {
				if (ui.newPanel.is(":empty")) {					
					ui.newPanel.append(loadingDiv);													
				}
				actualizarCabecera();
				
			},
			tabs: pestañas
		});
		
	}	
	
	

	function initControlEstado(){
		
		
		
	}	


	function initHistoricos(){
		
		Ad74aUtils.hacerPlegable();
		
		// DIALOGO EDITAR CONTACTOS
	    const historicos_dialog = $("#historicos_detail_div");
		const historicos_dialog_feedback = $("#historicos_detail_feedback");
		
		try {
			historicos_dialog.rup_dialog("destroy");
		} catch (error) {}
		
		historicos_dialog_feedback.rup_feedback ({
			  type: "ok",
			  block: false,
		});	
		
		//Al volver a la misma pestaña, el dialog se queda inconsitente (Esta en memoria JS pero no en el HTML) Se comprueba y borra para que funcione correctamente el rup_dialog
		if($('div[aria-describedby=historicos_detail_div]').length == 1){
			$('div[aria-describedby=historicos_detail_div]').remove();
		}
		historicos_dialog.rup_dialog({
			type: $.rup.dialog.DIV,
			autoOpen: false,
			modal: true,
			closeOnEscape: true,
			resizable: true,
			//width:600,
			//height:600,
			dialogClass: 'custom_full_dialog',
			title: $.rup.i18n.app.botonera.historicos,
			buttons : [ 
				{
					text : $.rup.i18n.app.botonera.cerrar,
					click : () => {
						historicos_dialog.rup_dialog("close");
					},
					btnType : $.rup.dialog.LINK
				}
			],
			open: function(){
			},
			close: function(){
				historicos_dialog_feedback.rup_feedback("close");
				Ad74aUtils.hacerPlegable();
			}		    
		});
		
		
		/*********************************/
		/* NIVEL DE SOPORTE (VALORACION) */
		/*********************************/
		const getColumnsModelValoracion = function(){
			const getColumnModelValoracion = function (name, index, editable, hidden, orderable) {
				return {
					name: name,
					index: index,
					editable: editable,
					hidden: hidden,
					orderable: orderable
				}
			};
			let columnsModelValoracion = [];
			columnsModelValoracion.push(getColumnModelValoracion("idSoporte22", "idSoporte22", false, true, false));
			columnsModelValoracion.push(getColumnModelValoracion("idNivelSoporte22", "idNivelSoporte22", false, false));
			columnsModelValoracion.push(getColumnModelValoracion("idValoracion22", "idValoracion22", false, true));
			columnsModelValoracion.push(getColumnModelValoracion("fHistorico22", "fHistorico22", false, false));
			columnsModelValoracion.push(getColumnModelValoracion("usuHistorico22", "usuHistorico22", false, false));
			return columnsModelValoracion;
		};

		const getColumnsDefsValoracion = function () {
			return [ 
				{
					"targets": 1,
					"render": function ( data, type, row, meta ) {
						if( data == TipoNivelSoporteAltoVal ){
							return  TipoNivelSoporteAltoDesc;
						}else if( data == TipoNivelSoporteAltoRiesgoVal ){
							return TipoNivelSoporteAltoRiesgoDesc;
						}else if( data == TipoNivelSoporteIntensoVal ){
							return TipoNivelSoporteIntensoDesc;
						}else if( data == TipoNivelSoporteModeradoVal ){
							return TipoNivelSoporteModeradoDesc;
						}else if( data == TipoNivelSoporteSinValorarVal ){
							return TipoNivelSoporteSinValorarDesc;
						}
						return  '';
					}
				}
			];
		};

		$("#soporteHistorico").rup_table({
			colReorder: {
				fixedColumnsLeft: 1
			},
			colModel: getColumnsModelValoracion(),
			columnDefs: getColumnsDefsValoracion(),
			primaryKey: "idSoporte22",
			filter: {
	  	  		id:"soporteHistorico_filter_form",
	  	  		filterToolbar:"soporteHistorico_filter_toolbar",
	  	  		collapsableLayerId:"soporteHistorico_filter_fieldset",
	  	  		showHidden: true
	     	},
			noEdit : true,
	     	createTooltipBody: false,// No muestra el tooltip automático de las columnas de la tabla
	   		select: {
	       		activate: true,
	       		multiSelect:false,
	       		deleteDoubleClick:true
	   		},
			buttons: {
				activate: false,
				blackListButtons: ['reportsButton', 'addButton', 'editButton', 'cloneButton', 'deleteButton', 'copyButton']
			},
			columnOrderArrows: {
			    showOnlyActive: false,
			    display: 'inline'
			},
			order: [[1, "asc"]]
		});
		
		/*********************************/
		/*   GRADO Y NIVEL DEPENDENCIA   */
		/*********************************/
		const getColumnsModelDependencia = function(){
			const getColumnModelDependencia = function (name, index, editable, hidden, orderable) {
				return {
					name: name,
					index: index,
					editable: editable,
					hidden: hidden,
					orderable: orderable
				}
			};
			let columnsModelDependencia = [];
			columnsModelDependencia.push(getColumnModelDependencia("idDependencia04", "idDependencia04", false, true, false));
			columnsModelDependencia.push(getColumnModelDependencia("fResolucion04", "fResolucion04", true, false));
			columnsModelDependencia.push(getColumnModelDependencia("idGradoDependencia04", "idGradoDependencia04", true, false));
			columnsModelDependencia.push(getColumnModelDependencia("fHistorico04", "fHistorico04", true, false));
			columnsModelDependencia.push(getColumnModelDependencia("usuHistorico04", "usuHistorico04", true, false));
			return columnsModelDependencia;
		};

		const getColumnsDefsDependencia = function () {
			return [ 
				{
					"targets": 2,
					"render": function ( data, type, row, meta ) {
						if( data == GradoDependenciaGradoIVal){
							return GradoDependenciaGradoIDesc;
						}else if( data == GradoDependenciaGradoINivel1Val){
							return GradoDependenciaGradoINivel1Desc;
						}else if( data == GradoDependenciaGradoINivel2Val){
							return GradoDependenciaGradoINivel2Desc;
						}else if( data == GradoDependenciaGradoIIVal){
							return GradoDependenciaGradoIIDesc;
						}else if( data == GradoDependenciaGradoIINivel1Val){
							return GradoDependenciaGradoIINivel1Desc;
						}else if( data == GradoDependenciaGradoIINivel2Val){
							return GradoDependenciaGradoIINivel2Desc;
						}else if( data == GradoDependenciaGradoIIIVal){
							return GradoDependenciaGradoIIIDesc;
						}else if( data == GradoDependenciaGradoIIINivel1Val){
							return GradoDependenciaGradoIIINivel1Desc;
						}else if( data == GradoDependenciaGradoIIINivel2Val){
							return GradoDependenciaGradoIIINivel2Desc;
						}
						return  '';
					}
				}
			];
		};

		$("#dependenciaHistorico").rup_table({
			colReorder: {
				fixedColumnsLeft: 1
			},
			colModel: getColumnsModelDependencia(),
			columnDefs: getColumnsDefsDependencia(),
			primaryKey: "idDependencia04",
			filter: {
	  	  		id:"dependenciaHistorico_filter_form",
	  	  		filterToolbar:"dependenciaHistorico_filter_toolbar",
	  	  		collapsableLayerId:"dependenciaHistorico_filter_fieldset",
	  	  		showHidden: true
	     	},
	     	createTooltipBody: false,// No muestra el tooltip automático de las columnas de la tabla
	   		select: {
	       		activate: true,
	       		multiSelect:false,
	       		deleteDoubleClick:true
	   		},
			buttons: {
				activate: false,
				blackListButtons: ['reportsButton', 'addButton', 'editButton', 'cloneButton', 'deleteButton', 'copyButton']
			},
			columnOrderArrows: {
			    showOnlyActive: false,
			    display: 'inline'
			},
			order: [[1, "asc"]]
		});
		
		/*********************************/
		/*       DATOS DE DIRECCION      */
		/*********************************/
		const getColumnsModelDirecciones = function(){
			const getColumnModelDirecciones= function (name, index, editable, hidden, orderable) {
				return {
					name: name,
					index: index,
					editable: editable,
					hidden: hidden,
					orderable: orderable
				}
			};
			let columnsModelDirecciones = [];
			columnsModelDirecciones.push(getColumnModelDirecciones("idDireccion06", "idDireccion06", false, true, false));
			columnsModelDirecciones.push(getColumnModelDirecciones("idProvincia06", "idProvincia06", true, false));
			columnsModelDirecciones.push(getColumnModelDirecciones("idMunicipio06", "idMunicipio06", true, false));
			columnsModelDirecciones.push(getColumnModelDirecciones("idLocalidad06", "idLocalidad06", true, false));
			columnsModelDirecciones.push(getColumnModelDirecciones("calle06", "calle06", true, false));
			columnsModelDirecciones.push(getColumnModelDirecciones("portal06", "portal06", true, false));
			columnsModelDirecciones.push(getColumnModelDirecciones("piso06", "piso06", true, false));
			columnsModelDirecciones.push(getColumnModelDirecciones("cp06", "cp06", true, false));
//			columnsModelDirecciones.push(getColumnModelDirecciones("provincia06", "provincia06", true, false));
//			columnsModelDirecciones.push(getColumnModelDirecciones("municipio06", "municipio06", true, false));
			columnsModelDirecciones.push(getColumnModelDirecciones("fHistorico06", "fHistorico06", true, false));
			columnsModelDirecciones.push(getColumnModelDirecciones("usuHistorico06", "usuHistorico06", true, false));
			return columnsModelDirecciones;
		};
		
		const getColumnsDefsDirecciones = function () {
			return [ 
				{
					"targets": 1,
					"render": function ( data, type, row, meta ) {
						if(row.idProvincia06 != null && row.provinciaNORA.descProvincia != null){
							return row.provinciaNORA.descProvincia;
						}
						return '';
					}
				},
				{
					"targets": 2,
					"render": function ( data, type, row, meta ) {
						if(row.idMunicipio06 != null && row.municipioNORA.descripcion != null){
							return row.municipioNORA.descripcion;
						}else{
							return row.municipio06;
						}
						
					}
				},
				{
					"targets": 3,
					"render": function ( data, type, row, meta ) {
						if(row.idLocalidad06 != null && row.localidadNORA.descripcion != null){
							return row.localidadNORA.descripcion;
						}else{
							return row.localidad06;
						}
						
					}
				},
				{
					"targets": 4,
					"render": function ( data, type, row, meta ) {
						if(row.idCalle06 != null && row.calleNORA.descripcion != null){
							return row.calleNORA.descripcion;
						}else{
							return row.calle06;
						}
						
						
					}
				},
				{
					"targets": 5,
					"render": function ( data, type, row, meta ) {
						if(row.idPortal06 != null && row.portalNORA.portalCompleto != null){
							return row.portalNORA.portalCompleto;
						}else{
							return row.portal06;
						}
						
					}
				}
			];
		};
		
		$("#direccionesHistorico").rup_table({
			colReorder: {
				fixedColumnsLeft: 1
			},
			colModel: getColumnsModelDirecciones(),
			columnDefs: getColumnsDefsDirecciones(),
			primaryKey: "idDireccion06",
			filter: {
	  	  		id:"direccionesHistorico_filter_form",
	  	  		filterToolbar:"direccionesHistorico_filter_toolbar",
	  	  		collapsableLayerId:"direccionesHistorico_filter_fieldset",
	  	  		showHidden: true
	     	},
	     	createTooltipBody: false,// No muestra el tooltip automático de las columnas de la tabla
	   		select: {
	       		activate: true,
	       		multiSelect:false,
	       		deleteDoubleClick:true
	   		},
			buttons: {
				activate: false,
				blackListButtons: ['reportsButton', 'addButton', 'editButton', 'cloneButton', 'deleteButton', 'copyButton']
			},
			columnOrderArrows: {
			    showOnlyActive: false,
			    display: 'inline'
			},
			order: [[1, "asc"]]
		});
		
		
		/**************************************/
		/* ALTO RIESGO, MALTRATO Y/O SUICIDIO */
		/**************************************/
		const getColumnsModelRiesgo = function(){
			const getColumnModelRiesgo = function (name, index, editable, hidden, orderable) {
				return {
					name: name,
					index: index,
					editable: editable,
					hidden: hidden,
					orderable: orderable
				}
			};
			let columnsModelRiesgo = [];
			columnsModelRiesgo.push(getColumnModelRiesgo("idRiesgo21", "idRiesgo21", false, true, false));
			columnsModelRiesgo.push(getColumnModelRiesgo("altoRiesgo21", "altoRiesgo21", true, false));
			columnsModelRiesgo.push(getColumnModelRiesgo("nivelMaltrato21", "nivelMaltrato21", true, false));
			columnsModelRiesgo.push(getColumnModelRiesgo("nivelSuicidio21", "nivelSuicidio21", true, false));
			columnsModelRiesgo.push(getColumnModelRiesgo("fHistorico21", "fHistorico21", true, false));
			columnsModelRiesgo.push(getColumnModelRiesgo("usuHistorico21", "usuHistorico21", true, false));
			return columnsModelRiesgo;
		};

		const getColumnsDefsRiesgo = function () {
			return [ 
				{
					"targets": 1,
					"render": function ( data, type, row, meta ) {
						console.log(data);
						if( data == VALOR_NO ){
							return '<span class="mdi mdi-close "></span>';
						}else if( data == VALOR_SI ){
							return '<span class="mdi mdi-check"></span>';
						}
						return  '';
					}
				},
				{
					"targets": 2,
					"render": function ( data, type, row, meta ) {
						if( data == NivelMaltratoUnoVal ){
							return  NivelMaltratoUnoDesc;
						}else if( data == NivelMaltratoDosVal ){
							return NivelMaltratoDosDesc;
						}else if( data == NivelMaltratoTresVal ){
							return NivelMaltratoTresDesc;
						}
						return  '';
					}
				},
				{
					"targets": 3,
					"render": function ( data, type, row, meta ) {
						if( data == NivelSuicidioBajoVal ){
							return  NivelSuicidioBajoDesc;
						}else if( data == NivelSuicidioMedioVal ){
							return NivelSuicidioMedioDesc;
						}else if( data == NivelSuicidioAltoVal ){
							return NivelSuicidioAltoDesc;
						}
						return  '';
					}
				}
			];
		};

		$("#riesgosHistorico").rup_table({
			colReorder: {
				fixedColumnsLeft: 1
			},
			colModel: getColumnsModelRiesgo(),
			columnDefs: getColumnsDefsRiesgo(),
			primaryKey: "idRiesgo21",
			filter: {
	  	  		id:"riesgosHistorico_filter_form",
	  	  		filterToolbar:"riesgosHistorico_filter_toolbar",
	  	  		collapsableLayerId:"riesgosHistorico_filter_fieldset",
	  	  		showHidden: true
	     	},
	     	createTooltipBody: false,// No muestra el tooltip automático de las columnas de la tabla
	   		select: {
	       		activate: true,
	       		multiSelect:false,
	       		deleteDoubleClick:true
	   		},
			buttons: {
				activate: false,
				blackListButtons: ['reportsButton', 'addButton', 'editButton', 'cloneButton', 'deleteButton', 'copyButton']
			},
			columnOrderArrows: {
			    showOnlyActive: false,
			    display: 'inline'
			},
			order: [[1, "asc"]]
		});
		
		/*******************/
		/* CUENTA BANCARIA */
		/*******************/
		const getColumnsModelCuenta = function(){
			const getColumnModelCuenta = function (name, index, editable, hidden, orderable) {
				return {
					name: name,
					index: index,
					editable: editable,
					hidden: hidden,
					orderable: orderable
				}
			};
			let columnsModelCuenta = [];
			columnsModelCuenta.push(getColumnModelCuenta("idCuenta05", "idCuenta05",true, false, false));
			columnsModelCuenta.push(getColumnModelCuenta("codTipoIdenTitular05", "codTipoIdenTitular05", true, false));
			columnsModelCuenta.push(getColumnModelCuenta("idenTitular05", "idenTitular05", true, false));
			columnsModelCuenta.push(getColumnModelCuenta("nombreTitCuenta05", "nombreTitCuenta05", true, false));
			columnsModelCuenta.push(getColumnModelCuenta("numCuenta05", "numCuenta05", true, false));
			columnsModelCuenta.push(getColumnModelCuenta("fHistorico05", "fHistorico05", true, false));
			columnsModelCuenta.push(getColumnModelCuenta("usuHistorico05", "usuHistorico05", true, false));
			columnsModelCuenta.push(getColumnModelCuenta("docuCuentas", "docuCuentas", true, false));
			return columnsModelCuenta;
		};

		const getColumnsDefsCuenta = function () {
			return [ 
				{
					"targets": 0,
					"className": "icons-column",
					"render": function(data, type, row, settings){

						
				let iconObs = "";
				if( row.motivo05 !=null) {
					 iconObs += `<span class="mdi mdi-note-multiple-outline obs-icon verde" 
						 style="float:right" obs='${row.motivo05}'></span>`;
				}
				return iconObs;
					}
				},
				{
					"targets": 1,
					"render": function ( data, type, row, meta ) {
						if( data == TipoIdentifDniVal ){
							return  TipoIdentifDniDesc;
						}else if( data == TipoIdentifCifVal ){
							return TipoIdentifCifDesc;
						}else if( data == TipoIdentifNieVal ){
							return TipoIdentifNieDesc;
						}else if( data == TipoIdentifPasaporteVal ){
							return TipoIdentifPasaporteDesc;
						}else if( data == TipoIdentifOtrosVal ){
							return TipoIdentifOtrosDesc;
						}
						return  '';
					}
				},
				{
					"targets": 3,
					"render": function ( data, type, row, meta ) {
						let titular="";
						if( row.nombreTitCuenta05 != null ){
							titular+=row.nombreTitCuenta05+" ";
						} if( row.apellido1TitCuenta05 != null){
							titular+=row.apellido1TitCuenta05+" ";
						}if( row.apellido2TitCuenta05 != null){
							titular+=row.apellido2TitCuenta05+" ";
						}
						
						return  titular;
					}
				},
				{ 
					"targets": 7,
					"render": function(data, type, row, settings){	
						
						if( data !=null ){
							 var list = document.createElement('ul');
							 list.setAttribute("type","none");
							  for (var i = 0; i < data.length; i++) {
							        // Create the list item:
							        var item = document.createElement('li');

							        // Set its contents:
							        item.innerHTML="<a href='javascript:$.downloadDocument(\"" + data[i].ruta87 + "\",\""+data[i].nombreDoc87+"\");'>" + data[i].nombreDoc87 + "</a>";
							        //item.appendChild(document.createTextNode(data[i].nombreDoc87));

							        // Add it to the list:
							        list.appendChild(item);
							    }

							    // Finally, return the constructed list:
							    return list.outerHTML;
					}
						return '';
				}
				},
			];
		};
		 

		$("#cuentasHistorico").rup_table({
			colReorder: {
				fixedColumnsLeft: 1
			},
			colModel: getColumnsModelCuenta(),
			columnDefs: getColumnsDefsCuenta(),
			primaryKey: "idCuenta05",
			filter: {
	  	  		id:"cuentasHistorico_filter_form",
	  	  		filterToolbar:"cuentasHistorico_filter_toolbar",
	  	  		collapsableLayerId:"cuentasHistorico_filter_fieldset",
	  	  		showHidden: true
	     	},
	     	createTooltipBody: false,// No muestra el tooltip automático de las columnas de la tabla
	   		select: {
	       		activate: true,
	       		multiSelect:false,
	       		deleteDoubleClick:true
	   		},

			columnOrderArrows: {
			    showOnlyActive: false,
			    display: 'inline'
			},
			drawCallback: function(ctx) {
				$(".obs-icon").rup_tooltip({
					content: {
						text: function(event, api) {
							let text = $(this).attr('obs');
							text = text.replaceAll('\n', '<br/>');
							return text;
						}
					}, 
					position: {
						my: 'bottom left',  // Position my top left...
						at: 'top left', // at the bottom right of...
					},   
					style: { 
						classes: 'qtip-green qtip-large' 
					}
				});
				//Evento doble click sobreescrito
				const rowsBody = $(ctx.nTBody);
				rowsBody.off('dblclick', 'tr');
				rowsBody.on('dblclick', 'tr', function (e) {
					//console.log(ctx.json.rows[this._DT_RowIndex]);
					const row = ctx.json.rows[this._DT_RowIndex];
					
					let textObs = "";
    		    	if(row.motivo05 != null && row.motivo05 != '') {
    		    		textObs += row.motivo05;
    		    	} 
    		    	
    		    	
    		    	if(textObs != "") {
    		    		Ad74aUtils.openConfirmDialog(
							'dialogConfirm', 
							`${$.rup.i18n.app.dialog.title.motivo}: 
								 ${row.idenTitular05} ${row.nombreTitCuenta05} ${row.apellido1TitCuenta05} ${row.apellido2TitCuenta05}/ ${row.fHistorico05}												
							`, 
							textObs.replaceAll('\n', '<br/>'),  
							[
					        	{
					                text: $.rup.i18n.app.botonera.cerrar,
					                click: function () { 
					                    $('#dialogConfirm').rup_dialog('close'); 
					                },
					                btnType: $.rup.dialog.LINK
					                
					            }
					        ],
					        'custom_mid_dialog'
						);
    		    	}
    		    	
	            });
			},
			order: [[1, "asc"]]
		});
		
		
	}
	
	function initAnularBaja(){
		$('#dialogAnularBaja').rup_dialog({
	        type: $.rup.dialog.DIV,
	        autoOpen: false,
	        modal: true,
	        resizable: false,
	        dialogClass: 'custom_small_dialog',
	        title: '<i>'+$.rup.i18n.app.beneficiarios.tituloDialogoAnularBaja+'</i>',
	        buttons: [
	        	 {
		                text: $.rup.i18n.app.botonera.cancelar,
		                id: "rup_dialogCancelar",
		                click: function () {
		                	
		                },
		                btnType: $.rup.dialog.LINK
		            },
		        {
		            text: $.rup.i18n.app.beneficiarios.btnAnularBaja,
		            id: "btnAnularBaja",
		            click: function () {
		            	console.log("click");
		            },
		            class: 'btn-material btn-material-primary-high-emphasis'
		        }

	        ],
			open: () => {
				// Añadir iconos a los botones del popup
				$("#btnAnularBaja").html(`<i class="mdi mdi-trash-can-outline"></i> ${$.rup.i18n.app.beneficiarios.btnAnularBaja}`);



			},
			close: function(event, ui) {


			}
	    
		});

	}
	
	
});

