//@ sourceURL=protocolos.js
jQuery(function($){
	initRupI18nPromise.then(function() {
		prepareData();		
		
		$("#protocolos_filter_form").rup_validate({
		    liveCheckingErrors: false,
		    showFieldErrorAsDefault: true,
		    showErrorsInFeedback: true,
		    showFieldErrorsInFeedback: true,
		    rules:{
		    	"fEntradaDesde":{date:true},
		    	"fEntradaHasta":{date:true},
		    	"fSalidaDesde":{date:true},
		    	"fSalidaHasta":{date:true},
		    }
		});
		
		$("#protocolos_filter_form [ruptype='date']").blur(function(elem) { 

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

		})
	});
	
	function prepareData(){
		
		$("#idTipoProtocolo26_filter_table").rup_combo({
			loadFromSelect:true,
			width: 'auto',
	        ordered: false,
			customClasses: ['select-material'],
			rowStriping: true,
			blank: '',
			selected:''
		});
		
		$.rup_date({
			//yearRange: 'c-100:c+0',
	        from: "fEntradaDesde_filter_table",
	        to: "fEntradaHasta_filter_table",
	        mask: 'dd/mm/yyyy',
			showButtonPanel : true,
			showOtherMonths : true,
			noWeekend : true
	     });
		const fecha = new Date();
		const anoActual = fecha.getFullYear();
		$("#fEntradaDesde_filter_table").rup_date("setRupValue", "01/01/"+anoActual);
		$.rup_date({
			//yearRange: 'c-100:c+0',
	        from: "fSalidaDesde_filter_table",
	        to: "fSalidaHasta_filter_table",
	        mask: 'dd/mm/yyyy',
			showButtonPanel : true,
			showOtherMonths : true,
			noWeekend : true
	     });
		/*DOMICILIOS*/
		if($("#idprovincia06_avisos_dialog_table").length == 1){			
			$("#idprovincia06_avisos_dialog_table").rup_combo({
				source:  $.rup.CTX_PATH + 'nora/provincias',
				sourceParam: {label: "descProvincia", value:"codProvincia"},
				rowStriping: true,
				width: 'auto',
				blank: '',
				customClasses: ['select-material'],
				change: function(){
					
				},
				selected: (function(){ try { return solicitantes.direcciones.idProvincia06} catch { return null}})()
			});
			
			
		}
	
	
		if($("#idmunicipio06_avisos_dialog_table").length == 1){
			//MUNICIPIO
			$("#idmunicipio06_avisos_dialog_table").rup_combo({
				parent: ["idprovincia06_avisos_dialog_table"],			
				source: $.rup.CTX_PATH + 'nora/municipioEnlazado',
				sourceParam: {label: "descripcion", value:"codMunicipio"},
				rowStriping: true,
				width: 'auto',
				blank: '',
				customClasses: ['select-material'],
				change: function(){
					
				},
				selected: (function(){ try { return solicitantes.direcciones.idMunicipio06} catch { return null}})()
			});
		}
		
		let tableColModels = [	
				{ 	name: "solicitante.identificador01",
					index: "solicitante.identificador01",
					editable: true, 
					hidden: false
				},			
				{ 	name: "solicitante.nombre01",
					index: "solicitante.nombre01",
					editable: true, 
					hidden: false
				},
	
				{ 	name: "idTipoProtocolo26",
					index: "idTipoProtocolo26",
					editable: true, 
					hidden: false
				},
				{ 	name: "fEntrada26",
					index: "fEntrada26",
					editable: true, 
					hidden: false
				},
				{ 	name: "fSalida26",
					index: "fSalida26",
					editable: true, 
					hidden: false
				},
				{ 	name: 'solicitante.direcciones.provinciaNORA.descProvincia',
					index: 'solicitante.direcciones.provinciaNORA.descProvincia',
					editable: true, 
					hidden: false
				},
				{ 	name: 'solicitante.direcciones.municipioNORA.descripcion',
					index: 'solicitante.direcciones.municipioNORA.descripcion',
					editable: true, 
					hidden: false
				},
				];
		let columnDefs = [ 
			{ 
				"targets": 2,
				"render": function(data, type, row, settings){	
					
					if( data == 1 ){
						return  $.rup.i18n.app.protocolos.segEjCognitivo;
					}else if( data == 2){
						return  $.rup.i18n.app.protocolos.suicicio;
					}else if( data == 3){
						return  $.rup.i18n.app.protocolos.maltrato;
					}
					return  "";
				}
			},
			{ 
				"targets": 1,
				"render": function(data, type, row, settings){	
					let nombreCompleto="";
					if(row.solicitante.nombre01!=null){
						nombreCompleto+=row.solicitante.nombre01;
					}
					if(row.solicitante.apellido101!=null){
						nombreCompleto+=" "+row.solicitante.apellido101;
					}
					if(row.solicitante.apellido201!=null){
						nombreCompleto+=" "+row.solicitante.apellido201;
					}
					
					return nombreCompleto;
			}
			}
		];
	
		$("#protocolos").rup_table({
			colReorder: {
			 fixedColumnsLeft: 1
			}
			,colModel: tableColModels
			,columnDefs : columnDefs
			,primaryKey: "idProtocolo26"
			,filter:{
	  	  		id:"protocolos_filter_form",
	  	  		filterToolbar:"protocolos_filter_toolbar",
	  	  		collapsableLayerId:"protocolos_filter_fieldset",
	  	  		showHidden: true
	     	}
			,noEdit : true
	   		,select: {
	       		activate: true
	   		}
			,seeker: {
				activate: true
			}
			,buttons: {
				activate: true,
				contextMenu: false,
				blackListButtons: ['addButton', 'editButton', 'cloneButton', 'copyButton','deleteButton','pdfButton', 'odsButton', 'csvButton'],
			}
			,columnOrderArrows: {
			    showOnlyActive: false,
			    display: 'inline'
			}
			,order: [[0, "asc"]]
		});
	}
});