/*
	Entrada Papel 0:
		- dialogBandejaPapel0
		
	Entrada telemática/Pres. cuidadanía
		- dialogBandejaTelematica
*/


jQuery(function ($) {
	
	initRupI18nPromise.then(function () {
		initFilter();
		initTable();
		initDialogs();
		Ad74aUtils.hacerPlegable();
//		$("#bandejaentradas_filter_cleanButton").unbind("click");
//		$("#bandejaentradas_filter_cleanButton").click( () => {
//			// Comprobar si hay parámetros en la URL. Si los hay, los quitamos y recargamos la página
//			const urlObj = new URL(window.location.href);
//			console.log(urlObj);
//			if(urlObj.search != ''){
//				urlObj.search = '';
//				window.location.href = urlObj.toString();
//			}else{				
//				initFilter();
//				$("#bandejaentradas").rup_table("reload");
//			}
//		});
		
		$("#bandejaentradas_filter_form").rup_validate({
		    liveCheckingErrors: false,
		    showFieldErrorAsDefault: true,
		    showErrorsInFeedback: true,
		    showFieldErrorsInFeedback: true,
		    rules:{
		    	"fregistro_from":{date:true},
		    	"fregistro_to":{date:true},
		    	"fregoriginal_from":{date:true},
		    	"fregoriginal_to":{date:true},
		    }
		});
		
		$("#bandejaentradas_filter_form [ruptype='date']").blur(function(elem) { 

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

		})
	});
	
	const initFilter = () => {
		
		$.rup_date({
			yearRange: 'c-50:c',
			from: "fregistro_filter_table_from",
			to: "fregistro_filter_table_to",
			mask: 'dd/mm/yyyy',
			showButtonPanel: true,
			showOtherMonths: true,
			noWeekend: true
		});
		
		$.rup_date({
			yearRange: 'c-50:c',
			from: "fregoriginal_filter_table_from",
			to: "fregoriginal_filter_table_to",
			mask: 'dd/mm/yyyy',
			showButtonPanel: true,
			showOtherMonths: true,
			noWeekend: true
		});

		// Combos del filtro
		Ad74aUtils.configCombo($("#urgencia_filter_table"), {
			loadFromSelect: true,
			disabled:true
		});	
		
		Ad74aUtils.configCombo($("#idTipoentrada_filter_table"), {
			loadFromSelect: true,	
			onLoadSuccess: function(obj){
				$("#idTipoentrada_filter_table-menu li a").each( (i, el) => {
					const text = $(el).html();							
					if( text == IDTIPOENTRADA00_PAPEL0_DESC){
						$(el).html('<span class="mdi mdi-alpha-p-box-outline" style="float:right; font-size: 1.4em; color: #338946"></span>'+text);
					}else if( text == IDTIPOENTRADA00_PRESENCIAL_DESC){
						$(el).html('<span class="mdi mdi-alpha-c-box-outline" style="float:right; font-size: 1.4em; color: #d3c130"></span>'+text);						
					}else if( text == IDTIPOENTRADA00_TELEMATICA_DESC){
						$(el).html('<span class="mdi mdi-alpha-t-box-outline" style="float:right; font-size: 1.4em; color: #336289"></span>'+text);												
					}else if( text == IDTIPOENTRADA00_OFICIO_DESC){
						//$(el).html('<span class="mdi mdi-alpha-o-box-outline" style="float:right; font-size: 1.4em; color: #cb5ebd"></span>'+text);
						$(el).remove();
					}
				});
				
				if(bandejaFilter.idTipoentrada != null) {
					const text = $("#idTipoentrada_filter_table-button > span.ui-selectmenu-status").html();
					const el = $("#idTipoentrada_filter_table-button > span.ui-selectmenu-status");
					if( text == IDTIPOENTRADA00_PAPEL0_DESC){
						el.html('<span class="mdi mdi-alpha-p-box-outline" style="float:right; font-size: 1.4em; color: #338946"></span>'+text);
					}else if( text == IDTIPOENTRADA00_PRESENCIAL_DESC){
						el.html('<span class="mdi mdi-alpha-c-box-outline" style="float:right; font-size: 1.4em; color: #d3c130"></span>'+text);						
					}else if( text == IDTIPOENTRADA00_TELEMATICA_DESC){
						el.html('<span class="mdi mdi-alpha-t-box-outline" style="float:right; font-size: 1.4em; color: #336289"></span>'+text);												
					}else if( text == IDTIPOENTRADA00_OFICIO_DESC){
						el.html('<span class="mdi mdi-alpha-o-box-outline" style="float:right; font-size: 1.4em; color: #cb5ebd"></span>');												
					}
				}
			},
			selected: (function(){ try { return bandejaFilter.idTipoentrada} catch { return null}})()
		});		
		
		Ad74aUtils.configCombo($("#tipo_filter_table"), {
			loadFromSelect: true,
			selected: (function(){ try { return bandejaFilter.tipo} catch { return null}})()
		});			
		
		Ad74aUtils.configCombo($("#procedureid_filter_table"), {
			loadFromSelect: true,
			selected: (function(){ try { return bandejaFilter.procedureid} catch { return null}})()
		});
		
		// Añadir el option todos los errores
		if($("#errorexpediente_filter_table option[value='0']").length <= 0){			
			$("#errorexpediente_filter_table option:last").after(`<option value='0'>${$.rup.i18n.app.combos.todos}</option>`);
		}
		Ad74aUtils.configCombo($("#errorexpediente_filter_table"), {
			loadFromSelect: true
		});		
		
		// Borrar los hidden generados con el <form:checkbox/>
		$("input[name='_ocultos']").remove();
		
	}

	const initTable = () => {
		
		const getColumnsModel = function () {
			const getColumnModel = function (name, index, editable, hidden, orderable) {
				return {
					name: name,
					index: index,
					editable: editable,
					hidden: hidden,
					orderable: orderable
					
				}
			};
			let columnsModel = [];
			columnsModel.push(getColumnModel("urgencia", "urgencia", false, false, false));
			columnsModel.push(getColumnModel("idTipoentrada", "idtipoentrada", false, false, false));
			columnsModel.push(getColumnModel("fregistro", "fregistro", false, false));
			columnsModel.push(getColumnModel("numregistro", "numregistro", false, false));
			columnsModel.push(getColumnModel("procedureid_desc", "procedureid_desc", false));
			columnsModel.push(getColumnModel("tipo_desc", "tipo_desc", false, false));
			columnsModel.push(getColumnModel("idexpediente", "idexpediente", false, false));			
			columnsModel.push(getColumnModel("solicitante", "solicitante", false, false));
			columnsModel.push(getColumnModel("remitente", "remitente", false, false));
			columnsModel.push(getColumnModel("numregoriginal", "numregoriginal", false, false));
			columnsModel.push(getColumnModel("fregoriginal", "fregoriginal", false, false));
			//columnsModel.push(getColumnModel("numdocumentos", "numdocumentos", false, false, false));
			return columnsModel;
		};
 
		const getColumnsDefs = function () {
			return [
				{ 
					"targets": 0,
					"className": "icons-column",
					"render": function(data, type, row, settings){	
						let iconUrgencia = "";
						if( row.tipoUrgencia >= 1){
							iconUrgencia = `
								<span class="mdi mdi-clock-fast naranja sol_urgente_icon " 
									style="float: right;">
								</span>
							`;
						}
						let iconError = "";
						if( row.errorexpediente != 0 && row.errorexpediente != null ){
							iconError = `
								<span class="mdi mdi-alert-outline rojo sol_error_icon" 
									style="float: right;" msg='${row.errorexpediente_desc}'>
								</span>
							`;
						}
						
						let iconOculto = "";
	    		    	if(row.estado == 'O'){							
	    		    		iconOculto = `
								<span class="mdi mdi-eye-off obs-oculto" 
									style="float:right" obs='${row.motivoOcultar}'>
								</span>
							`;				   
	   	    		 	} 
	    		    	
	    		    	let iconBloqueo = "";
	    		    	if( row.bloqueo == 1 && userName != row.usuresponsable) {
							iconBloqueo += `							
								<span class="mdi mdi-lock registro-bloqueado" 
								 style="float:right" bloqueo='${row.usuresponsable}'></span>  						
							`;
						}
	    		    	
	    		    	let iconObs = "";
	    		    	if( row.idTipoentrada == IDTIPOENTRADA00_PAPEL0_VAL
	    		    			&& row.observaciones != null && row.observaciones != '') {
	    		    		iconObs += `							
								<span class="mdi mdi-note-multiple-outline obs-icon verde" 
								 style="float:right" obs='${row.observaciones}'></span>  						
							`;
						}
	    		    	
						return iconUrgencia + iconError + iconOculto + iconBloqueo + iconObs;									
					}
				},
				{
					"targets": 1,
					"className": "icons-column",
					"render": function(data, type, row, settings){
						
						let icon = "";
						let color = "";
						if( row.idTipoentrada == IDTIPOENTRADA00_PAPEL0_VAL) {
							icon = "mdi-alpha-p-box-outline";
							color = "color: #338946";
							
						}else if( row.idTipoentrada == IDTIPOENTRADA00_TELEMATICA_VAL) {						
							icon = "mdi-alpha-t-box-outline";
							color = "color: #336289";
						}else if( row.idTipoentrada == IDTIPOENTRADA00_PRESENCIAL_VAL) {							
							icon = "mdi-alpha-c-box-outline";
							color = "color: #d3c130";
						}else if (row.idTipoentrada == IDTIPOENTRADA00_OFICIO_VAL) {
							icon = "mdi-alpha-o-box-outline";
							color = "color: #cb5ebd";
							
						}
						
						return `							
							<span class="mdi ${icon} tipo-entrada" 
							 style="float:right; font-size: 1.3em; ${color}" tipo='${row.idtipoentrada_desc}'></span>  						
						`;
					}
				},
				{
					"targets": 2,
					"width": "7%"
				},
				{ 
					"targets": 3,
					"width": "7%",
	    		    "render": function(data,type, row, settings){
	    		    	return "<a href='javascript:$.abrirDialogo("+row.identrada+","+row.idTipoentrada+","+'"'+row.usuresponsable+'"'+","+row.bloqueo+");'>" + data + "</a>"; 	    		    			
	    		    }
				},
				{
					"targets": 6,
					"render": function(data, type, row, settings){
						if ( row.numexpediente != null ) {						 
							const url = '../expedientes/detail/' + row.idexpediente;
							return `<a href='javascript:window.open("${url}", "exp_${row.numexpediente}");'>${row.numexpediente}</a>`;						
						}						
						return "";
					},
					"width": "5%"
				},
				{
					"targets": 7,
					"render": function(data, type, row, settings){
						if(row.idTipoentrada == IDTIPOENTRADA00_PAPEL0_VAL) {
							return "";
						}else{						
							const url = "../solicitantes/detail/" + row.idsolicitante; 
							const nombre = `${row.nombre || ''} ${row.apellido1 || ''} ${row.apellido2 || ''}`.trim();
							
							if(row.beneficiario01 == beneficiario01BeneficiarioVal){
								return `<a href='javascript:window.open("${url}", "ben_${row.beneficiario01}");'  style='display: block; min-width: 150px;'>
								${row.identificador? row.identificador + ' - ' : '' } 
								${nombre}
								</a>`;		
							}else{
								return `
								${row.identificador? row.identificador + ' - ' : '' } 
								${nombre}`;			
							}
							
											
						}						
					},
					"width": "20%"
//					"orderable": false
				},
				{
					"targets": 8,
					"render": function(data, type, row, settings){
						if(row.idTipoentrada != IDTIPOENTRADA00_PAPEL0_VAL) {
							return "";
						}else{												
							return `<span style='display: block; min-width: 150px;'>${row.remitente }</span>`
						}
					},
					"width": "20%"
				},
				{
					"targets": [9, 10],
					"width": "7%"
				}
			];
		};

		const getCustomButtons = function () {
			let customButons = [];
			
			const FN_ProcesarDisplay = {};
			FN_ProcesarDisplay.test  = function(){
				const selectedRows  = $("#bandejaentradas").rup_table("getSelectedRows");	
				// 1 seleccionado y no tiene error en el expediente
				if ( selectedRows.length == undefined) { //&& (selectedRows.errorexpediente == 0 || selectedRows.errorexpediente == null)) {
					return true;
				}
				return false;
			};
			const procesarButton = {
				text: function () {
					return $.rup.i18n.app.botonera.procesar;
				},
				id: 'procesar', // Campo obligatorio si se quiere usar desde el contextMenu
				className: 'btn-material-primary-high-emphasis table_toolbar_btnView',
				icon: "mdi-settings",
				displayRegex: FN_ProcesarDisplay,
				insideContextMenu: true,
				//type: 'view',
				action: function (e, dt) {
					const selectedRows  = $("#bandejaentradas").rup_table("getSelectedRows");
					if(selectedRows.idTipoentrada == IDTIPOENTRADA00_PAPEL0_VAL) {
						if ( selectedRows.length == undefined && selectedRows.usuresponsable != userName && selectedRows.bloqueo == 1) {
							Ad74aUtils.openConfirmDialog(
								'dialogConfirm', 
								$.rup.i18n.app.dialog.title.entradaBloqueada, 
								$.rup.i18n.app.dialog.label.entradaBloqueada,  
								[
						        	{
						                text: $.rup.i18n.app.botonera.cancelar,
						                click: function () { 
						                    $('#dialogConfirm').rup_dialog('close'); 
						                },
						                btnType: $.rup.dialog.LINK
						                
						            },
							        {
							            text: $.rup.i18n.app.botonera.aceptar,
							            id: "btnBloqueado",
							            click: function () { 
							            	$('#dialogConfirm').rup_dialog('close');
							            	openDialogBandejaPapel0();
							            },
							            class: 'btn-material btn-material-primary-high-emphasis'
							            
							        },
						        ],
						        'custom_small_dialog rup-message rup-message-confirm'
							);							
						}else if(selectedRows.length == undefined) {					
							openDialogBandejaPapel0();
						}
					}else{					
						openDialogBandejaTelematica();
					}
				}
			};
			customButons.push(procesarButton);
			
			const FN_OcultarMostrarDisplay = {};
			FN_OcultarMostrarDisplay.test  = function(){
				const selectedRows  = $("#bandejaentradas").rup_table("getSelectedRows");	
				// 1 seleccionado y no tiene error en el expediente
				if ( selectedRows.length == undefined && selectedRows.idTipoentrada == IDTIPOENTRADA00_PAPEL0_VAL 
						&& (selectedRows.estado == BANDEJA_EN_CURSO ||selectedRows.estado == BANDEJA_PENDIENTE || selectedRows.estado == BANDEJA_OCULTO|| selectedRows.estado == BANDEJA_EN_CURSO_OCULTO)) {
					return true;
				}
				return false;
			};
			const ocultarMostrarButton = {
				text: function () {
					return $.rup.i18n.app.botonera.ocultarMostrar;
				},
				id: 'ocultarMostrar', // Campo obligatorio si se quiere usar desde el contextMenu
				className: 'btn-material-primary-high-emphasis table_toolbar_btnView',
				icon: "mdi-eye-off-outline",
				displayRegex: FN_OcultarMostrarDisplay,
				insideContextMenu: true,
				//type: 'view',
				action: function (e, dt) {
					openDialogOcultar();
				}
			};
			customButons.push(ocultarMostrarButton);
			
			const reloadButton = {
			text: function () {
					return $.rup.i18n.app.botonera.actualizarListado;
				},
				id: 'actualizarListado', // Campo obligatorio si se quiere usar desde el contextMenu
				className: 'btn-material-primary-high-emphasis table_toolbar_btnView progressButton',
				icon: "mdi-refresh",
				displayRegex: /^\d+$/,
				insideContextMenu: true,
				//type: 'view',
				action: function (e, dt) {
					recargarTabla();
				}
			};
			customButons.push(reloadButton);
			
			return customButons;
		};



		$("#bandejaentradas").rup_table({
			colReorder: {
				fixedColumnsLeft: 1
			},
			colModel: getColumnsModel(),
			columnDefs: getColumnsDefs(),
			primaryKey: "identrada",
			filter: {
				id: "bandejaentrradas_filter_form",
				filterToolbar: "bandejaentradas_filter_toolbar",
				collapsableLayerId: "bandejaentradas_filter_fieldset",
				showHidden: true
			},
			createTooltipBody: false,// No muestra el tooltip automático de las columnas de la tabla
			select: {
				activate: true
			},
			buttons: {
				activate: true,
				blackListButtons: ['reportsButton', 'addButton', 'editButton', 'cloneButton', 'deleteButton'],
				myButtons: getCustomButtons()
			},
			"rowCallback": function( row, data, index ) {
				if( data.estado == BANDEJA_EN_CURSO) {
					$(row).addClass('green_row');
				} else if ( data.tipoUrgencia >= 1 && (data.errorexpediente == null || data.errorexpediente == 0)){
					$(row).addClass('orange_row');					
				} else if( data.errorexpediente != 0 && data.errorexpediente != null ) {
					$(row).addClass('red_row');
				}
			},
			drawCallback: function( ctx ) {
				$(".sol_urgente_icon").rup_tooltip({
					content: {
						text: $.rup.i18n.app.tooltip.urgente
					}, 
					position: {
						my: 'bottom left',  // Position my top left...
						at: 'top left', // at the bottom right of...
					},   
					style: { 
						classes: 'qtip-orange' 
					}
				});
				
				$(".sol_error_icon").rup_tooltip({
					content: {
						 text: function(event, api) {
					            return $(this).attr('msg');
					        }
						}, 
					position: {
						my: 'bottom left',  // Position my top left...
						at: 'top left', // at the bottom right of...
					},   
					style: { 
						classes: 'qtip-red qtip-large' 
					}
				});
				$(".registro-bloqueado").rup_tooltip({
					content: {
						 text: function(event, api) {
				            return $.rup.i18n.app.bandejaPapel0.bloqueado.replaceAll("{0}",$(this).attr('bloqueo'));
				        }
					}, 
					position: {
						my: 'bottom left',  // Position my top left...
						at: 'top left', // at the bottom right of...
					},   
					style: { 
						classes: 'qtip-dark' 
					}
				});
				$(".tipo-entrada").rup_tooltip({
					content: {
						text: function(event, api) {
							return $(this).attr('tipo');
						}
					}, 
					position: {
						my: 'bottom left',  // Position my top left...
						at: 'top left', // at the bottom right of...
					},   
					style: { 
						classes: 'qtip-dark' 						
					}
				});
				$(".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' 
					}
				});
				$(".obs-oculto").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-dark 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]
					if(row.idTipoentrada == IDTIPOENTRADA00_PAPEL0_VAL && row.observaciones != null){ 
						Ad74aUtils.openConfirmDialog(
							'dialogConfirm', 
							`${$.rup.i18n.app.dialog.title.observaciones}: 
								${row.numregistro} | ${row.tipo_desc} - ${row.proedureid_desc}													
							`, 
							row.observaciones.replaceAll('\n', '<br/>'),  
							[
					        	{
					                text: $.rup.i18n.app.botonera.cerrar,
					                click: function () { 
					                    $('#dialogConfirm').rup_dialog('close'); 
					                },
					                btnType: $.rup.dialog.LINK
					                
					            }
					        ],
					        'custom_mid_dialog rup-message rup-message-ok overflow-y-auto'
						);
					}
	            });
			},
			columnOrderArrows: {
			    showOnlyActive: false,
			    display: 'inline'
			},
			order: [[0, "desc"], [2, "asc"]],
			"initComplete": function(settings, json) {
				const properties = {
					"init": "true",
					"click": true,
					"callback": () => {
						recargarTabla();
					}, // función a ejecutar 
					"style": {}, // estilos para la barra de progreso
					"refreshInterval": "60" //segundos
				}
				//Ad74aUtils.timer("#actualizarListado", properties);		
				
				$("#bandejaentradas_filter_cleanButton").click( (e) => {
					// Comprobar si hay parámetros en la URL. Si los hay, los quitamos y recargamos la página					
					const urlObj = new URL(window.location.href);
					if(urlObj.search == ''){
						Ad74aUtils.desBloquearInterfaz();
						initFilter();
					}else{
						Ad74aUtils.bloquearInterfaz();
						urlObj.search = '';
						window.location.href = urlObj.toString();
					}
					
				});
			}
		});
		
	}
	
	 $('#bandejaentradas tbody').on( 'click', 'tr', function () {
	        $(this).toggleClass('selected');
	    } );
	
	$.abrirDialogo= function(identrada,idTipoentrada,usuresponsable,bloqueo){	
		

		if(idTipoentrada == IDTIPOENTRADA00_PAPEL0_VAL) {
			if (usuresponsable != userName && bloqueo == 1) {
				Ad74aUtils.openConfirmDialog(
					'dialogConfirm', 
					$.rup.i18n.app.dialog.title.entradaBloqueada, 
					$.rup.i18n.app.dialog.label.entradaBloqueada,  
					[
			        	{
			                text: $.rup.i18n.app.botonera.cancelar,
			                click: function () { 
			                    $('#dialogConfirm').rup_dialog('close'); 
			                },
			                btnType: $.rup.dialog.LINK
			                
			            },
				        {
				            text: $.rup.i18n.app.botonera.aceptar,
				            id: "btnBloqueado",
				            click: function () { 
				            	$('#dialogConfirm').rup_dialog('close');
				            	openDialogBandejaPapel0(identrada);
				            },
				            class: 'btn-material btn-material-primary-high-emphasis'
				            
				        },
			        ],
			        'custom_small_dialog rup-message rup-message-confirm'
				);							
			}else {					
				openDialogBandejaPapel0(identrada);
			}
		}else{					
			openDialogBandejaTelematica(identrada);
		}
	
	}
	
	
	const initDialogs = () => {
		
		const tableName = $('#tableName').val();
		
		// Diálogo detalle telemático
		if($('div[aria-describedby=dialogBandejaTelematica]').length == 1){
	    	$('div[aria-describedby=dialogBandejaTelematica]').remove();
	    	$('#dialogBandejaTelematica').remove();
	    }	    
	    
		$('#dialogBandejaTelematica').rup_dialog({
	        type: $.rup.dialog.DIV,
	        autoOpen: false,
	        modal: true,
	        resizable: true,
	        dialogClass: 'custom_full_dialog',
	        title: '<i>'+$.rup.i18n.app.dialog.title.procesarEntrada+'</i>',
	        buttons: [
	            {
	                text: $.rup.i18n.app.botonera.cancelar,
	                click: function () { 
	                    $('#dialogBandejaTelematica').rup_dialog('close'); 
	                },
	                btnType: $.rup.dialog.LINK
	                
	            },		        
		        {
		        	text: $.rup.i18n.app.botonera.procesar,
		        	id: "btnProcesar",
		        	click: function () { 
		        		procesarEntrada('telematico');
		        	},
		        	class: 'btn-material btn-material-secondary-high-emphasis'
		        		
		        },

	        ],
			open: () => {
				// Añadir iconos a los botones del popup
				$("#btnProcesar").html(`<i class="mdi mdi-settings"></i> ${$.rup.i18n.app.botonera.procesar}`);
				
			}
	    });
		
		// Diálogo detalle papel0
		if($('div[aria-describedby=dialogBandejaPapel0]').length == 1){
	    	$('div[aria-describedby=dialogBandejaPapel0]').remove();
	    	$('#dialogBandejaPapel0').remove();
	    }	    
	    
		$('#dialogBandejaPapel0').rup_dialog({
	        type: $.rup.dialog.DIV,
	        autoOpen: false,
	        modal: true,
	        resizable: true,
	        dialogClass: 'custom_full_dialog',
	        title: '<i>'+$.rup.i18n.app.dialog.title.procesarEntrada+'</i>',
	        buttons: [
	            {
	                text: $.rup.i18n.app.botonera.cancelar,
	                click: function () { 
	                    $('#dialogBandejaPapel0').rup_dialog('close');
	                    const selectedRows  = $("#" + tableName).rup_table("getSelectedRows");	
	                    if ( selectedRows.length == undefined && selectedRows.usuResponsable12 != userName) {
	                    	//$("#" + tableName).rup_table("reload");
	                    	recargarTabla();
						}
	                },
	                btnType: $.rup.dialog.LINK
	                
	            },	            
	            {
		            text: $.rup.i18n.app.botonera.rechazar,
		            id: "btnRechazar",
		            click: function () { 		            			            
		            	Ad74aUtils.openConfirmDialog(
							'dialogConfirm', 
							$.rup.i18n.app.dialog.title.rechazarEntrada, 
							$.rup.i18n.app.dialog.label.rechazarEntrada,  
							[
					        	{
					                text: $.rup.i18n.app.botonera.cancelar,
					                click: function () { 
					                    $('#dialogConfirm').rup_dialog('close'); 
					                },
					                btnType: $.rup.dialog.LINK
					                
					            },
						        {
						            text: $.rup.i18n.app.botonera.aceptar,
						            id: "btnOcultar",
						            click: function () { 
						            	$('#dialogConfirm').rup_dialog('close');
						            	rechazarEntrada();
						            },
						            class: 'btn-material btn-material-primary-high-emphasis'
						            
						        },
					        ],
					        'custom_small_dialog rup-message rup-message-confirm'
						);			            			            	
		            },
		            class: 'btn-material btn-material-danger-low-emphasis'
		            
		        },
		        {
	            	text: $.rup.i18n.app.botonera.guardar,
	            	id: "btnGuardarPapel0",
	            	click: function () { 
	            		guardarEntrada();
	            	},
	            	class: 'btn-material btn-material-primary-high-emphasis'
	            		
	            },
		        {
		            text: $.rup.i18n.app.botonera.procesar,
		            id: "btnProcesarPapel0",
		            click: function () { 
		            	procesarEntrada('papel0');
		            },
		            class: 'btn-material btn-material-secondary-high-emphasis'
		            
		        },

	        ],
			open: () => {
				 
				$("#resumenDetail").html("");				
				// Añadir iconos a los botones del popup
				$("#btnProcesarPapel0").html(`<i class="mdi mdi-settings"></i> ${$.rup.i18n.app.botonera.procesar}`);
				$("#btnRechazar").html(`<i class="mdi mdi-close"></i> ${$.rup.i18n.app.botonera.rechazar}`);
				const selectedRows  = $("#" + tableName).rup_table("getSelectedRows");
				console.log(selectedRows);
				if(selectedRows != undefined && selectedRows.estado != 'P') {
					$("#btnRechazar").attr("disabled", true);
				}else {
					$("#btnRechazar").attr("disabled", false);
				}
				$("#btnGuardarPapel0").html(`<i class="mdi mdi-floppy"></i> ${$.rup.i18n.app.botonera.guardar}`);
				
			}
	    });
		
		var propertiesOcultar={
				feedback:$("#dialogOcultar_detail_feedback"),
				liveCheckingErrors: false,
				showFieldErrorAsDefault: true,
				showErrorsInFeedback: true,
				showFieldErrorsInFeedback: true,
				rules:{
				  "motivoOcultar12":{required:function(){
					  return $("#estado12_dialogOcultar").val() == 'P'
				  }}
			 }
		};
		$("#dialogOcultar_dialog_form").rup_validate(propertiesOcultar);
		
		// Diálogo mostrar/Ocultar
		if($('div[aria-describedby=dialogOcultar]').length == 1){
	    	$('div[aria-describedby=dialogOcultar]').remove();
	    	$('#dialogOcultar').remove();
	    }	
		
		$('#dialogOcultar').rup_dialog({
	        type: $.rup.dialog.DIV,
	        autoOpen: false,
	        modal: true,
	        resizable: false,
	        title: $.rup.i18n.app.dialog.title.mostrarOcultar,	    
	        height: 600,
			dialogClass: 'custom_mid_dialog',
	        buttons: [
	        	{
	                text: $.rup.i18n.app.botonera.cancelar,
	                click: function () { 
	                    $('#dialogOcultar').rup_dialog('close'); 
	                },
	                btnType: $.rup.dialog.LINK
	                
	            },
		        {
		            text: $.rup.i18n.app.botonera.aceptar,
		            id: "btnOcultar",
		            click: function () { 
		            	if ($("#dialogOcultar_dialog_form").valid()){
		            		procesarOcultar();
		            	}
		            },
		            class: 'btn-material btn-material-primary-high-emphasis'
		            
		        },
	        ]
	    });	
		
	}
	
	// Funciones pare el mostrar/ocultar
	const openDialogOcultar = () => {
		const tableName = $('#tableName').val();

		// Inicializar el feedback
		try {
			$("#dialogOcultar_detail_feedback").rup_feedback("destroy");
		} catch (error) {}

		$("#dialogOcultar_detail_feedback").rup_feedback(
			{
				type: "ok",
				block: false,
				delay: 3000,
				fadeSpeed: 600,
			}
		);
		
		// Inicializar campos dialog
		$("#motivoOcultar12_dialog_form").val("");
		
		let bandejaEntradaElegida = $("#bandejaentradas").rup_table("getSelectedRows");
		let ctx = $('#' + tableName).rup_table('getContext');		
		$('#idEntrada12_dialogOcultar').val(ctx.multiselection.selectedIds[0]);
		$("#estado12_dialogOcultar").val(bandejaEntradaElegida.estado);
		$("#motivoOcultar12_dialog_form").val(bandejaEntradaElegida.motivoOcultar);
		
		$('#dialogOcultar').rup_dialog('open');
    }
	
	const procesarOcultar = () => {		
		let data = {};
		data.bandejaPapel0 = window.form2object($('#dialogOcultar_dialog_form')[0]);		
		
		data = JSON.stringify(data);
		
		const url = '../bandejapapel0/mostrarOcultar';
		
    	$.rup_ajax({
    		'url': url,
			'type': 'POST',
			'data': data,
			'contentType': 'application/json',
			'dataType': 'json',         	
            success: function (data){  
            	$("#dialogOcultar").rup_dialog("close");
            	Ad74aUtils.desBloquearInterfaz();
            	recargarTabla();
				$("#rup_feedback_bandejapapel0").rup_feedback('set', $.rup.i18n.app.feedback.operacionOK, "ok"); 
            },
            beforeSend: function(){
            	Ad74aUtils.cerrarFeedbacks();
            	Ad74aUtils.bloquearInterfaz();
			},
            error:function(error){
            	Ad74aUtils.desBloquearInterfaz();
            	$("#dialogOcultar_detail_feedback").rup_feedback('set', error.responseJSON || error.responseText, "error");	
            }
        });
	}
	
	// Funciones pare el detalle de papel0
	const openDialogBandejaPapel0 = (identrada) => {
				
		const tableName = $('#tableName').val();
		$("#" + tableName + "_processing").show();
		const divTitleDialog = $("div[aria-describedby='dialogBandejaPapel0'] .ui-dialog-title");
		const divDialog = $("div[aria-describedby='dialogBandejaPapel0']");
		const url = '../bandejapapel0/detail';
		
		// Inicializar el feedback
		try {
			$("#bandejapapl0_detail_feedback").rup_feedback("destroy");
		} catch (error) {}

		$("#bandejapapel0_detail_feedback").rup_feedback(
			{
				type: "ok",
				block: false,
				delay: 3000,
				fadeSpeed: 600,
			}
		);
		
		// Inicializar campos dialog
		$("#resumenDetailLayer").html("");
		$("#observaciones12Detail").val("");
		$("#observacionesDetail").val("");
		$("#expediente_filter_layer").addClass("plegado");
		$("#busquedaExpediente").html("");		
		$("#idExpediente00Detail").val("");
		$("#numExpediente00Detail").val("");
		$("#numExpediente00Buscar").val("");
		$("#clearExpedienteBtn").addClass("d-none");
		$("#detalleAportacionLayer").addClass("d-none");
		$("#informeSocialLayer").addClass("d-none");
				
		const 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>`;
		
		$("#documentos").html(loadingDiv);
		$("#datosEntrada #loading").html(loadingDiv);
		
		$("#buscarExpedienteBtn").unbind("click");
		$("#buscarExpedienteBtn").bind("click", () => {
			if( $("#expediente_filter_layer").hasClass("plegado")){									
				$("#busquedaExpediente").html(loadingDiv);
				$("#busquedaExpediente").load("../bandejapapel0/buscarExpediente");
				$("#detalleAportacionLayer").addClass("on");
				$("#overlay-buscar").removeClass("d-none");
				$("#expediente_filter_layer").toggleClass("plegado");
			}
		});
		
		$("#clearExpedienteBtn").unbind("click");
		$("#clearExpedienteBtn").bind("click", () => {
			$("#idExpediente00Detail").val("");
			$("#numExpediente00Detail").val("");
			$("#numExpediente00Buscar").val("");
			$("#clearExpedienteBtn").addClass("d-none");
		});
		if(identrada!=undefined){
			$('#idEntrada12Detail').val(identrada);
		}else{
			let ctx = $('#' + tableName).rup_table('getContext');		
			$('#idEntrada12Detail').val(ctx.multiselection.selectedIds[0]);
		}
		

		let data = {};
		data.bandejaPapel0 = window.form2object($('#bandejapapel0_dialog_form')[0]);
		data.bandejaPapel0.numRegistro12 = $('#numeroRegistroDetailPapel0').text();
		data = JSON.stringify(data);
		
		
		Ad74aUtils.hacerPlegable();
//		$("#"+tableName+"_processing").hide();
//		$('#dialogBandejaPapel0').rup_dialog('open');
		
		const ajaxData = {
			'url': url,
			'type': 'POST',
			'data': data,
			'contentType': 'application/json',
			'dataType': 'json',
			success: function (res) {
//				console.log(data);
				
				if (res != undefined) {					
					$("#datosEntrada #loading").html("");					
					
					// Mostrar la capa para seleccionar el expediente
					
					if(res.tipoProceso12 == null){
						if (parseInt(res.tipo12) == TIPO_APORTACION_SOL) {			
							$("#detalleAportacionLayer").addClass("d-none");						
						} else {
							$("#detalleAportacionLayer").removeClass("d-none");
						}	
					}else{
						if ( TIPOS_SOLICITUD.includes(res.tipoProceso12)) {			
							$("#detalleAportacionLayer").addClass("d-none");						
						} else {
							$("#detalleAportacionLayer").removeClass("d-none");
						}	
					}
					
					
					// Mostrar la capa para ver el informe social si lo tuviera
					let urgenciaInforme = '';
					if ( TIPOS_SOLICITUD.includes(res.tipoProceso12)) {						
						$("#urgenciaLayer").removeClass("d-none");	
						urgenciaInforme = (res.informes != null && res.informes.urgente16 != null)?res.informes.urgente16:'';
					}else {
						$("#urgenciaLayer").addClass("d-none");						
					}
					
					if( (TIPO_SOLICITUD_ALTA == parseInt(res.tipoProceso12) || TIPO_SOLICITUD_MODIFICACION == parseInt(res.tipoproceso12))
							&& res.informes != null) {
						$("#informeSocialLayer").removeClass("d-none");						
					}else {
						$("#informeSocialLayer").addClass("d-none");						
					}
					
					if(res.informes != null) {						
						$("#informeSocial_fInicio").html(res.informes.fInicio16);
						$("#informeSocial_fFin").html(res.informes.fFin16);
						$("#informeSocial_fEnvio").html(res.informes.fEnvioAdmon16);
						$("#informeSocial_ayuntamiento").html(res.informes.informeSocial.ayuntamiento02);
						const trSocial = res.informes.maestroTrSociales.nombre39 
						+ (res.informes.maestroTrSociales.ape139 != null? ' '+res.informes.maestroTrSociales.ape139 :'')
						+ (res.informes.maestroTrSociales.ape139 != null? ' '+res.informes.maestroTrSociales.ape239 :'');
						$("#informeSocial_trabajador").html(trSocial);
						const urgente = `
							<span class="mdi 
							${(res.informes.urgente16 == null || res.informes.urgente16 == 0)
							? ' mdi-close'
							: ' mdi-check'
							}
							"</span>
							`;
						$("#informeSocial_urgente").html(urgente);
						
						//TODO: será un enlace a PID
						$("#informeSocial_documento").html(res.informes.documento);
						$("#informeSocial_observaciones").html(res.informes.informeSocial.observaciones02);
					}
					
					// Iniciar el combo y marcar la urgencia según venga en el informe
					Ad74aUtils.configCombo($("#urgenciaDetailPapel0"), {
						loadFromSelect: true,
						ordered: true,
						onLoadSuccess: () => {	
							setTimeout(() => {
								//$("#urgenciaDetailPapel0").rup_combo("setRupValue", urgenciaInforme);
								$("#urgenciaDetailPapel0").rup_combo("refresh");
							}, 300);
						}
					});							
					
					let title = '';	
					try {
						title = `${$.rup.i18n.app.dialog.title.procesarEntrada}: 
							${res.numRegistro12} / ${res.tipo12_desc} - ${res.procedureid12_desc}
							${(res.informes != null && res.informes.urgente16 == 1) || res.urgencia12 > 0
								? '<span class="mdi mdi-clock-fast " style="font-size: 2.5rem;margin-left: 10px;position: absolute;top: 0px;"></span>'
								:''
							}							
						`;
						
						if( (res.informes != null && res.informes.urgente16 == 1) || res.urgencia12 > 0 ) {
							divDialog.addClass("custom_dialog_urgente");
						} else {
							divDialog.removeClass("custom_dialog_urgente");						
						}
											
					} catch (e) {
						console.log(e);
						title = $.rup.i18n.app.dialog.title.procesarEntrada;
					}
					
					divTitleDialog.html( title );					
										
					// Populate de los formularios
					$.rup_utils.populateForm($.rup_utils.jsontoarray(res), "#bandejapapel0_dialog_form");	
					$.rup_utils.populateForm($.rup_utils.jsontoarray(res), "#bandejapapel0_dialog_detail_form");	
					$("#fechaRegistroDetailPapel0").html(res.fRegistro12);
					$("#numeroRegistroDetailPapel0").html(res.numRegistro12);
					$("#fRegOriginalDetail").html(res.fRegOriginal12);
					$("#numRegOriginalDetail").html(res.numRegOriginal12);
					$("#remitenteDetail").html(res.remitente12);
					$("#procedimientoDetailPapel0").html(res.procedureid12_desc);
					$("#tipoEntradaDetailPapel0").html(res.tipo12_desc);					
					$("#expedienteDetailPapel0").html(res.numExpediente12);					
					$("#numExpediente00Buscar").val(res.numExpediente12);
					$("#qrDetail").html(res.qrcode12);

					
					$("#estado12Hidden").val(res.estado12);
					
					// Copiar las observaciones que vienen desde el back
					$("#observacionesDetail").val($("#observaciones12Detail").val());
					
					
					if( res.resumen12 != undefined && res.resumen12 != ''){
						$("#resumenDetailLayer").html("");
						
						const resumenHtml = `
							<div class="form-row row">
								<div class="col-sm-12">	
		                    		<label class="lbl-xs">${$.rup.i18n.app.bandejaPapel0.resumen}:</label>
									<span class="datosResumen">${res.resumen12}</span>
								</div>
							</div>`;
						$("#resumenDetailLayer").html(resumenHtml);
					}		
					
					
					cargarTiposProcesos( res, 'papel0' );
					
					cargarDocumentosPapel0( res );									
					
				}				
				
				Ad74aUtils.hacerPlegable();
				$("#"+tableName+"_processing").hide();
				$('#dialogBandejaPapel0').rup_dialog('open');   

			},
			error: function (error) {
				$("#" + tableName + "_processing").hide();
				$('#dialogBandejaPapel0').rup_dialog('close');
				$("#rup_feedback_bandejaentradas").rup_feedback('set', error.responseJSON || error.responseText, "error");
			}
		};
		
		$.rup_ajax(ajaxData);
	
    }
	
	const cargarTiposProcesos = ( data, tipo ) => {		
		
		let url = '';
		let bandeja = '';
		let dialog = '';
		let success = null;
		let loading = true;
		const tableName = $('#tableName').val();
		
		if( tipo == 'papel0'){
			url = '../bandejapapel0/tiposProcesos';
			bandeja = 'bandejapapel0';
			dialog = 'dialogBandejaPapel0';
			success = (res) => {	
				//$("#tipoProceso12DetailPapel0").rup_combo('destroy');
				Ad74aUtils.configCombo($("#tipoProceso12DetailPapel0"), {
					source: res,
					sourceParam : {	label: 'label' ,value: 'value'},
					loadFromSelect:false,
					ordered: false,
					onLoadSuccess: () => {
						if($("#estado12Hidden").val() == ESTADO_EN_CURSO){
							$("#tipoProceso12DetailPapel0").rup_combo("disable");
						}else{
							$("#tipoProceso12DetailPapel0").rup_combo("enable");
						}						
						setTimeout(() => {							
							//Si el tipoproceso esta a null, precargamos lo que este en tipo12
							if(data.tipoProceso12 == null){
								$("#bandejapapel0_dialog_form #tipoProceso12DetailPapel0").rup_combo("select", data.tipoByQr);
								$("#bandejapapel0_dialog_form #tipoProceso12DetailPapel0").rup_combo("refresh");	
							}else{
								$("#bandejapapel0_dialog_form #tipoProceso12DetailPapel0").rup_combo("select", data.tipoProceso12);
								$("#bandejapapel0_dialog_form #tipoProceso12DetailPapel0").rup_combo("refresh");
							}
							
							if($("#estado12Hidden").val() == ESTADO_EN_CURSO){
								$("#tipoProceso12DetailPapel0").rup_combo("disable");
							}else{
								$("#tipoProceso12DetailPapel0").rup_combo("enable");
							}
						}, 100);
						loading = false;
					},
					change: () => {
						if( !loading ) {							
							if ( TIPOS_SOLICITUD.includes($("#bandejapapel0_dialog_form #tipoProceso12DetailPapel0").rup_combo("value"))) {			
								$("#detalleAportacionLayer").addClass("d-none");								
								$("#urgenciaLayer").removeClass("d-none");								
							} else {
								$("#detalleAportacionLayer").removeClass("d-none");
								$("#urgenciaLayer").addClass("d-none");
							}	
						}
					}
				});					
			};			
		}else {
			url = '../bandejatelematica/tiposProcesos';
			bandeja = 'bandejatelematica';
			dialog = 'dialogBandejaTelematica';
			success = (res) => {										
				Ad74aUtils.configCombo($("#tipoProcesoDetailTelematico"), {
					source: res,
					sourceParam : {	label: 'label' ,value: 'value'},
					loadFromSelect:false,
					ordered: false,
					onLoadSuccess: () => {
						$("#tipoProcesoDetailTelematico").rup_combo("select", data.tipoProceso);
						if ( data.submisiontype14 == TIPO_APORTACION_SOL || data.estado14 == ESTADO_ACEPTADA) {
							$("#tipoProcesoDetailTelematico").rup_combo("disable");
						}					
					},
				});
			};	
		}		
		
		// No necesitamos informes y está dando problemas de parseo
		data.informes = null;

		const ajaxData = {
			'url': url,
			'type': 'POST',
			'data': JSON.stringify(data),
			'contentType': 'application/json',
			'dataType': 'json',
			success: function(res) {
				success(res);
			},
			error: function (error) {
				$("#" + tableName + "_processing").hide();
				$('#' + dialog).rup_dialog('close');
				$("#rup_feedback_"+bandeja).rup_feedback('set', error.responseJSON, "error");
			}
		};
		
		$.rup_ajax(ajaxData);
		
	}
	
	const cargarDocumentosPapel0 = ( entrada, esSolicitud ) => {
		
		$("#documentosPapel0_filter_form #idEntrada13_filter_table_from").val(entrada.idEntrada12);		
		const documentos_table= $("#documentopapel0");
		
		try {
			$("#documentopapel0").DataTable().destroy();
		} catch (error) {}
			
		const tipificar_dialog = $("#tipificar_documentosPapel0_dialog");
		const tipificar_dialog_feedback = $("#rup_feedback_tipificar_documentos_papel0");
		Ad74aUtils.cerrarFeedbacks();
		
		const getColumnsModel = function(){
			const getColumnModel = function(name, index, editable, hidden){
				return {
					name: name,
					index: index,
					editable: editable,
					hidden: hidden
				}
			};	
			const columnsModel = [];
			columnsModel.push(getColumnModel( "oidDocumento13",  "oidDocumento13", false, false));
			columnsModel.push(getColumnModel( "tipodocumento.descEs36",  "tipodocumento.descEs36", false, false));
			columnsModel.push(getColumnModel( "tipodocumento.descEu36",  "tipodocumento.descEu36", false, false));
			columnsModel.push(getColumnModel( "idTipoDoc13",  "idTipoDoc13", false, false));
			columnsModel.push(getColumnModel( "idEntrada13",  "idEntrada13", false, false));
			columnsModel.push(getColumnModel( "idDocPapel013",  "idDocPapel013", false, false));
			return columnsModel;
		};
		
		const getColumnsDefs = function(){
			const columnsDefs = [
			      { "targets": 0,
	    		    "render": function(data, type, rowData, settings){			           
	    		    	if(rowData.oidDocumento13){
	    		    		return "<a href='javascript:$.downloadDocument(\"papel0\",\"" + rowData.oidDocumento13 + "\",\"\");'>" + data + "</a>";					   
	   	    		 	} 
	    		    }
			      }
			   ]
			return columnsDefs;
		};
		
		const getCustomButtons = function(){
		  const customButons = [];	
		  const tipificarButton = {
				text: function () {
					return $.rup.i18n.app.botonera.tipificar;
				},
				
				id: 'tipificar', // Campo obligatorio si se quiere usar desde el contextMenu
				className: 'btn-material-primary-high-emphasis table_toolbar_btnView',
				icon: "mdi-file-send",
				custom:true,				
				insideContextMenu: true, 
				type: 'view',
				action: function (e, dt) {
					tipificar_dialog.rup_dialog("open");
				}				
		  };	
		 
		  customButons.push(tipificarButton);

		  return customButons;
		};
		
		documentos_table.rup_table({
			colReorder: {
				fixedColumnsLeft: 0
			},
			colModel: getColumnsModel(),
			columnDefs:  getColumnsDefs(),
			drawCallback : function( settings ) {//PAra subscribirte a eventos despues de pintar// para cada tr
				Ad74aUtils.desBloquearInterfaz();
		    },
			primaryKey: "idDocPapel013",
			noEdit: true,
			filter: {
	  	  		id: "#documentosPapel0_filter_form",
	  	  		filterToolbar: "documentosPapel0_filter_toolbar",
	  	  		collapsableLayerId: "documentosPapel0_filter_fieldset",
	  	  		showHidden: true
	     	},
	     	select: {
	       		activate: true,
	       		multiSelect:false,
	       		deleteDoubleClick:true
	   		},
	   		createTooltipBody: false,
			buttons: {
				activate: true,
				blackListButtons: ['reportsButton','addButton', 'editButton', 'cloneButton', 'deleteButton'],
				myButtons: getCustomButtons()
			},
			"pageLength": 500,
			dom: 't<"container-fluid paginationContainer"' +
			  '<"row mx-0"' +
			  '<"col-6 order-3 text-right align-self-center col-sm-5 order-sm-2 col-xl-2 order-xl-1 text-xl-left">' +
			  '<"d-none"p>' +
			  '<"col-12 text-center"i>' +
			  '>' +
			  '>' +
			  'r',
			columnOrderArrows: {
			    showOnlyActive: false,
			    display: 'inline'
			},
			order: [[0, "asc"]]
		}
		
		);			
		
		documentos_table.on('tableButtonsAfterToolbarInit', function (event, ctx) {//siempre el boton deshabilitado al inicio
			$('#tipificar').prop('disabled', true);
		});
		
		documentos_table.on("click",function(ctx) {
			
			if(documentos_table.rup_table("getSelectedIds").length==0){
				$("#tipificar").prop('disabled', true);
			}else{				
				$("#tipificar").prop('disabled', false);
			}
		});
		
		try {
			tipificar_dialog.rup_dialog("destroy");
		} catch (error) {}
		
		tipificar_dialog_feedback.rup_feedback (
			{
			  type: "ok",
			  block: false,
			}
		);	
		
		tipificar_dialog.rup_dialog( {
			type: $.rup.dialog.DIV,
			autoOpen: false,
			modal: true,
			closeOnEscape: true,
			resizable: true,
			//width:600,
			height:600,
			dialogClass: 'custom_mid_dialog',
			title: $.rup.i18n.app.botonera.tipificar,
			buttons : [ 
                {
                    text:$.rup.i18n.app.botonera.aceptar,
                    id:"tipificar_documentosEntrada_btn",
                    class: 'btn-material btn-material-primary-high-emphasis',
                    click:  () => {
                    	const documento = documentos_table.rup_table("getSelectedRows");
                    	console.log(documento);
                    	documento["roleid13"] = $("#idTipoDoc_tipificar_papel0").rup_combo("getRupValue");
                    	$.rup_ajax({
    			            url: tipificar_dialog.attr("action"),
                    	    type:"POST",
    			            contentType: "application/json",
    			            data:$.toJSON(documento),             	
    			            success: function (data){    			            	
    			            	documentos_table.rup_table("reload")
    			            	tipificar_dialog.rup_dialog("close");
    			            	Ad74aUtils.desBloquearInterfaz();
    			            	$("#bandejapapel0_detail_feedback").rup_feedback('set', $.rup.i18n.app.feedback.titpificarDocuOK, "ok"); 
    			            },
    			            beforeSend: function(){
    			            	Ad74aUtils.cerrarFeedbacks();
    			            	Ad74aUtils.bloquearInterfaz();
    						},
    			            error:function(data){
    			            	Ad74aUtils.desBloquearInterfaz();
    					    	tipificar_dialog_feedback.rup_feedback('set', data.responseText, "error");
    					    	
    			            }
    			        });
                    	
 					}
                 },
				{
					text : $.rup.i18n.app.botonera.cancelar,
					click : () => {
						tipificar_dialog.rup_dialog("close");
					},
					btnType : $.rup.dialog.LINK
				}
			],
			open: function(){
				Ad74aUtils.cerrarFeedbacks();
				const documento = documentos_table.rup_table("getSelectedRows");  
				const idTipoProceso = $("#tipoProceso12DetailPapel0").rup_combo('getRupValue');
				const procedureID = entrada.procedureid12;
				const roleID = documento.idTipoDoc13;
				
				Ad74aUtils.configCombo($("#idTipoDoc_tipificar_papel0"), {
					source: $.rup.CTX_PATH + 'combo/getRolDocuments?procedureID='+procedureID+'&idTipoProceso='+idTipoProceso+'&roleID='+roleID+'&esPapel0='+1,
					sourceParam: {value: "value", label:idioma == 'es' ? "descripcionEs" : "descripcionEu"},
					loadFromSelect:false,	
					onLoadSuccess: function(obj){
						// Añadir el tipo solicitud ya que es obligatoria para las solicitudes de papel0
						if ( TIPOS_SOLICITUD.includes(idTipoProceso) 
								&& [...$("#idTipoDoc_tipificar_papel0")[0].options].filter(o => o.value == 'ejgv_d_solicitud.0.0').length <=0) {
							console.log("Añadir solicitud");
							$("#idTipoDoc_tipificar_papel0").prepend(`<option selected='selected' value='${DOCSOLICITUD_ROLEID}'>${DOCSOLICITUD_ROLEID_DESC}</option>`);
							$("#idTipoDoc_tipificar_papel0").rup_combo('refresh');
						}
					}
				});
	
			},
			close: function(){
				$("#idTipoDoc_tipificar_papel0").rup_combo("destroy");
				
			}		    
		});	
			
	}
	
	
	// Funciones pare el detalle telemático
	const openDialogBandejaTelematica = (identrada) => {
				
		const tableName = $('#tableName').val();
		$("#" + tableName + "_processing").show();
		const divTitleDialog = $("div[aria-describedby='dialogBandejaTelematica'] .ui-dialog-title");
		const divDialog = $("div[aria-describedby='dialogBandejaTelematica']");
		const url = '../bandejatelematica/detail';
		
		// Inicializar el feedback
		try {
			$("#bandejatelematica_detail_feedback").rup_feedback("destroy");
		} catch (error) {}

		$("#bandejatelematica_detail_feedback").rup_feedback(
			{
				type: "ok",
				block: false,
				delay: 3000,
				fadeSpeed: 600,
			}
		);
		if(identrada!=undefined){
			$('#idEntrada14Detail').val(identrada);
		}
		else{
			let ctx = $('#' + tableName).rup_table('getContext');
			$('#idEntrada14Detail').val(ctx.multiselection.selectedIds[0]);
		}
		

		let data = {};
		data.bandejaTelematica = window.form2object($('#bandejatelematica_dialog_form')[0]);
//		console.log(data);
		data = JSON.stringify(data);
		
		const ajaxData = {
			'url': url,
			'type': 'POST',
			'data': data,
			'contentType': 'application/json',
			'dataType': 'json',
			success: function (data) {
//				console.log(data);
				if (data != undefined) {
					
					let title = '';
					try {
						title = `${$.rup.i18n.app.dialog.title.procesarEntrada}: 
							${data.numRegistro14} / ${data.submisiontype14_desc} - ${data.procedureid14_desc} / ${data.expediente.numExpediente00}
							${data.expediente.urgencia00 >= 1
								? '<span class="mdi mdi-clock-fast " style="font-size: 2.5rem;margin-left: 10px;position: absolute;top: 0px;"></span>'
								:''
							}
						`;
						
						if( data.expediente.urgencia00 != 1 ) {
							divDialog.removeClass("custom_dialog_urgente");
						} else {
							divDialog.addClass("custom_dialog_urgente");						
						}
						
						
					} catch (e) {
						title = $.rup.i18n.app.dialog.title.procesarEntrada;
					}
					
					divTitleDialog.html( title );					
										
					// Populate del formulario
					$.rup_utils.populateForm($.rup_utils.jsontoarray(data), "#bandejatelematica_dialog_form");	
//					console.log(data.fRegistro14);
					$("#fechaRegistroDetail").html(data.fRegistro14);
					$("#numeroRegistroDetail").html(data.numRegistro14);
					$("#procedimientoDetail").html(data.procedureid14_desc);
					$("#tipoEntradaDetail").html(data.submisiontype14_desc);
					$("#solicitanteDetail").html(`${data.solicitante.identificador01} - ${data.solicitante.nombre01} ${data.solicitante.apellido101} ${data.solicitante.apellido201}`);
					$("#expedienteDetail").html(data.expediente.numExpediente00);
					$("#estadoExpedienteDetail").html(idioma == 'es' ? data.expediente.estados.descripcionEs30: data.expediente.estados.descripcionEu30);										
					
					//cargarTiposProcesosTelematico( data );
					cargarTiposProcesos( data, 'telematico' );
					
					cargarDocumentosTelematica( data, (data.submisiontype14 == TIPO_APORTACION_SOL) );
					
					
					// Iniciar el combo y marcar la urgencia según venga en el informe
					Ad74aUtils.configCombo($("#urgenciaDetailTelematica"), {
						loadFromSelect: true,
						ordered: true,
						onLoadSuccess: () => {	
							setTimeout(() => {
								//$("#urgenciaDetailTelematica").rup_combo("refresh");
								$("#urgenciaDetailTelematica").rup_combo("setRupValue", "");
								$("#urgenciaDetailTelematica").rup_combo("setRupValue", data.expediente.urgencia00);
								
								
							}, 300);
						}
					});	
					
				}				
				
				Ad74aUtils.hacerPlegable();
				$("#"+tableName+"_processing").hide();
				$('#dialogBandejaTelematica').rup_dialog('open');   

			},
			error: function (error) {
				$("#" + tableName + "_processing").hide();
				$('#dialogBandejaTelematica').rup_dialog('close');
				$("#rup_feedback_bandejaentradas").rup_feedback('set', error.responseJSON, "error");
			}
		};
		
		$.rup_ajax(ajaxData);

	}
	
	
	const cargarDocumentosTelematica = ( entrada, esSolicitud ) => {
		
		$("#documentosBanTel_filter_form #idEntrada15_filter_table_from").val(entrada.idEntrada14);		
		const documentos_table= $("#documentosbantel");
		
		try {
			$("#documentosbantel").DataTable().destroy();
		} catch (error) {}
			
		const tipificar_dialog = $("#tipificar_documentosTelematico_dialog");
		const tipificar_dialog_feedback = $("#rup_feedback_tipificar_documentos");			
		
		const getColumnsModel = function(){
			const getColumnModel = function(name, index, editable, hidden){
				return {
					name: name,
					index: index,
					editable: editable,
					hidden: hidden
				}
			};	
			const columnsModel = [];
			columnsModel.push(getColumnModel( "roleid15",  "roleid02", false, false));
			columnsModel.push(getColumnModel( "roleName",  "roleName", false, false));
			columnsModel.push(getColumnModel( "roleNameEs15",  "roleNameEs15", false, false));
			columnsModel.push(getColumnModel( "roleNameEu15",  "roleNameEu15", false, false));
			columnsModel.push(getColumnModel( "nombreDoc15",  "nombreDoc15", false, false));
			columnsModel.push(getColumnModel( "idEntrada15",  "idEntrada15", false, false));
			columnsModel.push(getColumnModel( "idDocBanTel15",  "idDocBanTel15", false, false));
			return columnsModel;
		};
		
		const getColumnsDefs = function(){
			const columnsDefs = [
			      { "targets": 1,
	    		    "render": function(data, type, rowData, settings){			           
	    		    	if(rowData.oiddokusi15){
	    		    		return "<a href='javascript:$.downloadDocument(\"telematica\",\"" + rowData.oiddokusi15 + "\",\""+rowData.nombreDoc15+ "\");'>" + data + "</a>";					   
	   	    		 	} 
	    		    }
			      }
			   ]
			return columnsDefs;
		};
		
		const getCustomButtons = function(){
		  let customButons = [];	
		  
		  const FN_TipificarDisplay = {};
		  FN_TipificarDisplay.test  = function(){
				const selectedRows  = $("#documentosbantel").rup_table("getSelectedRows");	
				console.log(selectedRows);
				if ( selectedRows.length == undefined && selectedRows.idTipodocReal15 != 22) {
					return true;
				}
				return false;
			};
			console.log("tipificar después");
		  const tipificarButton = {
				text: function () {
					return $.rup.i18n.app.botonera.tipificar;
				},				
				id: 'tipificarTel', // Campo obligatorio si se quiere usar desde el contextMenu
				className: 'btn-material-primary-high-emphasis table_toolbar_btnView',
				icon: "mdi-file-send",
				displayRegex: FN_TipificarDisplay,
				//custom:true,				
				insideContextMenu: true, 
				//type: 'view',
				action: function (e, dt) {
					tipificar_dialog.rup_dialog("open");
				}				
		  };	
		 
		  customButons.push(tipificarButton);

		  return customButons;
		};
		
		documentos_table.rup_table({
			colReorder: {
				fixedColumnsLeft: 0
			},
			colModel: getColumnsModel(),
			columnDefs:  getColumnsDefs(),
			drawCallback : function( settings ) {//PAra subscribirte a eventos despues de pintar// para cada tr
				Ad74aUtils.desBloquearInterfaz();
		    },
			primaryKey: "idDocBanTel15",
			noEdit: true,
			filter: {
	  	  		id: "documentosBanTel_filter_form",
	  	  		filterToolbar: "documentosBanTel_filter_toolbar",
	  	  		collapsableLayerId: "documentosBanTel_filter_fieldset",
	  	  		showHidden: true
	     	},
	     	select: {
	       		activate: true,
	       		multiSelect:false,
	       		deleteDoubleClick:true
	   		},
	   		createTooltipBody: false,
			buttons: {
				activate: true,
				blackListButtons: ['reportsButton','addButton', 'editButton', 'cloneButton', 'deleteButton'],
				myButtons: getCustomButtons()
			},
			dom: 't<"container-fluid paginationContainer"' +
			  '<"row mx-0"' +
			  '<"col-6 order-3 text-right align-self-center col-sm-5 order-sm-2 col-xl-2 order-xl-1 text-xl-left">' +
			  '<"d-none"p>' +
			  '<"col-12 text-center"i>' +
			  '>' +
			  '>' +
			  'r',
			columnOrderArrows: {
			    showOnlyActive: false,
			    display: 'inline'
			},
			order: [[1, "asc"]]
		}
		
		);			
		
		documentos_table.on('tableButtonsAfterToolbarInit', function (event, ctx) {//siempre el boton deshabilitado al inicio
			$('#tipificar').prop('disabled', true);
		});
		
		documentos_table.on("click",function(ctx) {
			
			if(documentos_table.rup_table("getSelectedIds").length==0){
				$("#tipificar").prop('disabled', true);
			}else{				
				$("#tipificar").prop('disabled', false);
			}
		});
		
		try {
			tipificar_dialog.rup_dialog("destroy");
		} catch (error) {}
		
		tipificar_dialog_feedback.rup_feedback (
			{
			  type: "ok",
			  block: false,
			}
		);	
		
		tipificar_dialog.rup_dialog( {
			type: $.rup.dialog.DIV,
			autoOpen: false,
			modal: true,
			closeOnEscape: true,
			resizable: true,
			//width:600,
			height:600,
			dialogClass: 'custom_mid_dialog',
			title: $.rup.i18n.app.botonera.tipificar,
			buttons : [ 
                {
                    text:$.rup.i18n.app.botonera.aceptar,
                    id:"tipificar_documentosEntrada_btn",
                    class: 'btn-material btn-material-primary-high-emphasis',
                    click:  () => {
                    	const documento = documentos_table.rup_table("getSelectedRows");
                    	documento["roleid15"] = $("#idTipoDoc_tipificar").rup_combo("getRupValue");
                    	$.rup_ajax({
    			            url: tipificar_dialog.attr("action"),
                    	    type:"POST",
    			            contentType: "application/json",
    			            data:$.toJSON(documento),             	
    			            success: function (data){    			            	
    			            	documentos_table.rup_table("reload")
    			            	tipificar_dialog.rup_dialog("close");
    			            	Ad74aUtils.desBloquearInterfaz();
    			            	$("#bandejatelematica_detail_feedback").rup_feedback('set', $.rup.i18n.app.feedback.titpificarDocuOK, "ok"); 
    			            },
    			            beforeSend: function(){
    			            	Ad74aUtils.cerrarFeedbacks();
    			            	Ad74aUtils.bloquearInterfaz();
    						},
    			            error:function(data){
    			            	Ad74aUtils.desBloquearInterfaz();
    					    	tipificar_dialog_feedback.rup_feedback('set', data.responseText, "error");
    					    	
    			            }
    			        });
                    	
 					}
                 },
				{
					text : $.rup.i18n.app.botonera.cancelar,
					click : () => {
						tipificar_dialog.rup_dialog("close");
					},
					btnType : $.rup.dialog.LINK
				}
			],
			open: function(){
				const documento = documentos_table.rup_table("getSelectedRows");  
				const idTipoProceso = $("#tipoProcesoDetailTelematico").rup_combo('getRupValue');
				const procedureID = entrada.procedureid14;
				const roleID = documento.roleid15;
				
				Ad74aUtils.configCombo($("#idTipoDoc_tipificar"), {
					source: $.rup.CTX_PATH + 'combo/getRolDocuments?procedureID='+procedureID+'&idTipoProceso='+idTipoProceso+'&roleID='+roleID,
					sourceParam: {value: "value", label:idioma == 'es' ? "descripcionEs" : "descripcionEu"},
					loadFromSelect:false,					
				});
	
			},
			close: function(){
				$("#idTipoDoc_tipificar").rup_combo("destroy");
				
			}		    
		});	
			
	}
	
	
	const recargarTabla = () => {
	
		//timer = initRefreshTimer(true);
		$("#bandejaentradas").rup_table("reload");
	}
	
	/***
	 * Procesar la entrada desde elpopup
	 */
	const procesarEntrada = ( tipo ) => {
		
		if( tipo == 'papel0'){
			let data = {};
			$("#observaciones12Detail").val($("#observacionesDetail").val());
			$("#numExpediente00Detail").val($("#numExpediente00Buscar").val());
			data.bandejaPapel0 = window.form2object($('#bandejapapel0_dialog_form')[0]);			
			data = JSON.stringify(data);
			
			const url = '../bandejapapel0/process';
			
	    	$.rup_ajax({
	    		'url': url,
				'type': 'POST',
				'data': data,
				'contentType': 'application/json',
				'dataType': 'json',         	
	            success: function (res){  
	            	$('#dialogBandejaPapel0').rup_dialog('close'); 
	            	//$("#bandejaentradas").rup_table("reload");
	            	recargarTabla();
	            	Ad74aUtils.desBloquearInterfaz();
	            	$("#rup_feedback_bandejapapel0").rup_feedback('set', $.rup.i18n.app.feedback.operacionOK, "ok");
	            	console.log("###res");
	            	console.log(res);
	            	if ( TIPOS_SOLICITUD.includes(res.tipoProceso12)) {						
						window.open('../bandejapapel0/solicitud/' + res.expediente.idExpediente00 + '?idEntrada='+ res.idEntrada12, "sol_"+res.expediente.idExpediente00);
					}else {
						const urlExpediente = '../expedientes/detail/' + res.expediente.idExpediente00;
						window.open(urlExpediente, "sol_"+res.expediente.idExpediente00);
					}
	            	
	            },
	            beforeSend: function(){
	            	Ad74aUtils.cerrarFeedbacks();
	            	Ad74aUtils.bloquearInterfaz();
				},
	            error:function(error){
	            	Ad74aUtils.desBloquearInterfaz();
	            	//console.log(error.responseJSON);
	            	//$("#bandejapapel0_detail_feedback").rup_feedback('set', error.responseText, "error");
	            	$("#bandejapapel0_detail_feedback").rup_feedback('set',error.responseJSON,"error");
	            }
	        });
		}else {			
			let data = {};
			data.bandejaTelematica = window.form2object($('#bandejatelematica_dialog_form')[0]);		
			const idExpediente = data.bandejaTelematica.expediente.idExpediente00;
			//console.log(idExpediente);
			data = JSON.stringify(data);
			
			const url = '../bandejatelematica/process';
			
			$.rup_ajax({
				'url': url,
				'type': 'POST',
				'data': data,
				'contentType': 'application/json',
				'dataType': 'json',         	
				success: function (res){    			            	
					$('#dialogBandejaTelematica').rup_dialog('close'); 
					//$("#bandejaentradas").rup_table("reload");
					recargarTabla();
					Ad74aUtils.desBloquearInterfaz();
					$("#rup_feedback_bandejatelematica").rup_feedback('set', $.rup.i18n.app.feedback.operacionOK, "ok");
					const urlExpediente = '../expedientes/detail/' + idExpediente;
					window.open(urlExpediente, "exp_"+res.expediente.idExpediente00);
					
				},
				beforeSend: function(){
					Ad74aUtils.cerrarFeedbacks();
					Ad74aUtils.bloquearInterfaz();
				},
				error:function(error){
					Ad74aUtils.desBloquearInterfaz();
					//$('#dialogBandejaTelematica').rup_dialog('close'); 
					//$("#rup_feedback_bandejatelematica").rup_feedback('set', data.responseText, "error");
					$("#bandejatelematica_detail_feedback").rup_feedback('set',error.responseJSON,"error");
				}
			});
		}
		
		
	}
	
	const rechazarEntrada = () => {
		
		let data = {};
		data.bandejaPapel0 = window.form2object($('#bandejapapel0_dialog_form')[0]);		
		data = JSON.stringify(data);
		
		const url = '../bandejapapel0/rechazar';
		
    	$.rup_ajax({
    		'url': url,
			'type': 'POST',
			'data': data,
			'contentType': 'application/json',
			'dataType': 'json',         	
            success: function (res){  
            	$('#dialogBandejaPapel0').rup_dialog('close'); 
            	//$("#bandejaentradas").rup_table("reload");
            	recargarTabla();
            	Ad74aUtils.desBloquearInterfaz();
            	$("#rup_feedback_bandejaentradas").rup_feedback('set', $.rup.i18n.app.feedback.rechazadaOK, "ok");            	
            },
            beforeSend: function(){
            	Ad74aUtils.cerrarFeedbacks();
            	Ad74aUtils.bloquearInterfaz();
			},
            error:function(error){
            	Ad74aUtils.desBloquearInterfaz();
            	$("#rup_feedback_bandejaentradas").rup_feedback('set', error.responseText, "error");		    	
            }
        });
	}
	
	const guardarEntrada = () => {
		
		let data = {};
		$("#observaciones12Detail").val($("#observacionesDetail").val());
		data.bandejaPapel0 = window.form2object($('#bandejapapel0_dialog_form')[0]);		
		data = JSON.stringify(data);
		
		const url = '../bandejapapel0/guardar';
		
    	$.rup_ajax({
    		'url': url,
			'type': 'POST',
			'data': data,
			'contentType': 'application/json',
			'dataType': 'json',         	
            success: function (res){  
            	$('#dialogBandejaPapel0').rup_dialog('close'); 
            	//$("#bandejaentradas").rup_table("reload");
            	recargarTabla();
            	Ad74aUtils.desBloquearInterfaz();
            	$("#rup_feedback_bandejaentradas").rup_feedback('set', $.rup.i18n.app.feedback.modificadoOK, "ok");            	
            },
            beforeSend: function(){
            	Ad74aUtils.cerrarFeedbacks();
            	Ad74aUtils.bloquearInterfaz();
			},
            error:function(error){
            	Ad74aUtils.desBloquearInterfaz();
            	$("#rup_feedback_bandejaentradas").rup_feedback('set', error.responseText, "error");		    	
            }
        });
		
		
	}
	
	
	$.downloadDocument = function(bandeja, oid, nombreDoc){
		let url = $.rup.CTX_PATH;
		if(bandeja == 'papel0'){
			url = $.rup.CTX_PATH + 'bandejapapel0/openOrDownloadDocument/'+oid+'?nombreDoc='+nombreDoc;
		}else{
			url = $.rup.CTX_PATH + 'bandejatelematica/openOrDownloadDocument/'+oid+'?nombreDoc='+nombreDoc;
		}
		if (oid != null && oid != ''){
			window.open($.rup_utils.setNoPortalParam(encodeURI(url)));	
		}
	}
	
	
	
	$('#urgenciaNo_filter_table').on("change",()=>{
		comboUrgencia();
	});
	
	$('#urgenciaSi_filter_table').on("change",()=>{
		comboUrgencia();
	});
	
	$('#urgenciaTodos_filter_table').on("change",()=>{
		comboUrgencia();
	});
	
	let comboUrgencia = () =>{
		if($('#urgenciaSi_filter_table').prop("checked")){
			$('#urgencia_filter_table').rup_combo("enable");
		}
		else{
			$('#urgencia_filter_table').val("");
			$('#urgencia_filter_table').rup_combo("refresh");
			$('#urgencia_filter_table').rup_combo("disable");

		}
		
	}
	
	
	
	
});