var filaSeleccionadaPreguntasExpediente;
var idInspeccionInformeTecnico;
var ayudas = false;
var i = 0;
var x = 0;
var btnTooltipEus = 0;
var btnTooltipCas = 0;
var textareaCas = 0;
var textareaEus = 0;
var btnDisabledDocumento = 0;
var btnDisabledImagen = 0;
var btnDisabledAudio = 0;
var btnDescargarDocumento = 0;
var btnDescargarImagen = 0;
var btnDescargarAudio = 0;
var groupColumn;
var guardadoOk = sessionStorage.getItem("guardadoOk");
var guardadoFicheroError = sessionStorage.getItem("guardadoFicheroError");
var importadoOk = sessionStorage.getItem("importadoOk");
var importadoConErrores = sessionStorage.getItem("importadoConErrores");
var maxFileSize = 5000000;
var extensionValidaExcel = false;
var inspeccionExcelCorrecta = false;
var feedbackExcelConErrores = sessionStorage.getItem("feedbackExcelConErrores");
var guardarPreguntasExpOk = sessionStorage.getItem("guardarPreguntasExpOk");
var vaciarRespuestaOk = sessionStorage.getItem("vaciarRespuestaOk");
var eliminarPreguntaOk = sessionStorage.getItem("eliminarPreguntaOk");
var concepto = false;
var ORIGEN_AYUDAS = 1;
var ORIGEN_CENSO = 2;
var ORIGEN_CAMPAINA = 3;
var ORIGEN_INSPECCION_OFICIO = 4;
var ORIGEN_DENUNCIAS = 5
var ORIGEN_BUZON_FRAUDE = 6;
var ORIGEN_ESTABLECIMIENTOS_COMERCIALES = 7;
var subidaArchivosExpedienteTabla = false;
var listaFicherosAdjExpTabla = "";
var tipoPreguntaBBDD = null;

