 
jQuery(function($){
	
	initRupI18nPromise.then(function() {
		prepareData();
		
		$("#beneficiarios_filter_form").rup_validate({
		    liveCheckingErrors: false,
		    showFieldErrorAsDefault: true,
		    showErrorsInFeedback: true,
		    showFieldErrorsInFeedback: true,
		    rules:{
		    	"fAltaTeleasistenciaDesde":{date:true},
		    	"fAltaTeleasistenciaHasta":{date:true},
		    	"fInicioDesde":{date:true},
		    	"fInicioHasta":{date:true},
		    	"fBajaDesde":{date:true},
		    	"fBajaHasta":{date:true},
		    }
		});
		
		$("#beneficiarios_filter_form [ruptype='date']").blur(function(elem) { 

			if(!$(elem.target).valid()){
	            $(elem.target).val('')
	        }

		})
	});
	
	function prepareData(){

		$.rup_date({
			yearRange: 'c-100:c+100',
	        from: "fAltaTeleasistenciaDesde_filter_table",
	        to: "fAltaTeleasistenciaHasta_filter_table",
	        mask: 'dd/mm/yyyy'
	    });
		$.rup_date({
			yearRange: 'c-100:c+100',
	        from: "fInicioDesde_filter_table",
	        to: "fAltaHasta_filter_table",
	        mask: 'dd/mm/yyyy'
	    });
		$.rup_date({
			yearRange: 'c-100:c+100',
	        from: "fBajaDesde_filter_table",
	        to: "fBajaHasta_filter_table",
	        mask: 'dd/mm/yyyy'
	    });
		


		$("#nivelSoporte08_filter_table").rup_combo({
			loadFromSelect:true,
			width: 'auto',
			blank: '',
	        ordered: false,
			customClasses: ['select-material'],
			selected:'',
			rowStriping: true
		});
		
		$("#tipoBeneficiario01_filter_table").rup_combo({
			loadFromSelect:true,
			width: 'auto',
	        ordered: false,
			blank: '',
			selected:'',
			customClasses: ['select-material'],
			rowStriping: true
		});
		
		$("#idProvincia06_filter_table").rup_combo({	
			source: $.rup.CTX_PATH + 'nora/provincias',
			sourceParam: {label: "descProvincia", value:"codProvincia"},
			loadFromSelect:false,
			width: 'auto',
	        ordered: true,
			blank: '',
			customClasses: ['select-material'],
			rowStriping: true
		});
		
		$("#idMunicipio06_filter_table").rup_combo({
			parent: ["idProvincia06_filter_table"],			
			source: $.rup.CTX_PATH + 'nora/municipioEnlazado',
			sourceParam: {label: "descripcion", value:"codMunicipio"},
			rowStriping: true,
			width: 'auto',
			ordered: true,
			blank: '',
			customClasses: ['select-material']
		});
		

		$("input[name='_valoraciones.altoRiesgo08']").remove();
		$("input[name='_sinAltaServicio']").remove();
		$("input[name='_interInstTerminal']").remove();
		$("input[name='_exencion01']").remove();
		$("input[name='_noFechaInst']").remove();
	}
	let tableColModels = [
		
			{ 	name: "valoraciones.altoRiesgo08",
				index: "valoraciones.altoRiesgo08",
				editable: false,
				orderable: false,
				hidden: false
			},
			{ 	name: "numAbonado01",
				index: "numAbonado01",
				editable: true, 
				hidden: false
			},
			{ 	name: "identificador01",
				index: "identificador01",
				editable: true, 
				hidden: false
			},
			{ 	name: "nombre01",
				index: "nombre01",
				editable: true, 
				hidden: false
			},
			{ 	name: "direcciones.provinciaNORA.descProvincia",
				index: "direcciones.provinciaNORA.descProvincia",
				editable: true, 
				hidden: false
			},
			{ 	name: "direcciones.municipioNORA.descripcion",
				index: "direcciones.municipioNORA.descripcion",
				editable: true, 
				hidden: false
			},
			{ 	name: "fAltaTeleasistencia01",
				index: "fAltaTeleasistencia01",
				editable: true, 
				hidden: false
			},
			{ 	name: "fInicio01",
				index: "fInicio01",
				editable: true, 
				hidden: false
			},
			{ 	name: "beneficiario01",
				index: "beneficiario01",
				editable: true, 
				hidden: false
			},			
			{ 	name: "valoraciones.maestroNivSoporte.desc",
				index: "valoraciones.maestroNivSoporte.desc",
				editable: true, 
				hidden: false
			},
			{ 	name: "fBaja01",
				index: "fBaja01",
				editable: true, 
				hidden: false
			}

			];
	
	let columnDefs = [ 
		{
			"targets": 0,
			"className": "icons-column",
			"width": "3%",
			"render": function ( data, type, row, meta ) {
				console.log("render");
				if(row.valoraciones.altoRiesgo08 == altoRiesgoSi){
					return'<span class="mdi mdi-alert rojo riesgo"></span>'
				}else{
					return "";
				}
			}
		},
		{
			"targets": 3,
			"render": function ( data, type, row, meta ) {
				
				return data + ' ' + row.apellido101 + ' ' + row.apellido201;
				
			}
		},
		{
			"targets": 4,
			"render": function ( data, type, row, meta ) {
				if(row.direcciones != undefined && row.direcciones.idProvincia06 != null && row.direcciones.provinciaNORA.descProvincia != null){
					return row.direcciones.provinciaNORA.descProvincia;
				}
				return '';
			}
		},
		{
			"targets": 5,
			"render": function ( data, type, row, meta ) {
				if(row.direcciones != undefined && row.direcciones.idMunicipio06 != null && row.direcciones.municipioNORA.descripcion != null){
					return row.direcciones.municipioNORA.descripcion;
				}
				return '';
				
			}
		},
		{
			"targets": 8,
			"className": "text-center",
			"render": function ( data, type, row, meta ) {

				if(row.fBaja01 == null && row.beneficiario01 == 1){
					//return beneficiario01BeneficiarioDesc;
					return "<i class='mdi mdi-check-bold'></i>";
				}else{
					return "<i class='mdi mdi-close'></i>";
				}
				
//				if(data != null){
//					//return beneficiario01SolicitanteDesc;
//					return "<i class='mdi mdi-close'></i>";
//				}else if(data == null && row.beneficiario01 == 1){
//					//return beneficiario01BeneficiarioDesc;
//					return "<i class='mdi mdi-check-bold'></i>";
//				} 
				return '';
				
			}
		},
		{
			"targets": 9,
			"render": function ( data, type, row, meta ) {
				if(row != null && row.valoraciones != null && row.valoraciones.maestroNivSoporte != null){
					return  row.valoraciones.maestroNivSoporte.desc;
				}
				return '';
				
			}
		}
	];


	$("#beneficiarios").rup_table({
		colReorder: {
		 fixedColumnsLeft: 1
		}
		,colModel: tableColModels
		,columnDefs : columnDefs
		,primaryKey: "idSolicitante01"
		
		,filter:{
  	  		id:"beneficiarios_filter_form",
  	  		filterToolbar:"beneficiarios_filter_toolbar",
  	  		collapsableLayerId:"beneficiarios_filter_fieldset"
  	  		,showHidden: true
     	}
		,noEdit : true
		
		,buttons: {
			activate: true,
			createTooltipBody: false,
			blackListButtons: ['addButton', 'editButton', 'cloneButton', 'copyButton','deleteButton','pdfButton', 'odsButton', 'csvButton'],
			myButtons:[
				{
					text: function () {
						return $.rup.i18n.app.botonera.edit;
					},
					id: 'editBeneficiario', // Campo obligatorio si se quiere usar desde el contextMenu
					className: 'btn-material-primary-high-emphasis table_toolbar_btnView',
					icon: "mdi-playlist-edit",
					displayRegex: /^[1-9][0-9]*$/, // Se muestra siempre que sea un numero mayor a 0
					insideContextMenu: true, // Independientemente de este valor, sera 'false' si no tiene un id definido
					type: 'edit',
					action : function(e, dt, node, config) {			
						const ctx = dt.context[0];			
						window.open($.rup.CTX_PATH + "solicitantes/detail/" + ctx.multiselection.lastSelectedId,"persona_"+ctx.multiselection.lastSelectedId);
//						window.location.replace( $.rup.CTX_PATH + "solicitantes/detail/" + ctx.multiselection.lastSelectedId);					
					}
				}
			]
		}
   		,select: {
       		activate: true,
       		multiSelect:false,
       		deleteDoubleClick:true
   		}
		,seeker: {
			activate: false,
			
		}		
		,order: [[2, "asc"]]
		,drawCallback: function( settings ) {
			$(".riesgo").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' 
				}
			});
		},
		columnOrderArrows: {
		    showOnlyActive: false,
		    display: 'inline'
		}
	});
	

	
});