var documentosSeleccionadosExpRel = [];
var folderNumberExpRel;

jQuery(document).ready(function(){
	
	obtenerEnviadosExpRel()
	
	//Modal resumen
	$("#documentosDescargarModal").rup_dialog({
		autoOpen: false,
		width: 700,
		modal: true,
		position: { my: "center center" },
		type: $.rup.dialog.DIV
	});
	
	//Modal documentos expedientes relacionados
	$("#documentosExpRelModal").rup_dialog({
		autoOpen: false,
		width: 1000,
		modal: true,
		position: { my: "center center" },
		type: $.rup.dialog.DIV
	});
	
	var idInspeccion = $("#idInspeccion").val();
	
	$("#dialogs").rup_dialog("setOption", "title", $.rup.i18n.app.tablet.documentacionInspeccion);
	$("#documentacionInspeccionIdInspeccion_filter_table").val(idInspeccion);
	
	$("#documentacionInspeccion").rup_datatable({
		
		primaryKey: "idDocumentoSubido",
		loadOnStartUp: true,
		pagingType: "full_numbers",
		dom: 't',
		pageLength : 5,
		lengthMenu: [5, 10, 25, 50],
		filter:{
			id:"documentacionInspeccion_filter_form",
			filterToolbar:"documentacionInspeccion_filter_toolbar",
			collapsableLayerId:"documentacionInspeccion_filter_fieldset"
	 	},
		colReorder: {
			fixedColumnsLeft: 1
		},
		autoWidth: false,
		columnDefs: [
			{
	            orderable: false,
	            targets:   [0],
	            width: "4.5em",
	            render: function(data, type, row) {
				   return "<input type='checkbox' class='documentacionInspeccionCheckbox' style='margin-left:8px'/>";			  
 			    }
        	},
		    {
		       targets: [5,6,7,8],
		       visible: false
		    },
		    {
			    targets: [4],
			    className: 'text-center'
		    }		   	
		],
		initComplete: function(){
			
			var tablaDocumentacionInspeccion = $("#documentacionInspeccion").DataTable();
			
			if ("eu" === $.rup_utils.get("language")){
				tablaDocumentacionInspeccion.columns( [2] ).visible( false );
			} else if("es" === $.rup_utils.get("language")) {
				tablaDocumentacionInspeccion.columns( [3] ).visible( false );
			}
			
			var documentacionInspeccionEnviados = obtenerEnviados(ORIGEN_FICHA_INSPECCION);
    		
			tablaDocumentacionInspeccion.rows().every(function(){
    			if ((documentacionInspeccionEnviados).indexOf(this.data().oidDocumento) !== -1){
    				$(this.node()).addClass('selected');
    				$(this.node()).find('input').prop('checked',true);
    			}else{
    				$(this.node()).removeClass('selected');
    				$(this.node()).find('input').prop('checked',false);
    			}
    		});
			
			desbloquearInterfaz();
		}
	});
	
	var tablaDocumentacionInspeccion = $('#documentacionInspeccion').DataTable();
	
	//Fila seleccionado
	$('#documentacionInspeccion tbody').on( 'click', 'tr', function () {
		
		if($(this).hasClass('selected')){
			$(this).removeClass('selected');
			$(this).find('input').prop('checked',false);
		}else{
			$(this).addClass('selected');
			$(this).find('input').prop('checked',true);
		}
    });
	
	$(document).on('click', '.documentacionInspeccionCheckbox', function () {
		if($(this).prop('checked')){	
			$(this).parent().parent().addClass('selected');
			$(this).prop('checked',true);
		}else{
			$(this).parent().parent().removeClass('selected');
			$(this).prop('checked',false);
		}
	});
	
	$("#seleccionaDesTodosDocumentacionInspeccion").click(function() {
		if( $('#seleccionaDesTodosDocumentacionInspeccion').prop('checked') ) {
			tablaDocumentacionInspeccion.$('tr').addClass('selected');
			$('.documentacionInspeccionCheckbox').prop('checked',true);
			
		}else{
			tablaDocumentacionInspeccion.$('tr.selected').removeClass('tr-highlight');
			tablaDocumentacionInspeccion.$('tr.selected').removeClass('selected');
			$('.documentacionInspeccionCheckbox').prop('checked',false);
		}
	});
	
	if($("#idOrigenInspeccion").val() == ORIGEN_CENSO && $("#identifiEstableciExp").val() !== ""){
		
		$("#documentacionActividadIdentEstablecimiento_filter_table").val($("#identifiEstableciExp").val());
		
		$("#documentacionActividad").rup_datatable({
			
			primaryKey: "idDocumento",
			loadOnStartUp: true,
			pagingType: "full_numbers",
			dom: 't',
			pageLength : 5,
			lengthMenu: [5, 10, 25, 50],
			filter:{
				id:"documentacionActividad_filter_form",
				filterToolbar:"documentacionActividad_filter_toolbar",
				collapsableLayerId:"documentacionActividad_filter_fieldset"
		 	},
			colReorder: {
				fixedColumnsLeft: 1
			},
			autoWidth: false,
			columnDefs: [
				{
		            orderable: false,
		            targets:   [0],
		            width: "4.5em",
		            render: function(data, type, row) {
					   return "<input type='checkbox' class='documentacionActividadCheckbox' style='margin-left:8px'/>";			  
	 			    }
	        	},
			    {
			       targets: [5,6,7],
			       visible: false
			    },
			    {
				    targets: [4],
				    className: 'text-center'
			    }		   	
			],
			initComplete: function(){
				
				var tablaDocumentacionActividad = $("#documentacionActividad").DataTable();
				
				if ("eu" === $.rup_utils.get("language")){
					tablaDocumentacionActividad.columns( [2] ).visible( false );
				} else if("es" === $.rup_utils.get("language")) {
					tablaDocumentacionActividad.columns( [3] ).visible( false );
				}
				
				var documentacionActividadEnviados = obtenerEnviados(ORIGEN_ACTIVIDAD);
	    		
				tablaDocumentacionActividad.rows().every(function(){
	    			if ((documentacionActividadEnviados).indexOf(this.data().oid) !== -1){
	    				$(this.node()).addClass('selected');
	    			}else{
	    				$(this.node()).removeClass('selected');
	    			}
	    		});
				
				desbloquearInterfaz();
			}
		});
		
		var tablaDocumentacionActividad = $('#documentacionActividad').DataTable();
		
		//Fila seleccionado
		$('#documentacionActividad tbody').on( 'click', 'tr', function () {
			
			if($(this).hasClass('selected')){
				$(this).removeClass('selected');
				$(this).find('input').prop('checked',false);
			}else{
				$(this).addClass('selected');
				$(this).find('input').prop('checked',true);
			}
	    });
		
		$(document).on('click', '.documentacionActividadCheckbox', function () {
			if($(this).prop('checked')){	
				$(this).parent().parent().addClass('selected');
				$(this).prop('checked',true);
			}else{
				$(this).parent().parent().removeClass('selected');
				$(this).prop('checked',false);
			}
		});
		
		$("#seleccionaDesTodosDocumentacionActividad").click(function() {
			if( $('#seleccionaDesTodosDocumentacionActividad').prop('checked') ) {
				tablaDocumentacionActividad.$('tr').addClass('selected');
				$('.documentacionActividadCheckbox').prop('checked',true);
				
			}else{
				tablaDocumentacionActividad.$('tr.selected').removeClass('tr-highlight');
				tablaDocumentacionActividad.$('tr.selected').removeClass('selected');
				$('.documentacionActividadCheckbox').prop('checked',false);
			}
		});	
		
		
	} else {
		$("#documentacionActividadHeader").css("display", "none");
		$("#documentacionActividad").css("display", "none");
	}
	
	if($("#inspeccionSinExpediente").val() === "true"){
		$("#documentacionExpRelHeader").css("display", "none");
		$("#documentacionExpRel").css("display", "none");
		$("#documentacionExpedienteHeader").css("display", "none");
		$("#documentacionExpediente").css("display", "none");
	}else{
		

		$("#documentacionExpedienteIdExpediente_filter_table").val($("#idExpediente").val());
		
		$("#documentacionExpediente").rup_datatable({
			
			primaryKey: "oidDokusi",
			loadOnStartUp: true,
			pagingType: "full_numbers",
			dom: 't',
			pageLength : 5,
			lengthMenu: [5, 10, 25, 50],
			filter:{
				id:"documentacionExpediente_filter_form",
				filterToolbar:"documentacionExpediente_filter_toolbar",
				collapsableLayerId:"documentacionExpediente_filter_fieldset"
		 	},
			colReorder: {
				fixedColumnsLeft: 1
			},
			autoWidth: false,
			columnDefs: [
				{
		            orderable: false,
		            targets:   [0],
		            width: "4.5em",
		            render: function(data, type, row) {
					   return "<input type='checkbox' class='documentacionExpedienteCheckbox' style='margin-left:8px'/>";			  
	 			    }
	        	},
			    {
			       targets: [5,6],
			       visible: false
			    },
			    {
				    targets: [4],
				    className: 'text-center'
			    }		   	
			],
			initComplete: function(){
				
				var tablaDocumentacionExpediente = $("#documentacionExpediente").DataTable();
				var documentacionExpedienteEnviados = obtenerEnviados(ORIGEN_EXPEDIENTE);
	    		
				tablaDocumentacionExpediente.rows().every(function(){
	    			if ((documentacionExpedienteEnviados).indexOf(this.data().oidDokusi) !== -1){
	    				$(this.node()).addClass('selected');
	    				$(this.node()).find('input').prop('checked',true);
	    			}else{
	    				$(this.node()).removeClass('selected');
	    				$(this.node()).find('input').prop('checked',false);
	    			}
	    		});
				
				desbloquearInterfaz();
			}
		});	
		
		var tablaDocumentacionExpediente = $('#documentacionExpediente').DataTable();
		
		//Fila seleccionado
		$('#documentacionExpediente tbody').on( 'click', 'tr', function () {
			
			if($(this).hasClass('selected')){
				$(this).removeClass('selected');
				$(this).find('input').prop('checked',false);
			}else{
				$(this).addClass('selected');
				$(this).find('input').prop('checked',true);
			}
	    });
		
		$(document).on('click', '.documentacionExpedienteCheckbox', function () {
			if($(this).prop('checked')){	
				$(this).parent().parent().addClass('selected');
				$(this).prop('checked',true);
			}else{
				$(this).parent().parent().removeClass('selected');
				$(this).prop('checked',false);
			}
		});
		
		$("#seleccionaDesTodosDocumentacionExpediente").click(function() {
			if( $('#seleccionaDesTodosDocumentacionExpediente').prop('checked') ) {
				tablaDocumentacionExpediente.$('tr').addClass('selected');
				$('.documentacionExpedienteCheckbox').prop('checked',true);
				
			}else{
				tablaDocumentacionExpediente.$('tr.selected').removeClass('tr-highlight');
				tablaDocumentacionExpediente.$('tr.selected').removeClass('selected');
				$('.documentacionExpedienteCheckbox').prop('checked',false);
			}
		});
	
		$("#documentacionExpRelIdentEst_filter_table").val($("#identifiEstableciExp").val());
		$("#documentacionExpRelIdExpediente_filter_table").val($("#idExpediente").val());
		$("#documentacionExpRelIdExpedienteOrigen_filter_table").val($("#idExpedienteOrigen").val());
		$("#documentacionExpRelRelacion_filter_table").val($("#relacionExpediente").val());
		$("#documentacionExpRelOrigen_filter_table").val($("#idOrigenInspeccion").val());
		
		
		$("#documentacionExpRel").rup_datatable({
			
			primaryKey: "idExpediente",
			loadOnStartUp: true,
			pagingType: "full_numbers",
			dom: 't',
			pageLength : 5,
			lengthMenu: [5, 10, 25, 50],
			filter:{
				id:"documentacionExpRel_filter_form",
				filterToolbar:"documentacionExpRel_filter_toolbar",
				collapsableLayerId:"documentacionExpRel_filter_fieldset"
		 	},
			colReorder: {
				fixedColumnsLeft: 1
			},
			columnDefs: [
			    {
			       targets: [1],
			       visible: false
			    }		   	
			],
			initComplete: function(){
				
				var tabladocumentacionExpRel = $("#documentacionExpRel").DataTable();
				
				if ("eu" === $.rup_utils.get("language")){
					tabladocumentacionExpRel.columns( [2] ).visible( false );
				} else if("es" === $.rup_utils.get("language")) {
					tabladocumentacionExpRel.columns( [3] ).visible( false );
				}
				
				desbloquearInterfaz();
			}
		});	
	}
	
	//Doble click en un expediente
	$('#documentacionExpRel tbody').on('dblclick', 'tr', function () {
		var datosRow = $("#documentacionExpRel").DataTable().rows(this).data().toArray();
		var tituloModal = $.rup.i18n.app.tablet.numeroExpRel;
		tituloModal = tituloModal.replace("{0}", datosRow[0].folderNumber);
		$("#documentosExpRelModal").rup_dialog("setOption", "title", tituloModal);
		$("#documentosExpRelModal").rup_dialog("open");
		folderNumberExpRel = datosRow[0].folderNumber;
		
		$("#documentosExpRelIdExpediente_filter_table").val(datosRow[0].idExpediente);
		
		if(!$.fn.DataTable.isDataTable('#documentosExpRel')){
			$("#documentosExpRel").rup_datatable({
				primaryKey: "oidDokusi",
				loadOnStartUp: true,
				pagingType: "full_numbers",
				dom: 't',
				pageLength : 5,
				lengthMenu: [5, 10, 25, 50],
				filter:{
					id:"documentosExpRel_filter_form",
					filterToolbar:"documentosExpRel_filter_toolbar",
					collapsableLayerId:"documentosExpRel_filter_fieldset"
			 	},
				colReorder: {
					fixedColumnsLeft: 1
				},
				columnDefs: [
					{
			            orderable: false,
			            targets:   [0],
			            render: function(data, type, row) {
						   return "<input type='checkbox' class='documentosExpRelCheckbox' style='margin-left:8px'/>";			  
		 			    }
		        	},
				    {
				       targets: [5,6],
				       visible: false
				    },
				    {
					    targets: [4],
					    className: 'text-center'
				    }		   	
				],
				initComplete: function(){
					
					desbloquearInterfaz();
				},
				drawCallback: function() {
					var tablaDocumentosExpediente = $("#documentosExpRel").DataTable();
					var documentosExpedienteEnviados = obtenerEnviados(ORIGEN_EXP_RELACIONADO);
		    		
					tablaDocumentosExpediente.rows().every(function(){
		    			if ((documentosExpedienteEnviados).indexOf(this.data().oidDokusi) !== -1){
		    				$(this.node()).addClass('selected');
		    				$(this.node()).find('input').prop('checked',true);
		    			}else{
		    				$(this.node()).removeClass('selected');
		    				$(this.node()).find('input').prop('checked',false);
		    			}
		    		});
				}
			});
			
			var tablaDocumentosExpRel = $('#documentosExpRel').DataTable();
			
			//Fila seleccionado
			$('#documentosExpRel tbody').on( 'click', 'tr', function () {
				
				if($(this).hasClass('selected')){
					$(this).removeClass('selected');
					$(this).find('input').prop('checked',false);
				}else{
					$(this).addClass('selected');
					$(this).find('input').prop('checked',true);
				}
		    });
			
			$(document).on('click', '.documentosExpRelCheckbox', function () {
				if($(this).prop('checked')){	
					$(this).parent().parent().addClass('selected');
					$(this).prop('checked',true);
				}else{
					$(this).parent().parent().removeClass('selected');
					$(this).prop('checked',false);
				}
			});
			
			$("#seleccionaDesTodosDocumentosExpRel").click(function() {
				if( $('#seleccionaDesTodosDocumentosExpRel').prop('checked') ) {
					tablaDocumentosExpRel.$('tr').addClass('selected');
					$('.documentosExpRelCheckbox').prop('checked',true);
					
				}else{
					tablaDocumentosExpRel.$('tr.selected').removeClass('tr-highlight');
					tablaDocumentosExpRel.$('tr.selected').removeClass('selected');
					$('.documentosExpRelCheckbox').prop('checked',false);
				}
			});
		} else {
			$("#documentosExpRel").DataTable().ajax.reload();
		}
		
		$('#documentosExpRel tbody').on( 'click', 'td.select-checkbox', function () {
			var filaSeleccionadaExpRel = $("#documentosExpRel").DataTable().row(this).data();
			if ($(this).children().length > 0) {
				for (var i = 0; i < documentosSeleccionadosExpRel.length; i++) {
					if(documentosSeleccionadosExpRel[i].oidDokusi === filaSeleccionadaExpRel.oidDokusi){
						documentosSeleccionadosExpRel.splice(i ,1);
					}					
				}
		    }
		});
	});
	
	//Botón guardar modal documentos expedientes relacionados
	$("#documentosExpRelGuardar").click(function() {
		seleccionadosExpRel();
		$("#documentosExpRelModal").rup_dialog("close");
	});
	
	//Botón cancelar modal documentos expedientes relacionados
	$("#documentosExpRelCancelar").click(function() {
		$("#documentosExpRelModal").rup_dialog("close");
	});
	
	//Botón guardar modal tablet
	$("#tablet_save").click(function() {
		
		if ($("#documentosDescargarFeedback.rup-feedback").length > 0)
		{
			$("#documentosDescargarFeedback").rup_feedback("close");
		}
		
		var documentosSubidos = seleccionadosInspeccion();
		var documentacionExpediente = seleccionadosExpediente();
		var vReateDocumentos = seleccionadosActividad();
		
		var documentosTablet = {
			"documentosSubidos": documentosSubidos,
			"documentacionExpediente": documentacionExpediente,
			"vReateDocumentos": vReateDocumentos,
			"documentosExpRel": documentosSeleccionadosExpRel
		}
		
		$("#documentosDescargarModal").rup_dialog("setOption", "title", $.rup.i18n.app.tablet.resumen);
		$("#documentosDescargarModal").rup_dialog("open");
		
		$.ajax({
			async : false,
			url : CTX_PATH + "tablet/resumen/"+idInspeccion,
			type : "POST",
			dataType: "json",
			contentType : 'application/json',
			data: JSON.stringify(documentosTablet),
			success:function(data){
				$("#listaDocumentosResumen").empty();
				if(data != null && data.length > 0){
					var descripcionDocumentacion = "";
					for (var i = 0; i < data.length; i++) {
						var nombreDocumento = (data[i].nombreDocumento != null) ? data[i].nombreDocumento : '';
						var tituloDocumento = (data[i].tituloDocumento != null) ? data[i].tituloDocumento : '';
						var fechaAportado = (data[i].fechaAportado != null) ? data[i].fechaAportado : '';
						if(descripcionDocumentacion !== data[i].descripcionDocumentacion){
							$("#listaDocumentosResumen").append("<dt>" + data[i].descripcionDocumentacion + "</dt>");
						}
						descripcionDocumentacion = data[i].descripcionDocumentacion;
						$("#listaDocumentosResumen").append("<dd class='mb-3 ml-4'>- " + nombreDocumento + " - " + tituloDocumento + " (" + fechaAportado + ")" + "</dd>");
					}
				} else {
					$("#documentosDescargarFeedback").rup_feedback({gotoTop: false, block: false, closeLink: true});
					$("#documentosDescargarFeedback").rup_feedback("set", $.rup.i18n.app.tablet.sinDocumentosSeleccionados, "alert");
				}
				
			}, error: function() {
				$("#documentosDescargarFeedback").rup_feedback({gotoTop: true, block: false, closeLink: true});
				$("#documentosDescargarFeedback").rup_feedback("set", $.rup.i18n.app.tablet.guardarError, "error");
			}
		});
		
	});
	
	//Botón cancelar modal tablet
	$("#tablet_close").click(function() {
		$("#dialogs").rup_dialog("close");
	});
	
	//Botón guardar modal resumen
	$("#resumenTabletGuardar").click(function(){
		
		var documentosTablet = {
			"documentosSubidos": seleccionadosInspeccion(),
			"documentacionExpediente": seleccionadosExpediente(),
			"vReateDocumentos": seleccionadosActividad(),
			"documentosExpRel": documentosSeleccionadosExpRel
		}
		
		$.ajax({
			async : false,
			url : CTX_PATH + "tablet/guardar/"+idInspeccion,
			type : "POST",
			dataType: "json",
			contentType : 'application/json',
			data: JSON.stringify(documentosTablet),
			success:function(data){
				documentosSeleccionadosExpRel = [];
				sessionStorage.setItem("guardarTabletFeedback", true);
				location.reload();
			}, error: function() {
				documentosSeleccionadosExpRel = [];
				$("#documentosDescargarFeedback").rup_feedback({gotoTop: true, block: false, closeLink: true});
				$("#documentosDescargarFeedback").rup_feedback("set", $.rup.i18n.app.tablet.guardarError, "error");
			}
		});
	});
	
	//Botón cancelar modal resumen
	$("#resumenTabletCancelar").click(function() {
		$("#documentosDescargarModal").rup_dialog("close");
	});
	
});

