 
jQuery(function($){
	initRupI18nPromise.then(function() {
		prepareData();	
		jQuery.validator.addMethod("acotarFilter", function(value, element,a) {
			let fechaDesdeStr = $("#fAlarma24Desde_filter_table").rup_date("getDate");
			let fechaHastaStr =  $("#fAlarma24Hasta_filter_table").rup_date("getDate");
			let fechaDesde;
			let fechaHasta;
			if(locale=='Eu'){
				fechaDesde = new Date(fechaDesdeStr.split('/')[0], eval(fechaDesdeStr.split('/')[1]) - 1, fechaDesdeStr.split('/')[2]);
				
				fechaHasta = $("#fAlarma24Hasta_filter_table").val()!='' ? new Date(fechaHastaStr.split('/')[0], eval(fechaHastaStr.split('/')[1]) - 1, fechaHastaStr.split('/')[2]): new Date(); 
				 
			}else{
				fechaDesde = new Date(fechaDesdeStr.split('/')[2], eval(fechaDesdeStr.split('/')[1]) - 1, fechaDesdeStr.split('/')[0]);
				
				
				fechaHasta = $("#fAlarma24Hasta_filter_table").val()!='' ? new Date(fechaHastaStr.split('/')[2], eval(fechaHastaStr.split('/')[1]) - 1, fechaHastaStr.split('/')[0]): new Date();	
			}
			
			
			
			if(fechaHasta.getTime()-fechaDesde.getTime()>=31536000000){
							return false;
					}
				return true;
			
				
										
		 },$.rup.i18n.app.alarma.acotarFiltro);
		
		
		
		
		
		
		
		$("#alarmas_filter_form").rup_validate({
		    liveCheckingErrors: false,
		    showFieldErrorAsDefault: true,
		    showErrorsInFeedback: true,
		    showFieldErrorsInFeedback: true,
		    rules:{
		    	"fAlarma24Desde":{date:true,required:true,acotarFilter:true},
		    	"fAlarma24Hasta":{date:true,acotarFilter:true},
		    }
		});
		
		$("#alarmas_filter_form [ruptype='date']").blur(function(elem) { 

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

		})
		
		
	});
	

	
	function prepareData(){
	
		$("#sentido29_filter_table").rup_combo({
			loadFromSelect:true,
			width: 'auto',
	        ordered: false,
			customClasses: ['select-material'],
			rowStriping: true,
			blank: '',
			selected: ''
		});
		
		$("#idTipoAlarma48_filter_table").rup_combo({
			loadFromSelect:true,
			width: 'auto',
	        ordered: false,
			customClasses: ['select-material'],
			rowStriping: true,
			blank: '',
			selected: '',
			
			change:function(){
				if($("#idTipoAlarma48_filter_table").val()!=TIPOALARMA_LLAMADA){
					$("#idTipoLlamada55_filter_table").rup_combo("disable");
					$("#idTipoLlamada55_filter_table").rup_combo("clear");
				}else{
					$("#idTipoLlamada55_filter_table").rup_combo("enable");
				}
			
			}
		});
		$("#idTipoLlamada55_filter_table").rup_combo({
			loadFromSelect:true,
			width: 'auto',
	        ordered: false,
			customClasses: ['select-material'],
			rowStriping: true,
			blank: '',
			selected: '',
			onLoadSuccess:function(){
				if($("#idTipoAlarma48_filter_table").val()!=TIPOALARMA_LLAMADA){
					$("#idTipoLlamada55_filter_table").rup_combo("disable");
					$("#idTipoLlamada55_filter_table").rup_combo("clear");
				}else{
					$("#idTipoLlamada55_filter_table").rup_combo("enable");
				}
			}
		});
		$("#idSubtipoLlamada56_filter_table").rup_combo({
			parent:['idTipoLlamada55_filter_table'],
			source: $.rup.CTX_PATH + 'maestrosubtpollamada/subtipoLlamada',
			sourceParam: {label: "desc", value:"idSubtipoLlamada56"},
			loadFromSelect:false,
			width: 'auto',
	        ordered: false,
			customClasses: ['select-material'],
			rowStriping: true,
			blank: '',
			selected: ''
		});
		
		
		$("#idTipoResol24_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: "fAlarma24Desde_filter_table",
	        to: "fAlarma24Hasta_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}})()
			});
		}
		const fecha = new Date();
		const anoActual = fecha.getFullYear();
		const mesActual = fecha.getMonth()+1;
		$("#fAlarma24Desde_filter_table").rup_date("setRupValue", mesActual+"/01/"+anoActual);
			
		
		let tableColModels = [	
			
				{ 	name: "solicitante.identificador01",
					index: "solicitante.identificador01",
					editable: true, 
					hidden: false
				},			
				{ 	name: "solicitante.nombre01",
					index: "solicitante.nombre01",
					editable: true, 
					hidden: false
				},
				
				{ 	name: "maestroTipoAlarma.desc",
					index: "maestroTipoAlarma.desc",
					editable: true, 
					hidden: false
				},
				{ 	name: "llamadas.maestroTipoLlamada.desc",
					index: "llamadas.maestroTipoLlamada.desc",
					editable: true, 
					hidden: false
				},
				{ 	name: "llamadas.maestroSubtpoLlamada.desc",
					index: "llamadas.maestroSubtpoLlamada.desc",
					editable: true, 
					hidden: false
				},
				{ 	name: "fAlarma24",
					index: "fAlarma24",
					editable: true, 
					hidden: false
				},
				{ 	name: "llamadas.descSentido",
					index: "llamadas.descSentido",
					editable: true, 
					hidden: false
				},
				{ 	name: "idTipoResol24",
					index: "idTipoResol24",
					editable: true, 
					hidden: false
				},
				{ 	name: "llamadas.idLlamadaPs29",
					index: "llamadas.idLlamadaPs29",
					editable: true, 
					hidden: false
				},
				{ 	name: "llamadas.respuesta29",
					index: "llamadas.respuesta29",
					editable: true, 
					hidden: false
				},
				{ 	name: "llamadas.tiempoRespuesta29",
					index: "llamadas.tiempoRespuesta29",
					editable: true, 
					hidden: false
				},
				{ 	name: "llamadas.duracion29",
					index: "llamadas.duracion29",
					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": 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;
			}
			},
			{ 
				"targets": 3,
				"render": function(data, type, row, settings){	
					if(row.maestroTipoAlarma != null && row.maestroTipoAlarma.idTipoAlarma48 != TIPOALARMA_LLAMADA){
						return '';
					}
					return  row.llamadas.maestroTipoLlamada.desc;
				}
			},
			{ 
				"targets": 4,
				"render": function(data, type, row, settings){	
					if(row.maestroTipoAlarma != null && row.maestroTipoAlarma.idTipoAlarma48 != TIPOALARMA_LLAMADA){
						return '';
					}
					return  row.llamadas.maestroSubtpoLlamada.desc;
				}
			}
//			{ 
//				"targets": 6,
//				"render": function(data, type, row, settings){	
//					if (data==0 ){
//						return $.rup.i18n.app.alarma.sentidoEmitida ;
//					}
//					return $.rup.i18n.app.alarma.sentidoRecibida ;
//				}
//			}
			,{ 
				"targets": 7,
				"render": function(data, type, row, settings){	
					if (row.idTipoResol24==1 ){
						return $.rup.i18n.app.alarma.tipoResolucionResueltasDesdeCA ;
					}else if(row.idTipoResol24==2){
						return $.rup.i18n.app.alarma.tipoResolucionIntervencionDomiciliaria ;
					}else if(row.idTipoResol24==3){
						return $.rup.i18n.app.alarma.tipoResolucionEntornoSociofamiliar;
					}else if(row.idTipoResol24==4){
						return $.rup.i18n.app.alarma.tipoResolucionServiciosDeEmergencia;
					}
					
					return "";
				}
			},
			{ 
				"targets": 9,
				"render": function(data, type, row, settings){	
					if( data == 1 ){
						return  `<input type="checkbox" checked="checked" disabled/>`;
					}
					return  `<input type="checkbox" disabled/>`;
				}
			},
			{ 
				"targets": [10, 11],
				"render": function(data, type, row, settings){	
					console.log(data);
					let horas = Math.floor(data / 60);
					let minutos = data - (horas * 60);
				    return `${horas}:${String(minutos).padStart(2, '0')}`;
				}
			}
		];
		$("#alarmas").rup_table({
			colReorder: {
			 fixedColumnsLeft: 1
			}
			,colModel: tableColModels
			,columnDefs : columnDefs
			,primaryKey: "idAlarma24"
			,filter:{
	  	  		id:"alarmas_filter_form",
	  	  		filterToolbar:"alarmas_filter_toolbar",
	  	  		collapsableLayerId:"alarmas_filter_fieldset",
	  	  		showHidden: true
	     	}
	     	,loadOnStartUp: false
			,noEdit : true
       		,select: {
           		activate: true
       		}
    		,seeker: {
    			activate: false
			}
    		,buttons: {
				activate: true,
				contextMenu: false,
				blackListButtons: ['addButton', 'editButton', 'cloneButton', 'copyButton','deleteButton','pdfButton', 'odsButton', 'csvButton'],
			},
			columnOrderArrows: {
			    showOnlyActive: false,
			    display: 'inline'
			}
			,order: [[0, "asc"]],
			/*"initComplete": function(settings, json) {
				console.log("initComplete");
				//$("#alarmasexcelButton_1").unbind('click');
				$("#alarmasexcelButton_1").bind('click', () => {
					const table = $('#alarmas').DataTable();
					if(table.page.info().recordsTotal > 10000){
						alert("custom excel call");						
					}else{
						alert("normal excel call")
					}
				});
			}*/
		});
	}
	
	
});