jQuery(function($){
	if(sessionStorage.getItem("mostrarBtnVerCenso") === "true"){
		$("#btnVerCenso").removeAttr("hidden");
	}else{
		$("#btnVerCenso").attr("hidden", "true");
	}
	
	if($("#inspeccionSinExpediente").val() === "true"){
		$("#btnVerDocumentos").css("opacity", 0.7);
		$("#btnVerDocumentos").removeAttr("href");
		
	} else{
		$("#btnVerDocumentos").css("opacity", 1);
	}
	
	$("#btnGuardarUbicacion").attr("hidden","true");
	$("#btnCrearExpediente").attr("hidden","true");
	$("#btnActualizar").attr("hidden","true");
	$("#btnAsociarEstablecimientoInspeccion").attr("hidden", "true");
	inicializaControlCambios("informeTecnicoForm");
	
	//Recogemos el idInspeccion de la sesión o de la cabecera.
	idInspeccionInformeTecnico = $('#idInspeccion').val();
	
	$("#idInspeccion_filter_table_preguntasExpediente").val(idInspeccionInformeTecnico);
	$("#idInspeccionModal").val(idInspeccionInformeTecnico);
	
	//Feedback.
	$("#informeTecnico_feedback").rup_feedback({
		type: "ok",
		gotoTop: true,
		block:false,
		closeLink: true,
		fadeSpeed: 500
	});
	
	//Feedback modal subida de archivos.
	$("#archivosModalFeedback").rup_feedback({
		type: "ok",
		gotoTop: true,
		block:false,
		closeLink: true,
		fadeSpeed: 500
	});
	
	//Feedback modal subida de archivos preguntas expediente.
	$("#archivosModalExpedienteFeedback").rup_feedback({
		type: "ok",
		gotoTop: false,
		block:false,
		closeLink: true,
		fadeSpeed: 500
	});
	
	//Feedback modal preguntas expediente
	$("#preguntasExpedienteModalFeedback").rup_feedback({
		type: "ok",
		gotoTop: true,
		block: false,
		closeLink: true,
		fadeSpeed: 500
	});
		
	//Acordeónes tipo informe técnico, preguntas a validar y preguntas expediente
	$(".rup_accordion").rup_accordion({
		collapsible: true,
		heightStyle: "content",
		clearStyle:true
	});
	
	$("#acordeonInformeTecnico").rup_accordion("activate", false);
	
	//Modal subida de archivos.
	$("#archivosModal").rup_dialog({
		autoOpen: false,
		width: 700,
		modal: true,
		position: { my: "center center" },
		type: $.rup.dialog.DIV
	});
	
	//Modal subida de archivos preguntas expediente.
	$("#archivosModalExpediente").rup_dialog({
		autoOpen: false,
		width: 700,
		modal: true,
		position: { my: "center center" },
		type: $.rup.dialog.DIV
	});
	
	//Modal añadir pregunta expediente
	$("#preguntasExpedienteModal").rup_dialog({
		autoOpen: false,
		width: 700,
		modal: true,
		position:{ my: "center center" },
		type: $.rup.dialog.DIV
	});
	
	//Rup upload documento.
	$("#fileupload_form_documento").rup_upload({
		form: "archivosModalForm",
		fileInput: $("#file_form_documento"),
		submitFormButton: $("#archivosModalGuardar"),
		maxFileSize: maxFileSize,
		submitInForm:true
	});
	
	//Rup upload imagen.
	$("#fileupload_form_imagen").rup_upload({
		form: "archivosModalForm",
		fileInput: $("#file_form_imagen"),
		submitFormButton: $("#archivosModalGuardar"),
		maxFileSize: maxFileSize,
		submitInForm: true
	});
	
	//Rup upload audio.
	$("#fileupload_form_audio").rup_upload({
		form: "archivosModalForm",
		fileInput: $("#file_form_audio"),
		submitFormButton: $("#archivosModalGuardar"),
		maxFileSize: maxFileSize,
		submitInForm: true
	});
	
	//Rup upload documento preguntas expediente.
	$("#fileupload_form_documento_expediente").rup_upload({
		form: "archivosModalExpedienteForm",
		fileInput: $("#file_form_documento_expediente"),
		submitFormButton: $("#archivosModalExpedienteGuardar"),
		maxFileSize: maxFileSize,
		submitInForm:true
	});
	
	//Rup upload imagen preguntas expediente.
	$("#fileupload_form_imagen_expediente").rup_upload({
		form: "archivosModalExpedienteForm",
		fileInput: $("#file_form_imagen_expediente"),
		submitFormButton: $("#archivosModalExpedienteGuardar"),
		maxFileSize: maxFileSize,
		submitInForm: true
	});
	
	//Rup upload audio preguntas expediente.
	$("#fileupload_form_audio_expediente").rup_upload({
		form: "archivosModalExpedienteForm",
		fileInput: $("#file_form_audio_expediente"),
		submitFormButton: $("#archivosModalExpedienteGuardar"),
		maxFileSize: maxFileSize,
		submitInForm: true
	});
	
	//Rup upload importar Excel.
	$("#fileupload_form_excel_informe").rup_upload({
		form: "importarExcelInformeForm",
		fileInput: $("#inputImportarExcelInforme"),
		submitFormButton: $("#btnImportarExcelInformeSubmit"),
		submitInForm: true
	});
	
	//Cargar combo tipos de preguntas
	$("#tiposPreguntaCombo").rup_combo({
		blank: "",
		source: "/ab79WebAppWar/tipospreguntas",
		sourceParam: {
			label: (("eu" === $.rup_utils.get("language"))? "descripcionEuskera" : "descripcionCastellano"),
			value: "idTipoPregunta"
		},
		orderedByValue: true,
		select: function(){
			if($("#tiposPreguntaCombo").val() == CHECKBOX){
				$("#divOpciones").removeAttr("hidden");
			} else{
				$("#divOpciones").attr("hidden", "true");
			}
		},
		width: 300
	});
	
	//Comprobar si idOrigenInspeccion == 1 para mostrar datatable.
	$.ajax({
		type: "GET",
		url: CTX_PATH + "inspecciones/" + idInspeccionInformeTecnico,
		dataType:"json",
		async: false,
		success: function(data){
			if(data.idOrigenInspeccion === ORIGEN_AYUDAS){				
				ayudas = true;
				$("#tablaPreguntasExpedienteDiv").removeAttr("hidden");
				$("#acordeonRelacionConceptosFacturas").removeAttr("hidden");
			    $("#btnGuardarRespuestas").attr("hidden","true");
			    $("#btnExportarExcelInforme").attr("hidden","true");
			    $("#btnImportarExcelInforme").attr("hidden","true");
			    $("#btnActualizarEstablecimiento").attr("hidden", "true");
			    $("#btnImportarExcelInformeTabla").removeAttr("hidden");
			    if("eu" === $.rup_utils.get("language")){
					$("#tituloPreguntasProtocolo").text($("#tituloPreguntasProtocolo").text().replace("{0}", data.idProtocolo.descripcionEuskera));
				} else if("es" === $.rup_utils.get("language")){
					$("#tituloPreguntasProtocolo").text($("#tituloPreguntasProtocolo").text().replace("{0}", data.idProtocolo.descripcionCastellano));
				}
			
			} else if(data.idOrigenInspeccion === ORIGEN_CENSO || data.idOrigenInspeccion === ORIGEN_CAMPAINA || data.idOrigenInspeccion === ORIGEN_INSPECCION_OFICIO 
					|| data.idOrigenInspeccion === ORIGEN_BUZON_FRAUDE || data.idOrigenInspeccion === ORIGEN_DENUNCIAS
					|| data.idOrigenInspeccion === ORIGEN_ESTABLECIMIENTOS_COMERCIALES){
				
				if($("#containerInformeTecnico").find("#panelInformeTecnico").length && $("#protocoloValidado").val() == 1){
					$.ajax({
						type: "GET",
						url: CTX_PATH +"protocolos/" + data.idProtocolo.idProtocolo,
						dataType:"json",
						success: function(dataProtocolo){
							if(dataProtocolo !== null){
								
								if("eu" === $.rup_utils.get("language")){
									$("#tituloPreguntasValidar").text($("#tituloPreguntasValidar").text().replace("{0}", dataProtocolo.descripcionEuskera));
									$("#tituloPreguntasProtocolo").text($("#tituloPreguntasProtocolo").text().replace("{0}", dataProtocolo.descripcionEuskera));
								} else if("es" === $.rup_utils.get("language")){
									$("#tituloPreguntasValidar").text($("#tituloPreguntasValidar").text().replace("{0}", dataProtocolo.descripcionCastellano));
									$("#tituloPreguntasProtocolo").text($("#tituloPreguntasProtocolo").text().replace("{0}", dataProtocolo.descripcionCastellano));
								}
							}
						    $("#btnExportarExcelInforme").removeAttr("hidden");
						    $("#btnImportarExcelInforme").removeAttr("hidden");
						    $("#btnActualizarEstablecimiento").removeAttr("hidden");
						    $("#btnImportarExcelInformeTabla").attr("hidden", "true");
						},
						error: function(){
							$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
							$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.feedback.error.errorGenerico, "error");
						}
					});
				} else if(data.idProtocolo.idProtocolo === 0 ){
					
					//Comprobar si el tipo de infomre técnico es obligatorio
					$.ajax({
						async:false,
						url: CTX_PATH + "relOriDir/findByOrigenDireccion/" + $("#origenInspeccionFicha").val() + "/" + $("#direccionFicha").val(),
						type: "GET",
						contentType: "application/json",
						dataType: "json",
						success : function(data){
							if(data.informeTecnico == INFORME_TECNICO_OBLIGATORIO){
								$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true });
							    $("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.seleccioneProtocolo, "alert");	
							}
						}
					});
				} else if($("#protocoloValidado").val() != 1){
					$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true });
				    $("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.valideProtocolo, "alert");
				} else{
					$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true });
					$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.protocoloSinPreguntas, "alert");
				}
			    $("#btnGuardarRespuestas").removeAttr("hidden");
			    $("#btnExportarExcelInforme").attr("hidden","true");
			    $("#btnImportarExcelInforme").attr("hidden","true");
			    $("#btnActualizarEstablecimiento").attr("hidden", "true");
			}

			$("#btnNuevaPreguntaExpediente").removeAttr("hidden");
		},
		error: function(){
			$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
			$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.feedback.error.errorGenerico, "error");
		}
	});
	
	//Configuración de campos fecha.
	$(".campoFecha").each(function(){
		$("#"+this.id).rup_date();
	});
	
	//Mostrar feedback guardadoOk cuando se guardan las respuestas y se recarga la pestaña.
	if(guardadoOk === "true"){
		$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
		$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.preguntasProtocoloGuardadoOk, "ok");
		sessionStorage.removeItem("guardadoOk");
	}
	
	//Mostrar feedback importarExcelOk cuando las respuestas importadas desde un Excel son todas correctas.
	if(importadoOk === "true"){
		$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
		$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.importarExcelOk, "ok");
		sessionStorage.removeItem("importadoOk");
	}
	
	//Mostrar feedback guardadoFicheroError cuando ha habido un error al guardar algún fichero pero las respuestas se han guardado correctamente.
	if(guardadoFicheroError === "true"){
		$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
		$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.guardadoFicheroError, "alert");
		sessionStorage.removeItem("guardadoFicheroError");
	}
	
	//Mostrar feedback feedbackExcelConErrores cuando algunas de las respuestas importadas desde un Excel no están en un formato correcto.
	if(importadoConErrores === "true"){
		$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
		$("#informeTecnico_feedback").rup_feedback("set", feedbackExcelConErrores, "alert");
		sessionStorage.removeItem("importadoConErrores");
		sessionStorage.removeItem("feedbackExcelConErrores");
	}
	
	//Mostrar feedback guardarPreguntasExpOk cuando se guardan correctamente las preguntas de expediente.
	if(guardarPreguntasExpOk === "true"){
		$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
		$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.guardarPreguntasExpOk, "ok");
		sessionStorage.removeItem("guardarPreguntasExpOk");
	}
	
	//Mostrar feedback vaciarRespuestaOk cuando se vacia correctamente la respuesta.
	if(vaciarRespuestaOk === "true"){
		$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
		$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.vaciarRespuestaOk, "ok");
		sessionStorage.removeItem("vaciarRespuestaOk");
	}
	
	//Mostrar feedback eliminarPreguntaOk cuando se eliminar correctamente la pregunta.
	if(eliminarPreguntaOk === "true"){
		$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
		$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.eliminarPreguntaOk, "ok");
		sessionStorage.removeItem("eliminarPreguntaOk");
	}
	
	//Ocultar / mostrar campos dependiendo del idioma.
	if("eu"===$.rup_utils.get("language")){
		$(".preguntaCastellano").hide();
		$(".checkCastellano").hide();
		$(".campoFecha").attr("placeholder", "aaaa/mm/dd");
		$(".preguntaEuskera").css("display", "block");
	}else if("es"===$.rup_utils.get("language")){
		$(".preguntaEuskera").hide();
		$(".checkEuskera").hide();
		$(".campoFecha").attr("placeholder", "dd/mm/aaaa");
		$(".preguntaCastellano").css("display", "block");
	}
	
	if(ayudas){
		
		//Datatable si id_origen_inspeccion == 1 (ayudas).
		$("#preguntasExpediente").rup_datatable({
			primaryKey: "idPreguntaExpediente",
			filter:{
		  		id:"preguntasExpediente_filter_form",
		  		filterToolbar:"preguntasExpediente_filter_toolbar",
		  		collapsableLayerId:"preguntasExpediente_filter_fieldset"
		 	},
			loadOnStartUp: true,
			dom: 't',
			colReorder: false,
		 	columnDefs: [
		 		{
		 			targets: [0,1,11,12,13,14,15,16],
		 			orderable: false
	 		    },
	 		    {
	 		    	targets: [0,1,4,5,14,15],
	 		    	visible: false
	 		    },
	 		    {
	 		    	targets: [2],
	 		    	render: function(data){
	 		    		if(data === null){
	 		    			data = "";
	 		    			concepto = false;
	 		    		} else{
	 		    			concepto = true;
	 		    		}
	 		    		return data;
	 		    	},
	 		    	width: "25%",
	 		    	className: "all"
	 		    },
	 		    {
	 		    	targets: [3],
	 		    	width: "10%",
	 		    	className: "all"
	 		    },
	 		    {
	 		    	targets: [6],
	 		    	width: "15%",
	 		    	className: "all"
	 		    },
	 		    {
	 		    	targets: [7,8],
	 		    	render: function(data){
	 		    		
	 		    		if(data != null){
	 		    			var decimales = data.split(",").pop();
		 		    		if(decimales === "00"){
		 		    			return data.slice(0, -3);
		 		    		} else{
		 		    			return data;
		 		    		}
	 		    		} else{
	 		    			return data;
	 		    		}
	 		    		
	 		    	},
	 		    	width: "5%",
	 		    	className: "all"
	 		    },
	 		    {
	 		    	targets: [9],
	 		    	render: function(data){
	 		    		if(data === null){
	 		    			return "<span class='btnTooltipCas' id='btnTooltipCas_' hidden><i class='fa fa-edit'></i></span>";
	 		    		} else{
	 		    			return "<span class='btnTooltipCas' id='btnTooltipCas_'><i class='fa fa-edit'></i></span>";
	 		    		}
	 		    		
	 		    	},
	 		    	width: "5%",
	 		    	className: "all text-center"
	 		    },
	 		    {
	 		    	targets: [10],
	 		    	render: function(data){
	 		    		if(data === null){
	 		    			return "<span class='btnTooltipEus' id='btnTooltipEus_' hidden><i class='fa fa-edit'></i></span>";
	 		    		} else{
	 		    			return "<span class='btnTooltipEus' id='btnTooltipEus_'><i class='fa fa-edit'></i></span>";
	 		    		}
	 		    		
	 		    	},
	 		    	width: "5%",
	 		    	className: "all text-center"
	 		    },
	 		    {
	 		    	targets: [11],
	 		    	defaultContent: "<select class='form-control comboTabla' id='preguntasExpedienteCombo_'></select>",
	 		    	className: "all",
	 		    	width: "10%"
	 		    },
	 		    {
	 		    	targets: [12],
	 		    	render: function(data) {
	 		    		if(data === null){
	 		    			data = "";
	 		    		}
	 		    		
	 		    		return "<textarea class='preguntasExpedienteTextarea textareaCas' id='preguntasExpedienteTextareaCas_' onChange='actualizarTextareaCas(this)'>" + data + "</textarea>";
	 		    	},
	 		    	className: "all",
	 		    	width: "25%"
	 		    },
	 		    {
	 		    	targets: [13],
	 		    	render: function(data) {
	 		    		if(data === null){
	 		    			data = "";
	 		    		}
	 		    		
	 		    		return "<textarea class='preguntasExpedienteTextarea textareaEus' id='preguntasExpedienteTextareaEus_' onChange='actualizarTextareaEus(this)'>" + data + "</textarea>";
	 		    	},
	 		    	className: "all",
	 		    	width: "25%"
	 		    },
	 		    {
	 		    	targets: [16],
	 		    	render: function(data) {
	 		    		
	 		    		if(data !== null){
	 		    			listaFicherosAdjExpTabla = data;
	 		    		}
	 		    		
	 		    		var tituloAdjuntarArchivos = $.rup.i18n.app.informeTecnico.adjuntarArchivos;
	 		    		return '<button class="btn btn-default btn-circle btnAdjuntarArchivosTabla" id="btnAdjuntarArchivosTabla_" type="button" data-toggle="tooltip" data-placement="top" title=' + tituloAdjuntarArchivos + '><i class="fa fa-plus"></i></button>' +
	 		    		'<button class="btn btn-default btn-circle btnDescargarArchivoTablaDisabledDoc d-none" id="btnDescargarArchivoTablaDisabled_" type="button" data-toggle="tooltip" data-placement="top" disabled><i class="fa fa-file-pdf-o"></i></button>' +
						'<button class="btn btn-default btn-circle btnDescargarArchivoTablaDisabledImg d-none" id="btnDescargarArchivoTablaDisabled_" type="button" data-toggle="tooltip" data-placement="top" disabled><i class="fa fa-file-image-o"></i></button>' +
						'<button class="btn btn-default btn-circle btnDescargarArchivoTablaDisabledAudio d-none" id="btnDescargarArchivoTablaDisabled_" type="button" data-toggle="tooltip" data-placement="top" disabled><i class="fa fa-file-audio-o"></i></button>' +
						'<button class="btn btn-default btn-circle btnDescargarArchivoTabla btnDescargarArchivoTablaDoc d-none" id="btnDescargarDocumentoExpedienteTabla_" type="button" data-toggle="tooltip" data-placement="top"><i class="fa fa-file-pdf-o"></i></button>' +
						'<button class="btn btn-default btn-circle btnDescargarArchivoTabla btnDescargarArchivoTablaImg d-none" id="btnDescargarImagenExpedienteTabla_" type="button" data-toggle="tooltip" data-placement="top"><i class="fa fa-file-image-o"></i></button>' +
						'<button class="btn btn-default btn-circle btnDescargarArchivoTabla btnDescargarArchivoTablaAudio d-none" id="btnDescargarAudioExpedienteTabla_" type="button" data-toggle="tooltip" data-placement="top"><i class="fa fa-file-audio-o"></i></button>'
	 		    	},
	 		    	className: "all text-center",
	 		    	width: "5%"
	 		    },
			    {
	 		    	targets: [3],
	 		    	className: 'text-center'
			    }
			   	
			],
			drawCallback: function () {
				i = 0;
				x = 0;

				btnDisabledDocumento = 0;
				btnDisabledImagen = 0;
				btnDisabledAudio = 0;

				btnDescargarDocumento = 0;
				btnDescargarImagen = 0;
				btnDescargarAudio = 0;
				
				textareaCas = 0;
				textareaEus = 0;
				var tablaPreguntasExpediente = $("#preguntasExpediente").DataTable();
	            var api = this.api();
	            var rows = api.rows( {page:'current'} ).nodes();
	            var last=null;
	            
	            if ("eu" === $.rup_utils.get("language")){
					groupColumn = 5;
				} else if("es" === $.rup_utils.get("language")) {
					groupColumn = 4;
				}
	 
	            api.column(groupColumn, {page:'current'} ).data().each( function ( group, i ) {
	                if ( last !== group ) {
	                	if(concepto){
	                		$(rows).eq( i ).before(
		                        '<tr class="group"><td colspan="8"><b>'+group+'</b></td></tr>'
		                    );
	                	} else{
	                		$(rows).eq( i ).before(
		                        '<tr class="group"><td colspan="9"><b>'+group+'</b></td></tr>'
		                    );
	                	}
	                	
	                    last = group;
	                }
	            } );  
	           
	            pintarComboCorrectoIncorrecto();
	            
	            $(".btnTooltipCas").each(function(){
	            	this.id = this.id + btnTooltipCas;
	            	btnTooltipCas++;
	            });
	            
	            $(".btnTooltipEus").each(function(){
	            	this.id = this.id + btnTooltipEus;
	            	btnTooltipEus++;
	            });
	            
	            $(".btnAdjuntarArchivosTabla").each(function(){
	            	this.id = this.id + x;
	            	x++;
	            });
	            
	            $(".btnDescargarArchivoTablaDisabledDoc").each(function(){
	            	this.id = this.id + btnDisabledDocumento;
	            	btnDisabledDocumento++;
	            });
	            
	            $(".btnDescargarArchivoTablaDisabledImg").each(function(){
	            	this.id = this.id + btnDisabledImagen;
	            	btnDisabledImagen++;
	            });
	            
	            $(".btnDescargarArchivoTablaDisabledAudio").each(function(){
	            	this.id = this.id + btnDisabledAudio;
	            	btnDisabledAudio++;
	            });
	            
	            $(".btnDescargarArchivoTablaDoc").each(function(){
	            	this.id = this.id + btnDescargarDocumento;
	            	btnDescargarDocumento++;
	            });
	            
	            $(".btnDescargarArchivoTablaImg").each(function(){
	            	this.id = this.id + btnDescargarImagen;
	            	btnDescargarImagen++;
	            });
	            
	            $(".btnDescargarArchivoTablaAudio").each(function(){
	            	this.id = this.id + btnDescargarAudio;
	            	btnDescargarAudio++;
	            });
	            
	            $(".textareaCas").each(function(){
	    			this.id = this.id + textareaCas;
	    			textareaCas++;
	    		});
	            
	            $(".textareaEus").each(function(){
	            	this.id = this.id + textareaEus;
	            	textareaEus++;
	            });
	            
	            var numeroRegistros = tablaPreguntasExpediente.page.info().recordsDisplay;
	            
	            for (var j = 0; j < numeroRegistros; j++) {
	            	$(".comboTabla").each(function(){
	            		var numeroCombo = this.id.split("_").pop();
	            		if(numeroCombo == j && tablaPreguntasExpediente.row(j).data().resultado !== null){
	            			$("#"+this.id).rup_combo("setRupValue", tablaPreguntasExpediente.row(j).data().resultado);
	            		}
	            	});
				}
	            
	            for (var y = 0; y < numeroRegistros; y++) {
	            	$(".btnAdjuntarArchivosTabla").each(function(){
	            		var numeroArchivo = this.id.split("_")[1];
	            		if(numeroArchivo == y){
	            			this.id = this.id + "_" + tablaPreguntasExpediente.row(y).data().idPreguntaExpediente;
	            		}
	            	});
				}
	            for (var countDoc = 0; countDoc < numeroRegistros; countDoc++) {
	            	$(".btnDescargarArchivoTablaDisabledDoc").each(function(){
	            		var numeroArchivo = this.id.split("_")[1];
	            		if(numeroArchivo == countDoc){
	            			this.id = this.id + "_" + tablaPreguntasExpediente.row(countDoc).data().idPreguntaExpediente + "_1";
	            		}
	            	});
				}
	            
	            for (var countImg = 0; countImg < numeroRegistros; countImg++) {
	            	$(".btnDescargarArchivoTablaDisabledImg").each(function(){
	            		var numeroArchivo = this.id.split("_")[1];
	            		if(numeroArchivo == countImg){
	            			this.id = this.id + "_" + tablaPreguntasExpediente.row(countImg).data().idPreguntaExpediente + "_2";
	            		}
	            	});
				}
	            
	            for (var countAudio = 0; countAudio < numeroRegistros; countAudio++) {
	            	$(".btnDescargarArchivoTablaDisabledAudio").each(function(){
	            		var numeroArchivo = this.id.split("_")[1];
	            		if(numeroArchivo == countAudio){
	            			this.id = this.id + "_" + tablaPreguntasExpediente.row(countAudio).data().idPreguntaExpediente + "_3";
	            		}
	            	});
				}
	            
	            for (var countDescargarDoc = 0; countDescargarDoc < numeroRegistros; countDescargarDoc++) {
	            	$(".btnDescargarArchivoTablaDoc").each(function(){
	            		var numeroArchivo = this.id.split("_")[1];
	            		if(numeroArchivo == countDescargarDoc){
	            			if(tablaPreguntasExpediente.row(countDescargarDoc).data().idRespuestaExpediente !== "" && tablaPreguntasExpediente.row(countDescargarDoc).data().idRespuestaExpediente !== null) {
		            			this.id = this.id + "_" + tablaPreguntasExpediente.row(countDescargarDoc).data().idRespuestaExpediente + "_1";
		            		}
	            		}	            		
	            		
	            	});
				}
	            
	            for (var countDescargarImg = 0; countDescargarImg < numeroRegistros; countDescargarImg++) {
	            	$(".btnDescargarArchivoTablaImg").each(function(){
	            		var numeroArchivo = this.id.split("_")[1];
	            		if(numeroArchivo == countDescargarImg){
	            			if(tablaPreguntasExpediente.row(countDescargarImg).data().idRespuestaExpediente !== "" && tablaPreguntasExpediente.row(countDescargarImg).data().idRespuestaExpediente !== null) {
		            			this.id = this.id + "_" + tablaPreguntasExpediente.row(countDescargarImg).data().idRespuestaExpediente + "_2";
		            		}
	            		}
	            	});
				}
	            
	            for (var countDescargarAudio = 0; countDescargarAudio < numeroRegistros; countDescargarAudio++) {
	            	$(".btnDescargarArchivoTablaAudio").each(function(){
	            		var numeroArchivo = this.id.split("_")[1];
	            		if(numeroArchivo == countDescargarAudio){
	            			if(tablaPreguntasExpediente.row(countDescargarAudio).data().idRespuestaExpediente !== "" && tablaPreguntasExpediente.row(countDescargarAudio).data().idRespuestaExpediente !== null) {
		            			this.id = this.id + "_" + tablaPreguntasExpediente.row(countDescargarAudio).data().idRespuestaExpediente + "_3";
		            		}
	            		}
	            	});
				}
	            
	            $(".preguntasExpedienteTextarea").each(function(){
					$("#"+this.id).css("width", "100%");
					$("#"+this.id).css("height", "5em");
				});	
				
				if ("eu" === $.rup_utils.get("language")){
					tablaPreguntasExpediente.columns( [4,9] ).visible( false );
	            	
		            $('.btnTooltipEus').each(function (index) {
		            	if(tablaPreguntasExpediente.row(index).data().observacionesTecnicoEus != null){
		            		$("#"+this.id).parent().rup_tooltip({
					            content: tablaPreguntasExpediente.row(index).data().observacionesTecnicoEus,
					            position: {
					                my: 'top left',
					                at: 'bottom right',
					            }
					        });
		            	}
				    });
				} else if("es" === $.rup_utils.get("language")) {
					tablaPreguntasExpediente.columns( [5,10] ).visible( false );
	            	
		            $('.btnTooltipCas').each(function (index) {
		            	if(tablaPreguntasExpediente.row(index).data().observacionesTecnicoCas != null){
		            		$("#"+this.id).parent().rup_tooltip({
					            content: tablaPreguntasExpediente.row(index).data().observacionesTecnicoCas,
					            position: {
					                my: 'top left',
					                at: 'bottom right',
					            }
					        });
		            	}
				    });
				}
	        },
			initComplete: function(){
				
				var tablaPreguntasExpediente = $("#preguntasExpediente").DataTable();
				$("#btnGuardarInformeTabla").removeAttr("hidden");
				$("#btnExportarExcelInformeTabla").removeAttr("hidden");
				
				if(concepto){
					tablaPreguntasExpediente.columns([3,6]).visible(false);
					tablaPreguntasExpediente.columns([2]).visible(true);
				} else{
					tablaPreguntasExpediente.columns([3,6]).visible(true);
					tablaPreguntasExpediente.columns([2]).visible(false);
				}
				
				tablaPreguntasExpediente.columns([12]).visible(true);
				tablaPreguntasExpediente.columns([13]).visible(true);
				
				$(".preguntasExpedienteTextarea").each(function(){
					$("#"+this.id).css("width", "100%");
					$("#"+this.id).css("height", "5em");
				});
				
				//Abrir la ventana modal de adjuntar archivos para preguntas expediente de la tabla y asignarle el idPreguntaExpediente al input hidden de la modal.
				$(".btnAdjuntarArchivosTabla").each(function(){
					$("#"+this.id).click(function(){
						$("#archivosModalExpediente").rup_dialog("open");
						$("#archivosModalExpediente").rup_dialog("setOption", "title", $.rup.i18n.app.informeTecnico.adjuntarArchivos);			
						limpiarArchivosExpediente();
						var idPreguntaExpediente = this.id.split("_").pop();	
						$("#idPreguntaModalExpediente").val(idPreguntaExpediente);
						subidaArchivosExpedienteTabla = true;						
					});
				});
				
				if(listaFicherosAdjExpTabla !== "") {
					for (var countFicheros = 0; countFicheros < listaFicherosAdjExpTabla.length; countFicheros++) {
						
						var idRespuesta = listaFicherosAdjExpTabla[countFicheros].idRespuestaExpediente;
						var tipoFichero = listaFicherosAdjExpTabla[countFicheros].tipoFicheroAdjunto;
						
						$(".btnDescargarArchivoTabla").each(function(){
							
							var idRespuestaBtn = this.id.split("_");
							if(typeof idRespuestaBtn[2] !== "undefined" && idRespuestaBtn[2] !== null && idRespuestaBtn[2] !== ""){
								
								if(idRespuesta == idRespuestaBtn[2] && tipoFichero == idRespuestaBtn[3]) {
									$("#"+this.id).removeClass("d-none");
									this.id = this.id + "_" + listaFicherosAdjExpTabla[countFicheros].idFicheroAdjExp;
								}
							}
						});						
					}
				}
				
				//Click en descargar documento/imagen/audio TABLA preguntas expediente.
				$(".btnDescargarArchivoTabla").each(function(){
					$("#"+this.id).click(function(){
						var idFichero = this.id.split("_")[4];
						window.location = CTX_PATH + "informeTecnico/descargaArchivosExpediente/" + idFichero;
					});
				});
				
				desbloquearInterfaz();
			}
		});
		
		var tablaPreguntasExpediente = $("#preguntasExpediente").DataTable();
		
		//Seleccionar opción 'correcto' en el combo del datatable.
		$("#btnTodoCorrecto").click(function(){
			marcarCorrectoIncorrecto(true);
		});
		
		//Seleccionar opción 'incorrecto' en el combo del datatable.
		$("#btnTodoIncorrecto").click(function(){
			marcarCorrectoIncorrecto(false);
		});
		
		$("#informeTecnicoForm").rup_form({
			feedback: $("#informeTecnico_feedback"),
			url: CTX_PATH + "informeTecnico/guardarRespuestas",
			type: "POST",
			contentType: "application/json",
			dataType:"json",
			success: function(){
				guardarRespuestasTabla();
				sessionStorage.setItem("reloadInformeTecnico", true);
				sessionStorage.setItem("guardadoOk", true);
				inicializaControlCambios("informeTecnicoForm");
				//location.reload();
			},
			error: function(data){
				desbloquearInterfaz();
				if(data.responseText.search(/fichero/i) !== -1){
					sessionStorage.setItem("reloadInformeTecnico", true);
					sessionStorage.setItem("guardadoFicheroError", true);
					location.reload();
				}else{
					$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
					$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.preguntasProtocoloGuardadoError, "error");
				}
			}
		});
		
		//Guardar respuestas informe técnico cuando origenInspeccion == 1 (Tabla)
		$("#btnGuardarInformeTabla").click(function(){
			bloquearInterfaz();
			$("#informeTecnicoForm").submit();	
		});
		
		//Exportar a Excel la tabla
		$("#btnExportarExcelInformeTabla").click(function() {
			bloquearInterfaz();
			
			var orderColumnIndex = tablaPreguntasExpediente.order()[0][0]; 
			var sord = tablaPreguntasExpediente.order()[0][1]; 
			var sidx = tablaPreguntasExpediente.settings().init().columns[orderColumnIndex].sidx;
			
			window.location = CTX_PATH + "informeTecnico/exportarExcelInformeTabla/" + idInspeccionInformeTecnico + "/" + sidx + "/" + sord + "/" + concepto + "/" + $("#inspeccion").text() + "/" + $("#expediente").text() + "/" + $("#titulo").text();
			desbloquearInterfaz();
		});
		
		//Click en importar a Excel cuando origen == 1
		$("#btnImportarExcelInformeTabla").click(function(){
			$("#inputImportarExcelInforme").replaceWith($("#inputImportarExcelInforme").val('').clone(true));
			$("#excelImportar").text("");
			$("#inputImportarExcelInforme").click();
		});
		
		//Formulario importación Excel Tabla.
		$("#importarExcelInformeForm").rup_form({
			feedback: $("#informeTecnico_feedback"),
			url: CTX_PATH + "informeTecnico/importarExcelTabla/" + idInspeccionInformeTecnico,
			type: "POST",
			contentType: "application/json",
			dataType:"json",
			validate:{
				rules:{
					"fileExcelInforme" : { required: true }
				}
			},
			success: function(data){
				var lineaError = "";
				var erroresExcel = false;
				
				for (var j in data.preguntasRespuestasProtocolo) {
					if(data.preguntasRespuestasProtocolo[j].excelErrorRow != null){
						lineaError += "<b>" + data.preguntasRespuestasProtocolo[j].excelErrorRow + "</b>, ";
						erroresExcel = true;
					}
				}
				
				for (var k in data.preguntasRespuestasExpediente) {
					if(data.preguntasRespuestasExpediente[k].excelErrorRow != null){
						lineaError += "<b>" + data.preguntasRespuestasExpediente[k].excelErrorRow + "</b>, "
						erroresExcel = true;
					}
				}
				
				if(erroresExcel){
					lineaError = lineaError.substring(0, lineaError.length - 2);
					feedbackExcelConErrores = $.rup.i18n.app.informeTecnico.importadoConErrores.replace("{0}", lineaError);
					sessionStorage.setItem("feedbackExcelConErrores", feedbackExcelConErrores);				
					sessionStorage.setItem("importadoConErrores", true);
				} else{
					sessionStorage.setItem("importadoOk", true);
				}
				desbloquearInterfaz();
				sessionStorage.setItem("reloadInformeTecnico", true);
				location.reload();
				
			},
			error: function(){
				desbloquearInterfaz();
				$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
				$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.importarExcelError, "error");
			}
		});
		
		//Cuando seleccione un fichero se sumita el formulario para leer ese fichero (solo si la extensión es válida).
		$("#inputImportarExcelInforme").change(function(){
			bloquearInterfaz();
			comprobarInspeccionExcel();
			comprobarExtensionExcel();
			if(extensionValidaExcel && inspeccionExcelCorrecta){
				$("#importarExcelInformeForm").submit();
				
			} else{
				desbloquearInterfaz();
				$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
				$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.inspeccionErronea, "error");
			}
			
		});
		
	}else{
		
		//Formulario importación Excel.
		$("#importarExcelInformeForm").rup_form({
			feedback: $("#informeTecnico_feedback"),
			url: CTX_PATH + "informeTecnico/importarExcel/" + idInspeccionInformeTecnico,
			type: "POST",
			contentType: "application/json",
			dataType:"json",
			validate:{
				rules:{
					"fileExcelInforme" : { required: true }
				}
			},
			success: function(data){
				var lineaError = "";
				var erroresExcel = false;
				
				for(var i in data.preguntasRespuestasValidar){
					if(data.preguntasRespuestasValidar[i].excelErrorRow != null){
						lineaError += "<b>" + data.preguntasRespuestasValidar[i].excelErrorRow + "</b>, ";
						erroresExcel = true;
					}
				}
				
				for (var j in data.preguntasRespuestasProtocolo) {
					if(data.preguntasRespuestasProtocolo[j].excelErrorRow != null){
						lineaError += "<b>" + data.preguntasRespuestasProtocolo[j].excelErrorRow + "</b>, ";
						erroresExcel = true;
					}
				}
				
				for (var k in data.preguntasRespuestasExpediente) {
					if(data.preguntasRespuestasExpediente[k].excelErrorRow != null){
						lineaError += "<b>" + data.preguntasRespuestasExpediente[k].excelErrorRow + "</b>, "
						erroresExcel = true;
					}
				}
				
				if(erroresExcel){
					lineaError = lineaError.substring(0, lineaError.length - 2);
					feedbackExcelConErrores = $.rup.i18n.app.informeTecnico.importadoConErrores.replace("{0}", lineaError);
					sessionStorage.setItem("feedbackExcelConErrores", feedbackExcelConErrores);				
					sessionStorage.setItem("importadoConErrores", true);
				} else{
					sessionStorage.setItem("importadoOk", true);
				}
				desbloquearInterfaz();
				sessionStorage.setItem("reloadInformeTecnico", true);
				location.reload();
				
			},
			error: function(){
				desbloquearInterfaz();
				$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
				$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.importarExcelError, "error");
			}
		});
		
		if ($("#preguntasValidacion").length === 0)
		{
			
			$("#informeTecnicoForm").rup_form({
				feedback: $("#informeTecnico_feedback"),
				url: CTX_PATH + "informeTecnico/guardarRespuestas",
				type: "POST",
				contentType: "application/json",
				dataType:"json",
				success: function(){
					desbloquearInterfaz();
					sessionStorage.setItem("reloadInformeTecnico", true);
					sessionStorage.setItem("guardadoOk", true);
					inicializaControlCambios("informeTecnicoForm");
					location.reload();
				},
				error: function(data){
					desbloquearInterfaz();
					if(data.responseText.search(/fichero/i) !== -1){
						sessionStorage.setItem("reloadInformeTecnico", true);
						sessionStorage.setItem("guardadoFicheroError", true);
						location.reload();
					}else{
						$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
						$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.preguntasProtocoloGuardadoError, "error");
					}
				}
			});
		}
		else
		{
			
			$("#informeTecnicoForm").rup_form({
				feedback: $("#informeTecnico_feedback"),
				url: CTX_PATH + "informeTecnico/guardarRespuestas",
				type: "POST",
				contentType: "application/json",
				dataType:"json",
				success: function(){
					desbloquearInterfaz();
					sessionStorage.setItem("reloadInformeTecnico", true);
					sessionStorage.setItem("guardadoOk", true);
					inicializaControlCambios("informeTecnicoForm");
					location.reload();
				},
				error: function(data){
					desbloquearInterfaz();
					if(data.responseText.search(/fichero/i) === -1){
						$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
						$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.preguntasProtocoloGuardadoError, "error");
					}
					
				}
			});
		}
		
		//Sumitar el formulario.
		$("#btnGuardarRespuestas").click(function(){
			bloquearInterfaz();
			$("#informeTecnicoForm").submit();
		});
		
		//Exportar a Excel
		$("#btnExportarExcelInforme").click(function(){
			bloquearInterfaz();
			window.location = CTX_PATH + "informeTecnico/exportarExcel/" + idInspeccionInformeTecnico + "/" + $("#inspeccion").text() + "/" + $("#expediente").text() + "/" + $("#titulo").text();
			desbloquearInterfaz();
		});
		
		//Click en importar a Excel
		$("#btnImportarExcelInforme").click(function(){
			$("#inputImportarExcelInforme").replaceWith($("#inputImportarExcelInforme").val('').clone(true));
			$("#excelImportar").text("");
			$("#inputImportarExcelInforme").click();
		});
		
		//Cuando seleccione un fichero se sumita el formulario para leer ese fichero (solo si la extensión es válida y la inspección es la correcta).
		$("#inputImportarExcelInforme").change(function(){
			bloquearInterfaz();
			
			comprobarInspeccionExcel();
			comprobarExtensionExcel();
			if(inspeccionExcelCorrecta && extensionValidaExcel){
				$("#importarExcelInformeForm").submit();
				
			} else{
				desbloquearInterfaz();
				$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
				$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.inspeccionErronea, "error");
			}
			
		});
		
		$("#btnActualizarEstablecimiento").click(function(){
						
			bloquearInterfaz();
			
			$("#informeTecnicoForm").submit();
			
			bloquearInterfaz();
			
			$.ajax({
				type: "GET",
				url: CTX_PATH + "informeTecnico/llamarWebService/actualizarEstablecimiento/" + $("#folderId").val() + "/" + idInspeccionInformeTecnico,
				dataType:"json",
				success: function(){
					desbloquearInterfaz();
					$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
					$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.actualizarEstablecimientoOk, "ok");
				},
				error: function(){
					desbloquearInterfaz();
					$("#informeTecnico_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
					$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.actualizarEstablecimientoError, "error");
				}
			});
		});
		
		
	}
	
	pintarComboCorrectoIncorrecto();
	mostrarTituloObjValidar();
	desbloquearInterfaz();
	pintarValorCheckbox();
	guardarValorRadioButtons();
	guardarValorCheckbox();
	
	
	//Formulario modal subida de archivos.
	$("#archivosModalForm").rup_form({
		feedback: $("#archivosModalFeedback"),
		url: CTX_PATH + "informeTecnico/subidaArchivos",
		type: "POST",
		contentType: "application/json",
		dataType:"json",
		clear: true,
		success: function(data){
			$("#archivosModal").rup_dialog("close");
			mostrarIconosArchivosDisabled(data);				
			desbloquearInterfaz();						
		},
		error: function(){
			desbloquearInterfaz();
			$("#archivosModalFeedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
			$("#archivosModalFeedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.guardarArchivosError, "error");
		}
	});
	
	//Guardar idInspeccion en cada respuesta.
	$(".idInspeccionInformeTecnico").each(function(){
		$("#"+this.id).val(idInspeccionInformeTecnico);
	});
	
	//Abrir la ventana modal de adjuntar archivos y asignarle el idRelProPre al input hidden de la modal.
	$(".btnAdjuntarArchivos").each(function(){
		$("#"+this.id).click(function(){
			$("#archivosModal").rup_dialog("open");	
			$("#archivosModal").rup_dialog("setOption", "title", $.rup.i18n.app.informeTecnico.adjuntarArchivos);			
			limpiarArchivos();
			var idRelProPre = $("#"+this.id).parent().parent().prev().val();	
			$("#idPreguntaModal").val(idRelProPre);
		});
	});
	
	//Comprobar extensión válida documento.
	$("#file_form_documento").change(function() {
		var ruta = $("#file_form_documento").val().match(/\\([^\\]+)$/)[1];
		var ext = ruta.match(/\.[0-9,a-z]{3,4}$/i);
		var tamanioMaximo = $.rup.i18n.app.files.maxSize;
		
		if (typeof ext === "undefined" || !Array.isArray(ext) || ext.length <= 0 || extensionesAceptadasDocumento.indexOf(ext[0].replace(".", "").toLowerCase()) <= -1) {
			$("#archivosModalFeedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
			$("#archivosModalFeedback").rup_feedback("set", $.rup.i18n.app.files.extensionNoValida, "error");
			$("#file_form_documento").replaceWith($("#file_form_documento").val('').clone(true));
			$("#nombreDocumento").text("");
			
		} else if(this.files[0].size > maxFileSize){
			tamanioMaximo = tamanioMaximo.replace("{0}", 5);
			$("#archivosModalFeedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
			$("#archivosModalFeedback").rup_feedback("set", tamanioMaximo, "error");
			$("#file_form_documento").replaceWith($("#file_form_documento").val('').clone(true));
			$("#nombreDocumento").text("");			
			
		} else if($("#file_form_documento").val() !== "" && $("#file_form_documento").val() !== null){
			$("#archivosModalGuardar").removeAttr("disabled");
			
		}
	});
	
	//Comprobar extensión válida imagen.
	$("#file_form_imagen").change(function() {
		var ruta = $("#file_form_imagen").val().match(/\\([^\\]+)$/)[1];
		var ext = ruta.match(/\.[0-9,a-z]{3,4}$/i);
		var tamanioMaximo = $.rup.i18n.app.files.maxSize;
		
		if (typeof ext === "undefined" || !Array.isArray(ext) || ext.length <= 0 || extensionesAceptadasImagen.indexOf(ext[0].replace(".", "").toLowerCase()) <= -1) {
			$("#archivosModalFeedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
			$("#archivosModalFeedback").rup_feedback("set", $.rup.i18n.app.files.extensionNoValida, "error");
			$("#file_form_imagen").replaceWith($("#file_form_imagen").val('').clone(true));
			$("#nombreImagen").text("");
			
		}  else if(this.files[0].size > maxFileSize){
			tamanioMaximo = tamanioMaximo.replace("{0}", 5);
			$("#archivosModalFeedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
			$("#archivosModalFeedback").rup_feedback("set", tamanioMaximo, "error");
			$("file_form_imagen").replaceWith($("#file_form_imagen").val('').clone(true));
			$("#nombreImagen").text("");
			
		}else if($("#file_form_imagen").val() !== "" && $("#file_form_imagen").val() !== null){
			$("#archivosModalGuardar").removeAttr("disabled");
		}
	});
	
	//Comprobar extensión válida audio.
	$("#file_form_audio").change(function() {
		var ruta = $("#file_form_audio").val().match(/\\([^\\]+)$/)[1];
		var ext = ruta.match(/\.[0-9,a-z]{3,4}$/i);
		var tamanioMaximo = $.rup.i18n.app.files.maxSize;
		
		if (typeof ext === "undefined" || !Array.isArray(ext) || ext.length <= 0 || extensionesAceptadasAudio.indexOf(ext[0].replace(".", "").toLowerCase()) <= -1) {
			$("#archivosModalFeedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
			$("#archivosModalFeedback").rup_feedback("set", $.rup.i18n.app.files.extensionNoValida, "error");
			$("#file_form_audio").replaceWith($("#file_form_audio").val('').clone(true));
			$("#nombreAudio").text("");
			
		} else if(this.files[0].size > maxFileSize){
			tamanioMaximo = tamanioMaximo.replace("{0}", 5);
			$("#archivosModalFeedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
			$("#archivosModalFeedback").rup_feedback("set", tamanioMaximo, "error");
			$("file_form_audio").replaceWith($("#file_form_audio").val('').clone(true));
			$("#nombreAudio").text("");
			
		} else if($("#file_form_audio").val() !== "" && $("#file_form_audio").val() !== null){
			$("#archivosModalGuardar").removeAttr("disabled");
		}
	});
	
	//Cerrar modal archivos.
	$("#archivosModalCancelar").click(function(){
		$("#archivosModal").rup_dialog("close");	
	});
	
	//Sumitar formulario modal archivos.
	$("#archivosModalGuardar").click(function(){
		$("#archivosModalForm").submit();
		bloquearInterfaz();
	});
	
	//Click en descargar documento/imagen/audio.
	$(".btnDescargarArchivo").each(function(){
		$("#"+this.id).click(function(){
			var idFichero = $(this).prevAll('input').val();
			window.location = CTX_PATH + "informeTecnico/descargaArchivos/" + idFichero;
		});
	});
	
	//Abrir la ventana modal de adjuntar archivos para preguntas expediente y asignarle el idPreguntaExpediente al input hidden de la modal.
	$(".btnAdjuntarArchivosExpediente").each(function(){
		$("#"+this.id).click(function(){
			$("#archivosModalExpediente").rup_dialog("open");	
			$("#archivosModalExpediente").rup_dialog("setOption", "title", $.rup.i18n.app.informeTecnico.adjuntarArchivos);			
			limpiarArchivosExpediente();
			var idPreguntaExpediente = $("#"+this.id).parent().parent().prev().val();	
			$("#idPreguntaModalExpediente").val(idPreguntaExpediente);
			subidaArchivosExpedienteTabla = false;
		});
	});
	
	//Comprobar extensión válida documento preguntas expediente.
	$("#file_form_documento_expediente").change(function() {
		
		var ruta = $("#file_form_documento_expediente").val().match(/\\([^\\]+)$/)[1];
		var ext = ruta.match(/\.[0-9,a-z]{3,4}$/i);
		var tamanioMaximo = $.rup.i18n.app.files.maxSize;
		
		if (typeof ext === "undefined" || !Array.isArray(ext) || ext.length <= 0 || extensionesAceptadasDocumento.indexOf(ext[0].replace(".", "").toLowerCase()) <= -1) {
			$("#archivosModalExpedienteFeedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
			$("#archivosModalExpedienteFeedback").rup_feedback("set", $.rup.i18n.app.files.extensionNoValida, "error");
			$("#file_form_documento_expediente").replaceWith($("#file_form_documento_expediente").val('').clone(true));
			$("#nombreDocumentoExpediente").text("");
			
		} else if(this.files[0].size > maxFileSize){
			tamanioMaximo = tamanioMaximo.replace("{0}", 5);
			$("#archivosModalExpedienteFeedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
			$("#archivosModalExpedienteFeedback").rup_feedback("set", tamanioMaximo, "error");
			$("#file_form_documento_expediente").replaceWith($("#file_form_documento_expediente").val('').clone(true));
			$("#nombreDocumentoExpediente").text("");			
			
		} else if($("#file_form_documento_expediente").val() !== "" && $("#file_form_documento_expediente").val() !== null){
			$("#archivosModalExpedienteGuardar").removeAttr("disabled");
			
		}
	});
	
	//Comprobar extensión válida imagen preguntas expediente.
	$("#file_form_imagen_expediente").change(function() {
		var ruta = $("#file_form_imagen_expediente").val().match(/\\([^\\]+)$/)[1];
		var ext = ruta.match(/\.[0-9,a-z]{3,4}$/i);
		var tamanioMaximo = $.rup.i18n.app.files.maxSize;
		
		if (typeof ext === "undefined" || !Array.isArray(ext) || ext.length <= 0 || extensionesAceptadasImagen.indexOf(ext[0].replace(".", "").toLowerCase()) <= -1) {
			$("#archivosModalExpedienteFeedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
			$("#archivosModalExpedienteFeedback").rup_feedback("set", $.rup.i18n.app.files.extensionNoValida, "error");
			$("#file_form_imagen_expediente").replaceWith($("#file_form_imagen_expediente").val('').clone(true));
			$("#nombreImagenExpediente").text("");
			
		}  else if(this.files[0].size > maxFileSize){
			tamanioMaximo = tamanioMaximo.replace("{0}", 5);
			$("#archivosModalExpedienteFeedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
			$("#archivosModalExpedienteFeedback").rup_feedback("set", tamanioMaximo, "error");
			$("file_form_imagen_expediente").replaceWith($("#file_form_imagen_expediente").val('').clone(true));
			$("#nombreImagenExpediente").text("");
			
		}else if($("#file_form_imagen_expediente").val() !== "" && $("#file_form_imagen_expediente").val() !== null){
			$("#archivosModalExpedienteGuardar").removeAttr("disabled");
		}
	});
	
	//Comprobar extensión válida audio preguntas expediente.
	$("#file_form_audio_expediente").change(function() {
		var ruta = $("#file_form_audio_expediente").val().match(/\\([^\\]+)$/)[1];
		var ext = ruta.match(/\.[0-9,a-z]{3,4}$/i);
		var tamanioMaximo = $.rup.i18n.app.files.maxSize;
		
		if (typeof ext === "undefined" || !Array.isArray(ext) || ext.length <= 0 || extensionesAceptadasAudio.indexOf(ext[0].replace(".", "").toLowerCase()) <= -1) {
			$("#archivosModalExpedienteFeedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
			$("#archivosModalExpedienteFeedback").rup_feedback("set", $.rup.i18n.app.files.extensionNoValida, "error");
			$("#file_form_audio_expediente").replaceWith($("#file_form_audio_expediente").val('').clone(true));
			$("#nombreAudioExpediente").text("");
			
		} else if(this.files[0].size > maxFileSize){
			tamanioMaximo = tamanioMaximo.replace("{0}", 5);
			$("#archivosModalExpedienteFeedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
			$("#archivosModalExpedienteFeedback").rup_feedback("set", tamanioMaximo, "error");
			$("file_form_audio_expediente").replaceWith($("#file_form_audio_expediente").val('').clone(true));
			$("#nombreAudioExpediente").text("");
			
		} else if($("#file_form_audio_expediente").val() !== "" && $("#file_form_audio_expediente").val() !== null){
			$("#archivosModalExpedienteGuardar").removeAttr("disabled");
		}
	});
	
	//Vaciar las respuestas de tipo SÍ/NO/NP en preguntas protocolo
	$(".btnVaciarRespuestaProtocolo").each(function(){
		var idRespuestaProtocolo = this.id.split("_")[1];
		if(typeof idRespuestaProtocolo === "undefined" || idRespuestaProtocolo === null || idRespuestaProtocolo === ""){
			$("#"+this.id).hide();
		}
		
		$("#"+this.id).click(function(){
			var idPreguntaProtocolo = this.id.split("_")[2];
			
			$.rup_messages("msgConfirm", {
				title: $.rup.i18n.app.informeTecnico.vaciarRespuesta,
				message: $.rup.i18n.app.informeTecnico.vaciarRespuestaConfirm,
				OKFunction:	function() {
					bloquearInterfaz();
					$.ajax({
						type: "DELETE",
						url: CTX_PATH + "informeTecnico/vaciarRespuestaProtocolo/" + idPreguntaProtocolo + "/" + idRespuestaProtocolo,
						contentType: "application/json",
						success: function(){
							desbloquearInterfaz();
							sessionStorage.setItem("reloadInformeTecnico", true);
							sessionStorage.setItem("vaciarRespuestaOk", true);
							location.reload();
						},
						error: function(){
							desbloquearInterfaz();
							$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.vaciarRespuestaError, "error");
						}
					});
				}
			});
			
			
		});
	});
	
	//Vaciar las respuestas de tipo SÍ/NO/NP en preguntas expediente
	$(".btnVaciarRespuestaExpediente").each(function(){
		
		var idRespuestaExpediente = this.id.split("_")[1];
		if(typeof idRespuestaExpediente === "undefined" || idRespuestaExpediente === null || idRespuestaExpediente === ""){
			$("#"+this.id).hide();
		}
		
		$("#"+this.id).click(function(){
			var idPreguntaExpediente = this.id.split("_")[2];
			
			$.rup_messages("msgConfirm", {
				title: $.rup.i18n.app.informeTecnico.vaciarRespuesta,
				message: $.rup.i18n.app.informeTecnico.vaciarRespuestaConfirm,
				OKFunction:	function() {
					bloquearInterfaz();
					$.ajax({
						type: "DELETE",
						url: CTX_PATH + "informeTecnico/vaciarRespuestaExpediente/" + idPreguntaExpediente,
						contentType: "application/json",
						success: function(){
							desbloquearInterfaz();
							sessionStorage.setItem("reloadInformeTecnico", true);
							sessionStorage.setItem("vaciarRespuestaOk", true);
							location.reload();
						},
						error: function(){
							desbloquearInterfaz();
							$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.vaciarRespuestaError, "error");
						}
					});
				}
			});
			
			
		});
	});
	
	//Modificar la pregunta de expediente
	$(".btnEditarPreguntaExpediente").each(function(){
			
		var idPreguntaExpediente = this.id.split("_").pop();
		
		$("#"+this.id).click(function(){
			bloquearInterfaz();
			$.ajax({
				type: "GET",
				url: CTX_PATH + "informeTecnico/getPreguntaExpediente/" + idPreguntaExpediente,
				contentType: "application/json",
				dataType:"json",
				success: function(data){
					desbloquearInterfaz();
					$("#preguntasExpedienteModal").rup_dialog("open");
					$("#preguntasExpedienteModal").rup_dialog("setOption", "title", $.rup.i18n.app.informeTecnico.editarPreguntaExpediente);
					limpiarModalPreguntasExpediente();
					$("#idPreguntaExpedienteModal").val(data.idPreguntaExpediente);
					$("#descripcionCastellanoModal").val(data.descripcionCastellano);
					$("#descripcionEuskeraModal").val(data.descripcionEuskera);
					$("#tiposPreguntaCombo").rup_combo("setRupValue", data.idTipoPregunta);
					tipoPreguntaBBDD = data.idTipoPregunta;

					if(data.idTipoPregunta == CHECKBOX) {
						$("#divOpciones").removeAttr("hidden");
						$("#opcionesEs").val(data.opcionesEs);
						$("#opcionesEu").val(data.opcionesEu);						
					}
					
				},
				error: function(){
					desbloquearInterfaz();
					$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.feedback.error.errorGenerico, "error");
				}
			});
			
		});
	});
	
	//Eliminar las preguntas de expediente
	$(".btnEliminarPreguntaExpediente").each(function(){
		
		var idPreguntaExpediente = this.id.split("_").pop();
		
		$("#"+this.id).click(function(){
			
			
			$.rup_messages("msgConfirm", {
				title: $.rup.i18n.app.informeTecnico.eliminarPregunta,
				message: $.rup.i18n.app.informeTecnico.eliminarPreguntaConfirm,
				OKFunction:	function() {
					bloquearInterfaz();
					$.ajax({
						type: "DELETE",
						url: CTX_PATH + "informeTecnico/eliminarPreguntaExpediente/" + idPreguntaExpediente,
						contentType: "application/json",
						success: function(){
							desbloquearInterfaz();
							sessionStorage.setItem("reloadInformeTecnico", true);
							sessionStorage.setItem("eliminarPreguntaOk", true);
							location.reload();
						},
						error: function(){
							desbloquearInterfaz();
							$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.eliminarPreguntaError, "error");
						}
					});
				}
			});
			
			
		});
	});
	
	//Cerrar modal archivos preguntas expediente.
	$("#archivosModalExpedienteCancelar").click(function(){
		$("#archivosModalExpediente").rup_dialog("close");	
	});
	
	//Sumitar formulario modal archivos preguntas expediente.
	$("#archivosModalExpedienteGuardar").click(function(){
		var urlSubidaArchivosExpediente;
		if(subidaArchivosExpedienteTabla) {
			urlSubidaArchivosExpediente = CTX_PATH + "informeTecnico/subidaArchivosExpedienteTabla";
		} else {
			urlSubidaArchivosExpediente = CTX_PATH + "informeTecnico/subidaArchivosExpediente";
		}
		
		//Formulario modal subida de archivos preguntas expediente.
		$("#archivosModalExpedienteForm").rup_form({
			feedback: $("#archivosModalExpedienteFeedback"),
			url: urlSubidaArchivosExpediente,
			type: "POST",
			contentType: "application/json",
			dataType:"json",
			clear: true,
			success: function(data){
				$("#archivosModalExpediente").rup_dialog("close");
				mostrarIconosArchivosDisabledExpediente(data);
				mostrarIconosArchivosDisabledExpedienteTabla(data);
				desbloquearInterfaz();						
			},
			error: function(){
				desbloquearInterfaz();
				$("#archivosModalExpedienteFeedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
				$("#archivosModalExpedienteFeedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.guardarArchivosError, "error");
			}
		});
		
		$("#archivosModalExpedienteForm").submit();
		bloquearInterfaz();
	});
	
	//Click en descargar documento/imagen/audio preguntas expediente.
	$(".btnDescargarArchivoExpediente").each(function(){
		$("#"+this.id).click(function(){
			var idFichero = $(this).prevAll('input').val();
			window.location = CTX_PATH + "informeTecnico/descargaArchivosExpediente/" + idFichero;
		});
	});
	
	//Formulario modal preguntas expediente
	$("#preguntasExpedienteModalForm").rup_form({
		feedback: $("#preguntasExpedienteModalFeedback"),
		url: CTX_PATH + "informeTecnico/guardarPreguntasExpediente/" + idInspeccionInformeTecnico,
		type: "POST",
		contentType: "application/json",
		dataType:"json",
		validate: {
			showErrorsInFeedback : false,
			rules: {
				"descripcionCastellano" : { required : true, maxlength : 500 },
				"descripcionEuskera"	: { required : true, maxlength : 500 },
				"idTipoPregunta"		: { required : true },
				"opcionesEs" : {
					required : {
						depends : function() {
							if ($("#tiposPreguntaCombo").val() == CHECKBOX) {
								return true;
							} else {
								return false;
							}
						}
					}
				},
				"opcionesEu" : {
					required : {
						depends : function() {
							if ($("#tiposPreguntaCombo").val() == CHECKBOX) {
								return true;
							} else {
								return false;
							}
						}
					}
				}
			}
		},
		success: function(){
			sessionStorage.setItem("reloadInformeTecnico", true);
			sessionStorage.setItem("guardarPreguntasExpOk", true);
			inicializaControlCambios("preguntasExpedienteModalForm");
			location.reload();
		},
		error: function(){
			$("#preguntasExpedienteModalFeedback").rup_feedback({gotoTop : true, block : false, closeLink : true, delay : 8000});
			$("#preguntasExpedienteModalFeedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.guardarPreguntasExpError, "error");
		},
		
	});
	
	//Abrir ventana modal para añadir pregunta expediente
	$("#btnNuevaPreguntaExpediente").click(function(){
		$("#preguntasExpedienteModal").rup_dialog("open");
		$("#preguntasExpedienteModal").rup_dialog("setOption", "title", $.rup.i18n.app.informeTecnico.nuevaPreguntaExpediente);
		limpiarModalPreguntasExpediente();
	});
	
	//Cerrar modal pregunta expediente
	$("#preguntasExpedienteModalCancelar").click(function(){
		$("#preguntasExpedienteModal").rup_dialog("close");
	});
	
	//Sumitar formulario preguntas expediente
	$("#preguntasExpedienteModalGuardar").click(function(){
		
		if(tipoPreguntaCambiado()) {			
		
			$.rup_messages("msgConfirm", {
				title: $.rup.i18n.app.informeTecnico.editarPreguntaExpediente,
				message: $.rup.i18n.app.informeTecnico.editarPreguntaExpedienteConfirm,
				OKFunction:	function() {
					if($("#tiposPreguntaCombo").val() == CHECKBOX){
						comprobarNumeroDeOpciones();
					} else{
						$("#preguntasExpedienteModalForm").submit();
					}
				}
			});
		} else {
			if($("#tiposPreguntaCombo").val() == CHECKBOX){
				comprobarNumeroDeOpciones();
			} else{
				$("#preguntasExpedienteModalForm").submit();
			}
		}			
	});
	
	if($("#esExpedienteCerrado").val() === "true"){
		setTimeout(function() { 
			bloquearInspeccion();
	    }, 500);
		
	} else {
		setTimeout(function() { 
			desbloquearInspeccion();

			if($.inArray(parseInt($("#resultadoInspeccionFicha").val()), idsResultadoCancelada) !== -1) {
				$("#informeTecnicoForm .btn:not(#btnVolverABusqueda)").each(function() {
					$("#"+this.id).prop("disabled", true);
				});
				$("#informeTecnicoForm :input").prop("disabled", true);
				$("#informeTecnicoForm select").each(function() {
					$("#"+this.id).rup_combo("disable");
				});
				$(".comboTabla").each(function() {
					$("#"+this.id).rup_combo("disable");
				});
				
				$(".preguntasExpedienteTextarea").each(function() {
					$("#"+this.id).prop("disabled", true);
					$("#"+this.id).css("opacity", 0.5);
				});
				
			}
	    }, 500);
	}
	
});

//Pintar combos correcto-incorrecto-na.
function pintarComboCorrectoIncorrecto(){
	
	var list = new Array();				
	list[0]= {i18nCaption: $.rup.i18n.app.comboCorrectoIncorrecto.blank, value:"0"};
	list[1]= {i18nCaption: $.rup.i18n.app.comboCorrectoIncorrecto.correcto, value:"1"};
	list[2]= {i18nCaption: $.rup.i18n.app.comboCorrectoIncorrecto.incorrecto, value:"2"};
	list[3]= {i18nCaption: $.rup.i18n.app.comboCorrectoIncorrecto.na, value:"3"};
	//Transformo en JSON la lista.
	$.toJSON(list);	
	
	$(".combo").each(function(){
		$("#"+this.id).rup_combo({
			loadFromSelect:true,
			onLoadSuccess : function() {
				$("#"+this.id).prev().val($("#"+this.id).val())
			},
			orderedByValue: true,
			select: function(){
				$("#"+this.id).prev().val($("#"+this.id).val())
			}
		});
	});
	
	$(".comboTabla").each(function(){
		this.id = this.id+i;
		$("#"+this.id).rup_combo({
			source: list,
			orderedByValue: true,
			width:100,
			change: function(){
				var numeroFila = this.id.split("_").pop();
				
//				if($("#"+this.id).val() == NO_SELECCIONADO){
//					$("#"+this.id).val(null);
//				}
				
				$("#preguntasExpediente").DataTable().rows([numeroFila]).data().toArray()[0].resultado = $("#"+this.id).val();
			}
		});
		i++;
	});
	
}

//Seleccionar 'correcto' o 'incorrecto' en los combos del datatable.
function marcarCorrectoIncorrecto(correcto){
	$(".comboTabla").each(function(){
		
		if(correcto){
			$("#"+this.id).rup_combo("setRupValue", 1);
		}else{
			$("#"+this.id).rup_combo("setRupValue", 2);
		}
		
	});
}

//Checkear los checkbox dependiendo de la respuesta.
function pintarValorCheckbox(){
	$(".checkInput").each(function(){
		var idCheck = this.id;
		var valorCheck = $("#"+this.id).val();
		
		$(".respuestaCheck").each(function(){
			var ordenPregunta = idCheck.split("_");
			var ordenRespuesta = this.id.split("_");
			
			if(ordenPregunta[1] === ordenRespuesta[1]){
				var valorRespuesta = $("#"+this.id).val();
				
				if(valorRespuesta.indexOf(valorCheck) !== -1){
					$("#"+idCheck).prop("checked", true);
				}
			}
		});
	});
}

//Guardar valor de radio buttons en input hidden.
function guardarValorRadioButtons(){
	$(".custom-control-input").each(function(){
		$("#"+this.id).click(function(){
			var idRadio = this.id;
			var valorRadio = $("#"+this.id).val();
			$(".respuestaSiNo").each(function(){
				var idRadioAux = idRadio;
				
				if(idRadioAux.indexOf("_Si") >= 0){
					idRadioAux = idRadio.replace("_Si", "").replace("pregunta", "respuesta");
				} else if(idRadioAux.indexOf("_No") >= 0){
					idRadioAux = idRadio.replace("_No", "").replace("pregunta", "respuesta");
				} else if(idRadioAux.indexOf("_Np") >= 0){
					idRadioAux = idRadio.replace("_Np", "").replace("pregunta", "respuesta");
				}
				
				if(this.id === idRadioAux){
					$("#"+this.id).val(valorRadio);
				}
			});
		});
	});
}

//Guardar valor de los checkbox en input hidden.
function guardarValorCheckbox(){
	$(".checkInput").each(function(){
		
		$("#"+this.id).change(function(){
			var idCheck = this.id;
			var valorCheck = $("#"+this.id).val();
			
			$(".respuestaCheck").each(function(){
				var ordenPregunta = idCheck.split("_");
				var ordenRespuesta = this.id.split("_");
				
				if(ordenPregunta[1] === ordenRespuesta[1]){
					var opcionRespuesta = valorCheck + ";";
					
					if($("#"+idCheck).is(":checked")){
						$("#"+this.id).val($("#"+this.id).val() + opcionRespuesta);
						
					} else{
						$("#"+this.id).val($("#"+this.id).val().replace(opcionRespuesta, ""));
					}
				}
			});			
		});
	});
}

//Función que limpia los input file al abrir la modal de archivos.
function limpiarArchivos(){
	$("#file_form_documento").replaceWith($("#file_form_documento").val('').clone(true));
	$("#nombreDocumento").text("");
	$("#file_form_imagen").replaceWith($("#file_form_imagen").val('').clone(true));
	$("#nombreImagen").text("");
	$("#file_form_audio").replaceWith($("#file_form_audio").val('').clone(true));
	$("#nombreAudio").text("");
	$("#archivosModalGuardar").attr("disabled", true);
}

//Función que limpia los input file al abrir la modal de archivos preguntas expediente.
function limpiarArchivosExpediente(){
	$("#file_form_documento_expediente").replaceWith($("#file_form_documento_expediente").val('').clone(true));
	$("#nombreDocumentoExpediente").text("");
	$("#file_form_imagen_expediente").replaceWith($("#file_form_imagen_expediente").val('').clone(true));
	$("#nombreImagenExpediente").text("");
	$("#file_form_audio_expediente").replaceWith($("#file_form_audio_expediente").val('').clone(true));
	$("#nombreAudioExpediente").text("");
	$("#archivosModalExpedienteGuardar").attr("disabled", true);
}

//Función para mostrar un icono de descarga de archivo que estará deshabilitado hasta que se guarden las respuestas.
//En ese momento se guardan también los archivos y se permite su descarga.
function mostrarIconosArchivosDisabled(listaFicheros){
	var idTipo;
	for ( var i in listaFicheros.ficherosAdjPro) {
		
		$(".btnDescargarArchivoDisabled").each(function(){
			this.id = this.id.replace("btnDescargarArchivoDisabled", "");
			idTipo = this.id.split("_");
			idTipo[0] = parseInt(idTipo[0]);
			idTipo[1] = parseInt(idTipo[1]);			
			if(idTipo[0] === listaFicheros.ficherosAdjPro[i].idRelProPre && idTipo[1] === listaFicheros.ficherosAdjPro[i].tipoFicheroAdjunto){
				$("#"+this.id).removeClass("d-none");
			}
		});		
	}
}

function mostrarIconosArchivosDisabledExpediente(listaFicheros){
	var idTipo;
	for ( var i in listaFicheros.ficherosAdjExp) {
		
		$(".btnDescargarArchivoDisabledExpediente").each(function(){
			this.id = this.id.replace("btnDescargarArchivoDisabledExpediente", "");
			idTipo = this.id.split("_");
			idTipo[0] = parseInt(idTipo[0]);
			idTipo[1] = parseInt(idTipo[1]);			
			if(idTipo[0] === listaFicheros.ficherosAdjExp[i].idPreguntaExpediente && idTipo[1] === listaFicheros.ficherosAdjExp[i].tipoFicheroAdjunto){
				$("#"+this.id).removeClass("d-none");
			}
		});
	}
}

function mostrarIconosArchivosDisabledExpedienteTabla(listaFicheros){
	var idTipo;
	
	for ( var i in listaFicheros.ficherosAdjExp) {
		
		$(".btnDescargarArchivoTablaDisabledDoc").each(function(){
			this.id = this.id.replace("btnDescargarArchivoTablaDisabled_", "");
			idTipo = this.id.split("_");
			idTipo[1] = parseInt(idTipo[1]);
			idTipo[2] = parseInt(idTipo[2]);			
			if(idTipo[1] === listaFicheros.ficherosAdjExp[i].idPreguntaExpediente && idTipo[2] === listaFicheros.ficherosAdjExp[i].tipoFicheroAdjunto){
				$("#"+this.id).removeClass("d-none");
			}
		});
	}
	for ( var j in listaFicheros.ficherosAdjExp) {
		
		$(".btnDescargarArchivoTablaDisabledImg").each(function(){
			this.id = this.id.replace("btnDescargarArchivoTablaDisabled_", "");
			idTipo = this.id.split("_");
			idTipo[1] = parseInt(idTipo[1]);
			idTipo[2] = parseInt(idTipo[2]);			
			if(idTipo[1] === listaFicheros.ficherosAdjExp[j].idPreguntaExpediente && idTipo[2] === listaFicheros.ficherosAdjExp[j].tipoFicheroAdjunto){
				$("#"+this.id).removeClass("d-none");
			}
		});
	}
	for ( var k in listaFicheros.ficherosAdjExp) {
		
		$(".btnDescargarArchivoTablaDisabledAudio").each(function(){
			this.id = this.id.replace("btnDescargarArchivoTablaDisabled_", "");
			idTipo = this.id.split("_");
			idTipo[1] = parseInt(idTipo[1]);
			idTipo[2] = parseInt(idTipo[2]);			
			if(idTipo[1] === listaFicheros.ficherosAdjExp[k].idPreguntaExpediente && idTipo[2] === listaFicheros.ficherosAdjExp[k].tipoFicheroAdjunto){
				$("#"+this.id).removeClass("d-none");
			}
		});
	}
}

//Comprobar extensión válida de Excel a importar.
function comprobarExtensionExcel(){
	var ruta = $("#inputImportarExcelInforme").val().match(/\\([^\\]+)$/)[1];
	var ext = ruta.match(/\.[0-9,a-z]{3,4}$/i);
	
	if (typeof ext === "undefined" || !Array.isArray(ext) || ext.length <= 0 || extensionesAceptadasExcel.indexOf(ext[0].replace(".", "").toLowerCase()) <= -1) {
		extensionValidaExcel = false;
		
	} else if($("#inputImportarExcelInforme").val() !== "" && $("#inputImportarExcelInforme").val() !== null){
		extensionValidaExcel = true;
	}
}

//Comprobar que el Excel a importar pertenece a la misma inspección en la que está el usuario.
function comprobarInspeccionExcel(){
	var identificadorInspeccion = $("#inspeccion").text();
	var nombreExcel = $("#excelImportar p:first-child").text().substring(0, identificadorInspeccion.length);
	
	if(identificadorInspeccion === nombreExcel){
		inspeccionExcelCorrecta = true;
	} else{
		inspeccionExcelCorrecta = false;
	}
	
}

//Limpiar el formulario modal de añadir preguntas de expediente
function limpiarModalPreguntasExpediente(){
	$("#preguntasExpedienteModalForm").rup_validate("resetForm");
	$("#descripcionCastellanoModal").val("");
	$("#descripcionEuskeraModal").val("");
	$("#tiposPreguntaCombo").rup_combo("reload");
	$("#divOpciones").attr("hidden", "true");
	$("#opcionesEs").val("");
	$("#opcionesEu").val("");
}

//Comprobar el número de opciones que escribe el usuario para el tipo de pregunta checkbox
function comprobarNumeroDeOpciones(){
	
	var opcionesEs = $("#opcionesEs").val();
	var opcionesEu = $("#opcionesEu").val();
	
	if(opcionesEs[opcionesEs.length - 1] === ";"){
		opcionesEs = opcionesEs.slice(0, opcionesEs.length - 1);
	}
	
	if(opcionesEu[opcionesEu.length - 1] === ";"){
		opcionesEu = opcionesEu.slice(0, opcionesEu.length - 1);
	}
	
	var opcionesEsArray = opcionesEs.split(";");
	var opcionesEuArray = opcionesEu.split(";");
	
	if(opcionesEsArray.length === opcionesEuArray.length){
		$("#preguntasExpedienteModalForm").submit();
	} else{
		$("#preguntasExpedienteModalFeedback").rup_feedback({ gotoTop : true, block : false, closeLink : true, delay : 8000 });
		$("#preguntasExpedienteModalFeedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.numeroOpcionesError, "error");
	}
}

//Agrupar las preguntas a validar por la descripción del objeto de establecimiento
function mostrarTituloObjValidar(){
	var tituloObjValidar;
	$(".objetoValidar").each(function(i){
		if(i === 0){
			tituloObjValidar = $("#"+this.id+" label").text();
		}else{
			if($("#"+this.id+" label").text() === tituloObjValidar){
				$("#"+this.id).css("display", "none");
			}else{
				tituloObjValidar = $("#"+this.id+" label").text();
			}
		}
		
	});
}

//Actualizamos el valor del textarea (notas inspector) al cambiar el contenido
function actualizarTextareaCas(element){
	var numeroTextarea = element.id.split("_").pop();
	$("#preguntasExpediente").DataTable().rows([numeroTextarea]).data().toArray()[0].observacionesInspeccionCas = $("#"+element.id).val();
}
function actualizarTextareaEus(element){
	var numeroTextarea = element.id.split("_").pop();
	$("#preguntasExpediente").DataTable().rows([numeroTextarea]).data().toArray()[0].observacionesInspeccionEus = $("#"+element.id).val();
}

function guardarRespuestasTabla(){
	var datosTabla = $("#preguntasExpediente").DataTable().rows().data().toArray();
	
	var tablaPreguntasExpediente = $("#preguntasExpediente").DataTable();
	
	$.ajax({
		type: "POST",
		url: CTX_PATH + "informeTecnico/guardarRespuestasTabla/" + idInspeccionInformeTecnico,
		data: JSON.stringify(datosTabla),
		contentType: "application/json",
		success: function(){
			tablaPreguntasExpediente.ajax.reload();
			desbloquearInterfaz();
			sessionStorage.setItem("reloadInformeTecnico", true);
			sessionStorage.setItem("guardadoOk", true);
			inicializaControlCambios("informeTecnicoForm");
			location.reload();
		},
		error: function(){
			$("#informeTecnico_feedback").rup_feedback("set", $.rup.i18n.app.informeTecnico.preguntasProtocoloGuardadoError, "error");
		}
	});
}

function tipoPreguntaCambiado() {
	if(tipoPreguntaBBDD !== null && tipoPreguntaBBDD != $("#tiposPreguntaCombo").rup_combo("getRupValue")) {
		return true;
	} else {
		return false;
	}
	
}