function seleccionadosInspeccion(){
	var seleccionadosInspeccion = [];
	for (var i = 0; i < $('#documentacionInspeccion').DataTable().rows('.selected').data().toArray().length; i++) {
		seleccionadosInspeccion.push($('#documentacionInspeccion').DataTable().rows('.selected').data().toArray()[i]);
	}
	return seleccionadosInspeccion;
}

function seleccionadosExpediente(){
	var seleccionadosExpediente = [];
	for (var i = 0; i < $('#documentacionExpediente').DataTable().rows('.selected').data().toArray().length; i++) {
		$('#documentacionExpediente').DataTable().rows('.selected').data().toArray()[i].folderNumber = $("#folderNumber").val();
		seleccionadosExpediente.push($('#documentacionExpediente').DataTable().rows('.selected').data().toArray()[i]);
	}
	return seleccionadosExpediente;
}

function seleccionadosActividad(){
	var seleccionadosActividad = [];
	for (var i = 0; i < $('#documentacionActividad').DataTable().rows('.selected').data().toArray().length; i++) {
		seleccionadosActividad.push($('#documentacionActividad').DataTable().rows('.selected').data().toArray()[i]);
	}
	return seleccionadosActividad;
}

function seleccionadosExpRel(){
	for (var i = 0; i < $('#documentosExpRel').DataTable().rows('.selected').data().toArray().length; i++) {
		$('#documentosExpRel').DataTable().rows('.selected').data().toArray()[i].folderNumber = folderNumberExpRel;
		if(documentosSeleccionadosExpRel.oidDokusi != $('#documentosExpRel').DataTable().rows('.selected').data().toArray()[i].oidDokusi){
			documentosSeleccionadosExpRel.push($('#documentosExpRel').DataTable().rows('.selected').data().toArray()[i]);
		}		
	}
	return documentosSeleccionadosExpRel;
}

function obtenerEnviados(origenDocumentacion){
	var docSeleccionados = "";
	$.ajax({
		async:false,
		url: CTX_PATH + "tablet/obtenerEnviados/"+idInspeccion+"/"+origenDocumentacion,
		success:function(response){
			docSeleccionados = response;				
		}
	});
	return docSeleccionados;
}

function obtenerEnviadosExpRel(){
	$.ajax({
		async:false,
		url: CTX_PATH + "tablet/obtenerEnviadosExpRel/"+idInspeccion,
		success:function(response){
			documentosSeleccionadosExpRel = JSON.parse(response);				
		}
	});
}