var filaSeleccionadaInfracciones;
var mostrarDocumentosInspeccion;

jQuery(function($){	
	var idPropuesta = $("#idPropuesta").val();
	var url = "/ab79WebAppWar/propuestaSancion/generarPropuestaSancionSinExpediente/" + idInspeccion;
	if($("#notasPropuestaSancion").val() === "NULL"){
		$("#notasPropuestaSancion").val("");
	}
	if($("#idExpediente").val() != ""){
		url = "/ab79WebAppWar/propuestaSancion/generarPropuestaSancion/" + $("#idExpediente").val()+"/"+idInspeccion;
		$("#folderNumberDiv").removeAttr("hidden");
		$("#inspeccionDiv").attr("hidden", "true");
		$("#DocumentosInspeccionAcordeon").show();
		mostrarDocumentosInspeccion = true;
	} else{
		$("#folderNumberDiv").attr("hidden", "true");
		$("#inspeccionDiv").removeAttr("hidden");
		mostrarDocumentosInspeccion = false;
		$("#documentosInspeccionAcordeon").hide();
	}
	
	//Feedback tabla infracciones
	$("#propuestaSancionInfracciones_detail_feedback").rup_feedback({
		type: "ok",
		gotoTop : true,
		block:false,
		closeLink: true,
		delay: 8000,
		fadeSpeed: 500
	});
	
	$('#btnGenerarPropuestaSancion').on('click', function(){
		generarPropuestaSancion()
	});	
	$('#btnEliminarPropuestaSancion').on('click',function(){
		eliminarPropuestaSancion()
	});
	$("#btnModificarPropuestaSancion").on('click',function(){
		cargarModalModificarPropuesta(idPropuesta)
	});
	$('body').on('change', "#comboDerechos", function(event, data){
		buscarDescricionDerechos($("#comboDerechos").val());
	});
		
	//metodos de la propuesta de sancion
	function generarPropuestaSancion(){
		cargarModalPropuestaSancion(url);
		bloquearInterfaz();	
	}
	
	function obtenerPropuesta(){
		var idPropuesta = -1
		$.ajax({
			url:CTX_PATH + "propuestaSancion/obtenerIdPropuesta/"+idInspeccion,
			success:function(response){
				idPropuesta = response;
			}
		});
		return idPropuesta;
	}
	
	function eliminarPropuestaSancion(){
		
		$.rup_messages("msgConfirm", {
			title: "Propuesta eliminada",
			message: "Se eliminará la propuesta de sancion",
			OKFunction:function(){				
				$.ajax({
					async:false,
					url: CTX_PATH + "propuestaSancion/eliminarPropuesta/"+$("#idPropuesta").val(),
					success: function() {
						sessionStorage.setItem("eliminarPropuestaFeedback", true);
						location.reload();
					},
					error: function() {
						$("#expediente_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true });
						$("#expediente_feedback").rup_feedback("set",$.rup.i18n.app.propuestaSancion.eliminarPropuestaError,"error");
					}
				});
				
			}
		});	
	}
	
	function cargarModalPropuestaSancion(url){
			$("#dialogGenerarPropuestaSancion").rup_dialog({
				type: $.rup.dialog.AJAX,
				url: url,
				title:$.rup.i18n.app.propuestaSancion.crearPropuesta,
				closeOnEscape:false,
				autoOpen: true,
				modal: true,
				width:1100,
				resizable: true,
				open: function (){
					desbloquearInterfaz();
					if($("#idOrigenInspeccion").val() == ORIGEN_DENUNCIAS){
						if($("#mostrarDenunciadoHeader").val() !== "true" && sessionStorage.getItem("tieneParteInculpada") === "true"){
							$("#datos").show();
							$("#infraccionesAcordeon").show();
							$("#documentosAcordeon").show();
							$(".botoneraTabla").show();
						
							var idPropuesta = $("#idPropuestaGenerada").val();				
							$("#idPropuesta_filter_table_propuestaSancionInfracciones").val(idPropuesta);
							$("#idInspeccion_filter_table_propuestaSancionDocumentos").val(idInspeccion);
							cargarTablaInfracciones();
							cargarTablaDocumentos();
							if(mostrarDocumentosInspeccion){
								cargarTablaDocumentosInspeccion();
							}
							cargaAcordeones();
							
							/* Ocultar el estado */
							$("#propuestaEstado").addClass("d-none");
							
							$("#btnCancelar").click(function(){
								$("#dialogGenerarPropuestaSancion").rup_dialog("close");
							});
							
							if(ROLE_RESPONSABLE){
								$("#btnGuardarPropuesta").show();
								$("#btnEnviar").show();
								$("#btnEnviar").click(function(){
									enviarPropuestaSancion("enviarPropuesta")
								});
								$("#btnGuardarPropuesta").click(function(){
									guardarPropuestaSancion()
								});
							} else if(ROLE_TECNICO){
								$("#btnEnviar").hide();
								$("#btnGuardarPropuesta").show();
								$("#btnGuardarPropuesta").click(function(){
									guardarPropuestaSancion()
								});
							}
							
							$("#btnNuevaInfraccion").click(function(){
								var urlInfraccion = CTX_PATH + "propuestaSancionInfracciones/modalInfraccion";
								cargarModalInfraccion(urlInfraccion,idPropuesta);
							});
							
							$("#btnEditarInfraccion").click(function(){
								var urlInfraccion = CTX_PATH + "propuestaSancionInfracciones/modalInfraccion";
								cargarModalModificarInfraccion(urlInfraccion);
							});
							
							$("#btnEliminarInfraccion").click(function(){					
								eliminarInfraccion();
							});
						}else {
							$("#datos").hide();
							$("#infraccionesAcordeon").hide();
							$("#documentosAcordeon").hide();
							$(".botoneraTabla").hide();
							$("#propuestaSancionModalFeedback").rup_feedback({gotoTop: true, block: false, closeLink: true});
							$("#propuestaSancionModalFeedback").rup_feedback("set", $.rup.i18n.app.propuestaSancion.sinParteInculpada, "alert");
						}
						
						
					} else {
						
						$("#datos").show();
						$("#infraccionesAcordeon").show();
						$("#documentosAcordeon").show();
						$(".botoneraTabla").show();
					
						var idPropuesta = $("#idPropuestaGenerada").val();				
						$("#idPropuesta_filter_table_propuestaSancionInfracciones").val(idPropuesta);
						$("#idInspeccion_filter_table_propuestaSancionDocumentos").val(idInspeccion);
						cargarTablaInfracciones();
						cargarTablaDocumentos();
						if(mostrarDocumentosInspeccion){
							cargarTablaDocumentosInspeccion();
						}
						cargaAcordeones();
						
						/* Ocultar el estado */
						$("#propuestaEstado").addClass("d-none");
						
						$("#btnCancelar").click(function(){
							$("#dialogGenerarPropuestaSancion").rup_dialog("close");
						});
						
						if(ROLE_RESPONSABLE){
							$("#btnGuardarPropuesta").show();
							$("#btnEnviar").show();
							$("#btnEnviar").click(function(){
								enviarPropuestaSancion("enviarPropuesta")
							});
							$("#btnGuardarPropuesta").click(function(){
								guardarPropuestaSancion()
							});
						} else if(ROLE_TECNICO){
							$("#btnEnviar").hide();
							$("#btnGuardarPropuesta").show();
							$("#btnGuardarPropuesta").click(function(){
								guardarPropuestaSancion()
							});
						}
						$("#btnNuevaInfraccion").click(function(){
							var urlInfraccion = CTX_PATH + "propuestaSancionInfracciones/modalInfraccion";
							cargarModalInfraccion(urlInfraccion,idPropuesta);
						});
						
						$("#btnEditarInfraccion").click(function(){
							var urlInfraccion = CTX_PATH + "propuestaSancionInfracciones/modalInfraccion";
							cargarModalModificarInfraccion(urlInfraccion);
						});
						
						$("#btnEliminarInfraccion").click(function(){					
							eliminarInfraccion();
						});
					}
				},//open
				beforeClose:function(){
					cancelarPropuestaSancion(idInspeccion);
				},//beforeClose
				close:function(){
					$("#dialogGenerarPropuestaSancion").rup_dialog("destroy");
					$("#dialogGenerarPropuestaSancion").html("");
					location.reload();
				}
			});//dialog
	}
	
	function cancelarPropuestaSancion(idInspeccion){		
		$.ajax({
			async:false,
			url: CTX_PATH + "propuestaSancion/cancelarPropuesta/"+idInspeccion,
		});
	}
	
	function cargarModalInfraccion(url,idPropuesta){
		bloquearInterfaz();
		$("#modalInfracciones").rup_dialog({
			type: $.rup.dialog.AJAX,
			url: url,
			title:$.rup.i18n.app.propuestaSancion.nuevaInfraccion,
			autoOpen:true,
			modal:true,
			width:900,
			resizable:false,
			open:function(){
				$("#nuevaInfraccion").rup_form({
					feedback: $("#nuevaInfraccion_feedback"),
					url: CTX_PATH + "propuestaSancionInfracciones",
					type: "POST",
					contentType: "application/json",
					dataType:"json",
					validate:{ 
						ignore: "",
						liveCheckingErrors : false,
						showFieldErrorAsDefault : true,
						showErrorsInFeedback : true,
						showFieldErrorsInFeedback : true,
						rules:{
							"idInfraccion":{
								required: true
							},
							"idDerechosInf": {
								required: true
							},
							"fechaHecho":{
								required: true
							}
						}
					},
				    success: function(){
				    	$("#modalInfracciones").rup_dialog("close");
						$("#propuestaSancionInfracciones_detail_feedback").rup_feedback("set", $.rup.i18n.app.mensajes.infraccionPropuestaGuardadaOK, "ok");
						//Recarga la tabla después de introducir una nueva infracción.
						$("#propuestaSancionInfracciones").DataTable().ajax.reload(); 
				    },
				    error: function(){
				    	$("#nuevaInfraccion_feedback").rup_feedback("set", $.rup.i18n.app.mensajes.infraccionPropuestaGuardadaNOK, "error");
				    }
				});
				
				// Feedback nueva Infraccion
				$("#nuevaInfraccion_feedback").rup_feedback({
					type: "ok",
					gotoTop : true,
					block:false,
					closeLink: true,
					delay: 8000,
					fadeSpeed: 500
				});
				
				cargaCombosInfraccion();
				
				$("#nuevaInfraccion_idPropuesta").val(idPropuesta);
				
				calcularMayorFechaHecho();
				
				$("#fechaHecho").rup_date();
				$("#btnAniadirInfraccion").click(function(){
					guardarInfraccion();
				});
				$("#btnCancelarInfraccion").click(function(){
					$("#modalInfracciones").rup_dialog("destroy");
					$("#modalInfracciones").html("");
				});				
				desbloquearInterfaz();
			},//open
			close : function(){
				$("#modalInfracciones").rup_dialog("destroy");
				$("#modalInfracciones").html("");
			}
		});//infraccion		
	}
	
	function seleccionados(){
		var seleccionados = [];
		for (var i = 0; i < $('#propuestaSancionDocumentos').DataTable().rows('.selected').data().toArray().length; i++) {
			seleccionados.push($('#propuestaSancionDocumentos').DataTable().rows('.selected').data().toArray()[i].idRelActDoc);
		}
		return seleccionados;
	}
	
	function seleccionadosInspeccion(){
		var seleccionadosInspeccion = [];
		for (var i = 0; i < $('#propuestaSancionDocumentosInspeccion').DataTable().rows('.selected').data().toArray().length; i++) {
			seleccionadosInspeccion.push($('#propuestaSancionDocumentosInspeccion').DataTable().rows('.selected').data().toArray()[i]);
		}
		return seleccionadosInspeccion;
	}
	
	function seleccionadosInfracciones() {
		var seleccionadosInfracciones = [];
		for (var i = 0; i < $('#propuestaSancionInfracciones').DataTable().rows().data().toArray().length; i++) {
			seleccionadosInfracciones.push($('#propuestaSancionInfracciones').DataTable().rows('.selected').data().toArray()[i]);
		}
		return seleccionadosInfracciones;
	}
	
	function enviarPropuestaSancion(enviaMod){
		
		if(seleccionadosInfracciones().length === 0){
			$("#propuestaSancionModalFeedback").rup_feedback({gotoTop: true, block: false, closeLink: true});
			$("#propuestaSancionModalFeedback").rup_feedback("set", $.rup.i18n.app.propuestaSancion.sinInfracciones, "alert");
		} else {
			var notas = $("#notasPropuestaSancion").val();
			if (notas === "" || notas === null )notas="NULL";
			
			var propuestaSancion = {
					"notas": notas,
					"documentos": seleccionados(),
					"documentosInspeccion": seleccionadosInspeccion()
			}
			
			if($("#estadoPropuesta").val() === ""){
				enviaMod = "enviarPropuesta";
			}
			
			$.ajax({
				async : false,
				url : CTX_PATH + "propuestaSancion/"+enviaMod+"/"+idInspeccion,
				type : "POST",
				dataType: "json",
				contentType : 'application/json',
				data: JSON.stringify(propuestaSancion),
				success:function(data){
					if (data !== null) {
						idInspeccion = -1;
						if(enviaMod == "enviarPropuesta"){
							sessionStorage.setItem("generarPropuestaFeedback", true);
						} else {
							sessionStorage.setItem("modificarPropuestaFeedback", true);
						}
						location.reload()
					} else {
						$("#propuestaSancionModalFeedback").rup_feedback({gotoTop: true, block: false, closeLink: true});
						$("#propuestaSancionModalFeedback").rup_feedback("set", $.rup.i18n.app.propuestaSancion.enviarError, "error");
					}
				}, error: function() {
					$("#propuestaSancionModalFeedback").rup_feedback({gotoTop: true, block: false, closeLink: true});
					$("#propuestaSancionModalFeedback").rup_feedback("set", $.rup.i18n.app.propuestaSancion.enviarError, "error");
				}
			});
		}
		
		
	}
	
	function guardarPropuestaSancion(){
		
		var notas = $("#notasPropuestaSancion").val();
		if (notas === "" || notas === null )notas="NULL";
		
		$.ajax({
			async : false,
			url : CTX_PATH + "propuestaSancion/guardarPropuesta/"+ notas +"/"+idInspeccion,
			dataType: "json",
			success:function(){
				idInspeccion = -1;
				sessionStorage.setItem("guardarPropuestaFeedback", true);
				location.reload()
			}, error: function() {
				$("#propuestaSancionModalFeedback").rup_feedback({gotoTop: true, block: false, closeLink: true});
				$("#propuestaSancionModalFeedback").rup_feedback("set", $.rup.i18n.app.propuestaSancion.guardarPropuestaError, "error");
			}
		});
	}
	
	function cargaCombosInfraccion(){
		
		if ($("#inspeccionSinExpediente").val() !== "true") {
			
			$("#divComboProcedimientos").hide();
			
			var idDireccion = obtenerDireccion($("#idExpediente").val());
			
			$("#comboInfracciones").rup_combo({
				blank: "",
				source : CTX_PATH + "propuestaSancion/cargaComboInfraccion?idDireccion="+idDireccion,
				sourceParam : 
				{
					label:"articulo",
					value:"idInfraccion"
				},
				select: function() {
					buscarDescricionInfraccion($("#comboInfracciones").val());
				}
			});
		} else {

			$("#divComboProcedimientos").show();
			
			$("#comboProcedimientos").rup_combo({
				blank:"",
				source : CTX_PATH + "propuestaSancion/cargaComboProcedimientos",
				sourceParam : 
				{
					label:(("eu"===$.rup_utils.get("language")) ? "descripcionEu": "descripcionEs"),
					value:"idProcedimiento"
				},
				onLoadSuccess: function() {
					if(RESPONSABLE_TURISMO){
						$.ajax({
							async: false,
							type: "GET",
							url: CTX_PATH + "procedimientos/procedimientoSancionesTurismo",
							success: function(data) {
								$("#comboProcedimientos").rup_combo("setRupValue", data);
							}
						});
					} else if(RESPONSABLE_COMERCIO){
						$.ajax({
							async: false,
							type: "GET",
							url: CTX_PATH + "procedimientos/procedimientoSancionesComercio",
							success: function(data) {
								$("#comboProcedimientos").rup_combo("setRupValue", data);
							}
						});
					}
				}
			});
			
			$("#comboInfracciones").rup_combo({
				blank: "",
				parent:["comboProcedimientos"],
				source : CTX_PATH + "propuestaSancion/cargaComboInfraccionSinExpediente",
				sourceParam : 
				{
					label:"articulo",
					value:"idInfraccion"
				},
				select: function() {
					buscarDescricionInfraccion($("#comboInfracciones").val());
				},
				onLoadSuccess: function() {
					if(RESPONSABLE_TURISMO || RESPONSABLE_COMERCIO){
						$("#comboProcedimientos").rup_combo("disable");
					}
				}
			});
		}
				
		$("#comboDerechos").rup_combo({
			multiselect:true,
			parent:["comboInfracciones"],
			source : CTX_PATH + "propuestaSancion/cargaComboDerechos",
			sourceParam: {
				label:"articulo",
				value :"idDerecho"
			}
		});
		
	}
	
	function cargarModalModificarPropuesta(idPropuesta){
		bloquearInterfaz();
		url = CTX_PATH +  
		$("#dialogGenerarPropuestaSancion").rup_dialog({
			type: $.rup.dialog.AJAX,
			url:  CTX_PATH + "propuestaSancion/editarPropuesta/"+idPropuesta+"/"+idInspeccion,
			title: $.rup.i18n.app.propuestaSancion.editarPropuesta,
			closeOnEscape:false,
			autoOpen: true,
			modal: true,
			width:1100,
			resizable: false,
			open: function (){
				desbloquearInterfaz();
				
				$("#idPropuesta_filter_table_propuestaSancionInfracciones").val(idPropuesta);
				$("#idInspeccion_filter_table_propuestaSancionDocumentos").val(idInspeccion);
				cargarTablaInfracciones();
				cargarTablaDocumentos();
				if(mostrarDocumentosInspeccion){
					cargarTablaDocumentosInspeccion();
				}
				cargaAcordeones();
				
				/* Mostrar el estado */
				$("#propuestaEstado").removeClass("d-none");
				
				$("#btnCancelar").click(function(){
					idInspeccion = -1;
					$("#dialogGenerarPropuestaSancion").rup_dialog("close");
				});
				
				if(ROLE_RESPONSABLE){
					$("#btnGuardarPropuesta").show();
					$("#btnEnviar").show();
					$("#btnEnviar").click(function(){
						enviarPropuestaSancion("modificarPropuesta")
					});
					$("#btnGuardarPropuesta").click(function(){
						guardarPropuestaSancion()
					});
				} else if(ROLE_TECNICO){
					$("#btnEnviar").hide();
					$("#btnGuardarPropuesta").show();
					$("#btnGuardarPropuesta").click(function(){
						guardarPropuestaSancion()
					});
				}
				$("#btnNuevaInfraccion").click(function(){
					var urlInfraccion = CTX_PATH + "propuestaSancionInfracciones/modalInfraccion";
					cargarModalInfraccion(urlInfraccion,idPropuesta);
				});
				
				$("#btnEditarInfraccion").click(function(){
					var urlInfraccion = CTX_PATH + "propuestaSancionInfracciones/modalInfraccion";
					cargarModalModificarInfraccion(urlInfraccion);
				});
				
				$("#btnEliminarInfraccion").click(function(){					
					eliminarInfraccion();
				});
				
				var idEstadoPropuesta = comprobarEstadoPropuesta(idInspeccion);
				if(idEstadoPropuesta !== "4" && idEstadoPropuesta !== "5"){
					$("#notasPropuestaSancion").attr("readonly", false);
					$("#btnNuevaInfraccion").prop("disabled", false);
					$("#btnEditarInfraccion").prop("disabled", false);
					$("#btnEliminarInfraccion").prop("disabled", false);
					$("#tablaInfracciones").removeClass("tablaDisabled");
					$("#tablaDocumentos").removeClass("tablaDisabled");
					$("#tablaDocumentosInspeccion").removeClass("tablaDisabled");
					if(ROLE_RESPONSABLE){
						$("#btnEnviar").show();
					} else if(ROLE_TECNICO){
						$("#btnEnviar").hide();
					}
				} else {
					$("#notasPropuestaSancion").attr("readonly", true);
					$("#btnNuevaInfraccion").prop("disabled", true);
					$("#btnEditarInfraccion").prop("disabled", true);
					$("#btnEliminarInfraccion").prop("disabled", true);
					$("#tablaInfracciones").addClass("tablaDisabled");
					$("#tablaDocumentos").addClass("tablaDisabled");
					$("#tablaDocumentosInspeccion").addClass("tablaDisabled");
					$("#btnEnviar").hide();
				}
				
			},//open
			beforeClose:function(){
				idInspeccion = -1;
				cancelarPropuestaSancion(idInspeccion);
			},//beforeClose
			close:function(){
				$("#dialogGenerarPropuestaSancion").rup_dialog("destroy");
				$("#dialogGenerarPropuestaSancion").html("");
				location.reload();
			}
		});//dialog
	}
			
	//metodos de las infracciones/documentos
	function guardarInfraccion(){
		if ($("#nuevaInfraccion_feedback.rup-feedback").length > 0)
		{
			$("#nuevaInfraccion_feedback").rup_feedback("close");
		}
		
		if ( $("#comboDerechos").val()!= null ){
			$("#articulosDerechosInf").val($("#comboDerechos").val().toString().replace(/,/g, "#"));
		}else{
			$("#articulosDerechosInf").val(null);
		}
		
		$("#nuevaInfraccion").submit();
		
	}
		
	function cargarTablaInfracciones(){
		$("#propuestaSancionInfracciones").rup_datatable({
			primaryKey:"idInfraccion",
			loadOnStartUp:true,
			pagingType:"full_numbers",
			dom:'rt<"bottom"lip>',
			pagelength:5,
			lengthMenu:[5,10,25,50],
			filter:{
				id:"propuestaSancionInfracciones_filter_form",
				filterToolbar:"propuestaSancionInfracciones_filter_toolbar",
				collapsableLayerId :"propuestaSancionInfracciones_filter_fieldset"
			},
			colReorder:{
				fixedColumnsLeft:1
			},
		 	columnDefs: [
			   {
			      targets: [4, 5, 6, 7, 8],
			      visible: false
			   },
    		   {
    			   targets: [0],
    			   render: function(data){
    				   if(data === null){
    					   data = '';
    				   }
    				   return '<div id="articuloInfraccionTooltip_" class="articuloInfraccionTooltip">' + data + '</div>';
    			   }
    		   },
    		   {
    			   targets: [1],
    			   render: function(data){
    				   if(data === null){
    					   data = '';
    				   }
    				   
    				   return '<div id="articuloDerechoTooltip_" class="articuloDerechoTooltip">' + data.replace(/#/g, "<br/>") + '</div>';
    			   }
    		   }			   
			],
			drawCallback: function() {
				 var tabla = $('#propuestaSancionInfracciones').DataTable();
				
				$('.articuloInfraccionTooltip').each(function (index) {
					
					var toolTipText = (("es"===$.rup_utils.get("language")) ? tabla.row(index).data().infracciones.descripcionCastellano : tabla.row(index).data().infracciones.descripcionEuskera) 
					this.id = this.id + index;
			        $("#"+this.id).rup_tooltip({
			            content: toolTipText,		        	
			            position: {
			                my: 'top left',
			                at: 'bottom right',
			                adjust: {
			                	x: 10,
			                	y: 9
			                }
			            }
			        });
			        $("#"+this.id).mouseover(function(){
			        	var idQtip = $("#"+this.id).parent().attr("data-hasqtip");
			        	setTimeout(function(){ 
			        		$("#qtip-"+idQtip).remove();
			        	}, 90);
			        	
			        });
			    });
				
				$('.articuloDerechoTooltip').each(function (index) {
					var toolTipText = "- " +  (("es"===$.rup_utils.get("language")) ? tabla.row(index).data().descripcionDerechosInfCas.replace(/#/g, "<br/>- ") : tabla.row(index).data().descripcionDerechosInfEus.replace(/#/g, "<br/>- ")) 
					this.id = this.id + index;
			        $("#"+this.id).rup_tooltip({
			            content: toolTipText,		        	
			            position: {
			                my: 'top left',
			                at: 'bottom right',
			                adjust: {
			                	x: 10,
			                	y: 9
			                }
			            }
			        });
			        $("#"+this.id).mouseover(function(){
			        	var idQtip = $("#"+this.id).parent().attr("data-hasqtip");
			        	setTimeout(function(){ 
			        		$("#qtip-"+idQtip).remove();
			        	}, 90);
			        	
			        });
			    });
			},
			initComplete:function() {
				
				  var spanM = document.createElement("span"); 
				  var mostrando = document.createTextNode($.rup.i18n.app.paginador.mostrando); 
				  spanM.appendChild(mostrando);  
				  spanM.className = "mostrando";
				  var spanR = document.createElement("span"); 
				  var registros = document.createTextNode($.rup.i18n.app.paginador.registros); 
				  spanR.appendChild(registros);
				  spanR.className = "registros";
				  
				  var longitudTabla = document.getElementById("propuestaSancionInfracciones_length"); 
				  longitudTabla.appendChild(spanM); 
				  longitudTabla.appendChild(spanR);
	  	}
		});		
		var tablaInfracciones = $('#propuestaSancionInfracciones').DataTable();
		$('#propuestaSancionInfracciones tbody').on( 'click', 'tr', function () {
			filaSeleccionadaInfracciones = tablaInfracciones.row(this).data();
			if ( $(this).hasClass('selected') ) {
		        $(this).removeClass('selected');
		    }
		    else {
		    	tablaInfracciones.$('tr.selected').removeClass('selected');
		        $(this).addClass('selected');
		    }
		});
				
	}
	
	function cargarModalModificarInfraccion(url) {
		if(typeof filaSeleccionadaInfracciones !== "undefined" && filaSeleccionadaInfracciones !== "" && filaSeleccionadaInfracciones != null){
			bloquearInterfaz();
			$("#modalInfracciones").rup_dialog({
				type: $.rup.dialog.AJAX,
				url: url,
				title:$.rup.i18n.app.propuestaSancion.editarInfraccion,
				autoOpen:true,
				modal:true,
				width:900,
				resizable:false,
				open:function(){
					$("#nuevaInfraccion").rup_form({
						feedback: $("#nuevaInfraccion_feedback"),
						url: CTX_PATH + "propuestaSancionInfracciones",
						type: "PUT",
						contentType: "application/json",
						dataType:"json",
						validate:{ 
							ignore: "",
							liveCheckingErrors : false,
							showFieldErrorAsDefault : true,
							showErrorsInFeedback : true,
							showFieldErrorsInFeedback : true,
							rules:{
								"idInfraccion":{
									required: true
								},
								"idDerechosInf": {
									required: true
								},
								"fechaHecho":{
									required: true
								}
							}
						},
					    success: function(){
					    	$("#modalInfracciones").rup_dialog("close");
							$("#propuestaSancionInfracciones_detail_feedback").rup_feedback("set", $.rup.i18n.app.mensajes.infraccionPropuestaGuardadaOK, "ok");
							//Recarga la tabla después de introducir una nueva infracción.
							$("#propuestaSancionInfracciones").DataTable().ajax.reload(); 
					    },
					    error: function(){
					    	$("#nuevaInfraccion_feedback").rup_feedback("set", $.rup.i18n.app.mensajes.infraccionPropuestaGuardadaNOK, "error");
					    }
					});
					
					// Feedback nueva Infraccion
					$("#nuevaInfraccion_feedback").rup_feedback({
						type: "ok",
						gotoTop : true,
						block:false,
						closeLink: true,
						delay: 8000,
						fadeSpeed: 500
					});
					
					
					cargarInfraccion(filaSeleccionadaInfracciones.idRelArtInfProSan)
					
					$("#btnAniadirInfraccion").click(function(){
						guardarInfraccion();
					});
					$("#btnCancelarInfraccion").click(function(){
						$("#modalInfracciones").rup_dialog("destroy");
						$("#modalInfracciones").html("");
					});				
					desbloquearInterfaz();
				},//open
				close : function(){
					$("#modalInfracciones").rup_dialog("destroy");
					$("#modalInfracciones").html("");
				}
			});//infraccion		
		} else {
			$("#propuestaSancionModalFeedback").rup_feedback({ gotoTop : true, block : false, closeLink : true });
			$("#propuestaSancionModalFeedback").rup_feedback("set", $.rup.i18n.app.feedback.error.lineaNoSeleccionada, "alert");
		}
	}
	
	function eliminarInfraccion(){	
		
		if(typeof filaSeleccionadaInfracciones !== "undefined" && filaSeleccionadaInfracciones !== "" && filaSeleccionadaInfracciones != null){
			var msgConfirm=$.rup.i18n.app.infracciones.borrarInfraccion; 
			var urlEliminar= CTX_PATH + "propuestaSancionInfracciones/eliminarInfraccion/"+filaSeleccionadaInfracciones.idRelArtInfProSan;
			// Mensaje de confirmación
			$.rup_messages("msgConfirm", {
				title: $.rup.i18n.app.tabla.botones.eliminar,
				message: msgConfirm,
				OKFunction:	function() {
					bloquearInterfaz();
					$.ajax({
						url: urlEliminar,
						success: function(){
							desbloquearInterfaz();
							$("#propuestaSancionInfracciones").DataTable().ajax.reload(); 
							$("#propuestaSancionInfracciones_detail_feedback").rup_feedback("set", $.rup.i18n.app.mensajes.infraccionPropuestaEliminadaOK, "ok");
							filaSeleccionadaActuaciones = "";
						},
						error: function(){
							desbloquearInterfaz();
							$("#propuestaSancionInfracciones_detail_feedback").rup_feedback("set", $.rup.i18n.app.mensajes.infraccionPropuestaEliminadaNOK, "error");
							filaSeleccionadaActuaciones = "";
						}
					});
				}
			});
		} else {
			$("#propuestaSancionModalFeedback").rup_feedback({ gotoTop : true, block : false, closeLink : true });
			$("#propuestaSancionModalFeedback").rup_feedback("set", $.rup.i18n.app.feedback.error.lineaNoSeleccionada, "alert");	
		}
	}//function
	
	function cargarTablaDocumentos(){
		
		$("#propuestaSancionDocumentos").rup_datatable({
			primaryKey:"pid",
			loadOnStartUp:true,
			dom:'rt<"bottom"lip>',
			pagingType:"full_numbers",
			pageLength:5,
			lengthMenu:[5,10,15],
			filter:{
				id:"propuestaSancionDocumentos_filter_form",
				filterToolbar:"propuestaSancionDocumentos_filter_toolbar",
				collapsableLayerId :"propuestaSancionDocumentos_filter_fieldset"
			},
			colReorder: false,
	        columnDefs: [
	 		   {
	 			   targets: [0],
	 			   orderable: false,
	 			   render: function(data, type, row) {
 					   return "<input type='checkbox' class='propuestasSancionDocumentosCheckbox' style='margin-left:8px'/>";			  
	 			   }
	 		   },
	        	{
	        		targets: [2,3,6],
	        		visible: false
	        	},
	        	{
	        		targets: [1],
	        		render: function (cellvalue, options, rowObject){
	        			var oid = "";
	        			var origenOid;
	        			if (cellvalue !== null && cellvalue !== "") {
	        				if (rowObject.dokusi !== null && rowObject.dokusi !== "") {
	        					oid = rowObject.dokusi;
	        					origenOid = 2;
	        				} else {
	        					oid = rowObject.pid;
	        					origenOid = 1;
	        				}
	        				
	        				return "<a href='/ab79WebAppWar/propuestaSancion/descargaFichero/"+ oid + "/" + cellvalue + "/" + origenOid +"'><u>" + cellvalue + "</u></a>";
	        			} else {
	        				return "";
	        			}
	        		}
	        	}
        	],
	        initComplete: function(){
	        	
	        	var spanM = document.createElement("span"); 
				  var mostrando = document.createTextNode($.rup.i18n.app.paginador.mostrando); 
				  spanM.appendChild(mostrando);  
				  spanM.className = "mostrando";
				  var spanR = document.createElement("span"); 
				  var registros = document.createTextNode($.rup.i18n.app.paginador.registros); 
				  spanR.appendChild(registros);
				  spanR.className = "registros";
				  
				  var longitudTabla = document.getElementById("propuestaSancionDocumentos_length"); 
				  longitudTabla.appendChild(spanM); 
				  longitudTabla.appendChild(spanR);
				  
	        	var documentosEnviados = obtenerEnviados();
	    		var tablaDocumentos = $('#propuestaSancionDocumentos').DataTable();
	    		
	    		if ("eu" === $.rup_utils.get("language")){
	    			tablaDocumentos.columns( [5] ).visible( false );
				} else if("es" === $.rup_utils.get("language")) {
					tablaDocumentos.columns( [4] ).visible( false );
				}
	    		
	    		tablaDocumentos.rows().every(function(){
	    			if ((documentosEnviados).indexOf(this.data().idRelActDoc) !== -1){
	    				$(this.node()).addClass('selected');
	    				$(this.node()).find('input').prop('checked',true);
	    				$('#propuestaSancionDocumentos').DataTable().context[0].multiselection.selectedIds.push(this.data().idRelActDoc);
	    			}else{
	    				$(this.node()).removeClass('selected');
	    				$(this.node()).find('input').prop('checked',false);
	    			}
	    		})
	        }//initComplete
		});//dataTable
		
		var tablaPropuestaSancionDocumentos = $('#propuestaSancionDocumentos').DataTable();
		
		//Fila seleccionado
		$('#propuestaSancionDocumentos 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', '.propuestasSancionDocumentosCheckbox', function () {
			if($(this).prop('checked')){	
				$(this).parent().parent().addClass('selected');
				$(this).prop('checked',true);
			}else{
				$(this).parent().parent().removeClass('selected');
				$(this).prop('checked',false);
			}
		});
		
		$("#seleccionaDesTodos").click(function() {
			if( $('#seleccionaDesTodos').prop('checked') ) {
				tablaPropuestaSancionDocumentos.$('tr').addClass('selected');
				$('.propuestasSancionDocumentosCheckbox').prop('checked',true);
				
			}else{
				tablaPropuestaSancionDocumentos.$('tr.selected').removeClass('tr-highlight');
				tablaPropuestaSancionDocumentos.$('tr.selected').removeClass('selected');
				$('.propuestasSancionDocumentosCheckbox').prop('checked',false);
			}
		});
		
	}
	
	function cargarTablaDocumentosInspeccion(){
		
		$("#folderId_filter_table").val($("#folderId").val());
		$("#procedureId_filter_table").val($("#procedureId").val());
		
		$("#propuestaSancionDocumentosInspeccion").rup_datatable({
			primaryKey:"oidDokusi",
			loadOnStartUp:true,
			dom:'rt<"bottom"lip>',
			pagingType:"full_numbers",
			pageLength:5,
			lengthMenu:[5,10,15],
			filter:{
				id:"propuestaSancionDocumentosInspeccion_filter_form",
				filterToolbar:"propuestaSancionDocumentosInspeccion_filter_toolbar",
				collapsableLayerId :"propuestaSancionDocumentosInspeccion_filter_fieldset"
			},
			colReorder: {
				fixedColumnsLeft:1
			},
	        columnDefs: [ 
	        	{
		            orderable: false,
		            targets:   [0],
		            render: function(data, type, row) {
 					   return "<input type='checkbox' class='propuestasSancionDocumentosInspeccionCheckbox' style='margin-left:8px'/>";			  
	 			    }
	        	},
	        	{
	        		targets: [3],
	        		visible: false
	        	},
	        	{
	        		targets: [1],
	        		render: function (cellvalue, options, rowObject){
	        			if (cellvalue !== null && cellvalue !== "") {
	        				return "<a href='/ab79WebAppWar/propuestaSancion/descargaFichero/"+ rowObject.oidDokusi + "/" + cellvalue + "/2'><u>" + cellvalue + "</u></a>";
	        			} else {
	        				return "";
	        			}
	        		}
	        	}
        	],	        
	        initComplete: function(){
	        	
	        	var spanM = document.createElement("span"); 
				  var mostrando = document.createTextNode($.rup.i18n.app.paginador.mostrando); 
				  spanM.appendChild(mostrando);  
				  spanM.className = "mostrando";
				  var spanR = document.createElement("span"); 
				  var registros = document.createTextNode($.rup.i18n.app.paginador.registros); 
				  spanR.appendChild(registros);
				  spanR.className = "registros";
				  
				  var longitudTabla = document.getElementById("propuestaSancionDocumentosInspeccion_length"); 
				  longitudTabla.appendChild(spanM); 
				  longitudTabla.appendChild(spanR);
				  
	        	var documentosInspeccionEnviados = obtenerDocumentosInspeccionEnviados();
	    		var tablaDocumentosInspeccion = $('#propuestaSancionDocumentosInspeccion').DataTable();
	    		
	    		tablaDocumentosInspeccion.rows().every(function(){
	    			if ((documentosInspeccionEnviados).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);
	    			}
	    		});
	        }//initComplete
		});//dataTable
		
		$('#propuestaSancionDocumentosInspeccion').on( 'error.dt', function ( e, settings, techNote, message ) {
			$("#propuestaSancionDocumentosInspeccion_detail_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true });
			$("#propuestaSancionDocumentosInspeccion_detail_feedback").rup_feedback("set", $.rup.i18n.app.propuestaSancion.errorCargarTabla, "error");
	    });
		
		var tablaPropuestaSancionDocumentosInspeccion = $('#propuestaSancionDocumentosInspeccion').DataTable();
		
		//Fila seleccionado
		$('#propuestaSancionDocumentosInspeccion 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', '.propuestasSancionDocumentosInspeccionCheckbox', function () {
			if($(this).prop('checked')){	
				$(this).parent().parent().addClass('selected');
				$(this).prop('checked',true);
			}else{
				$(this).parent().parent().removeClass('selected');
				$(this).prop('checked',false);
			}
		});
		
		$("#seleccionaDesTodosInspeccion").click(function() {
			if( $('#seleccionaDesTodosInspeccion').prop('checked') ) {
				tablaPropuestaSancionDocumentosInspeccion.$('tr').addClass('selected');
				$('.propuestasSancionDocumentosInspeccionCheckbox').prop('checked',true);
				
			}else{
				tablaPropuestaSancionDocumentosInspeccion.$('tr.selected').removeClass('tr-highlight');
				tablaPropuestaSancionDocumentosInspeccion.$('tr.selected').removeClass('selected');
				$('.propuestasSancionDocumentosInspeccionCheckbox').prop('checked',false);
			}
		});
		
	}	
	
	function obtenerEnviados(){
		var docSeleccionados = "";
		$.ajax({
			async:false,
			url: CTX_PATH + "propuestaSancionDocumentos/obtenerEnviados/"+idInspeccion,
			success:function(response){
				docSeleccionados = response;				
			}
		});
		return docSeleccionados;
	}
	
	function obtenerDocumentosInspeccionEnviados(){
		var docInspeccionSeleccionados = "";
		$.ajax({
			async:false,
			url: CTX_PATH + "propuestaSancionDocumentosInspeccion/obtenerEnviados/"+idInspeccion,
			success:function(response){
				docInspeccionSeleccionados = response;				
			}
		});
		return docInspeccionSeleccionados;
	}
	
	function cargaAcordeones(){
		$("#infraccionesAcordeon").rup_accordion({
			collapsible: true,
			active:false,
			heightStyle: "content",
			clearStyle:true
		});
		
		$("#documentosAcordeon").rup_accordion({
			collapsible:true,
			active:false,
			heightStyle:"content",
			clearStyle:true
		});
		
		$("#documentosInspeccionAcordeon").rup_accordion({
			collapsible:true,
			active:false,
			heightStyle:"content",
			clearStyle:true
		});
	}
	
	function comprobarDocumentos(idInspeccion){
		var valido = false;
		$.ajax({
			async:false,
			url: CTX_PATH + "propuestaSancionDocumentos/comprobarDocumentos/"+idInspeccion,
			success : function(response){
				valido = response;
			}
		});
		return valido;
	}
	
	function calcularMayorFechaHecho(){
		var mayorFechaHecho = "";
		for (var i = 0; i < $("#propuestaSancionInfracciones").DataTable().rows()[0].length; i++) {
			if(i === 0){
				mayorFechaHecho = $("#propuestaSancionInfracciones").DataTable().rows().data()[i].fechaHecho;
			} else {
				if(strToDate($("#propuestaSancionInfracciones").DataTable().rows().data()[i].fechaHecho) > strToDate(mayorFechaHecho)){
					mayorFechaHecho = $("#propuestaSancionInfracciones").DataTable().rows().data()[i].fechaHecho;
				}
			}
			
		}
		
		$("#fechaHecho").val(mayorFechaHecho);
	}

	function buscarDescricionInfraccion(infraccion)
	{
		if (infraccion != ""){
			$.ajax({
				type : "GET",
				url : CTX_PATH + "propuestaSancion/infracciones/" + infraccion,
				dataType : "json",
				async : false,
				success : function(data) {
					$("#descripcionInfraccion").val(("eu"==$.rup_utils.get("language")) ? "- " + data.descripcionEuskera : "- " + data.descripcionCastellano);
				}
			});
		} else {
			$("#descripcionInfraccion").val("");
		}
	}

	function buscarDescricionDerechos(derechos)
	{
		if (derechos != "" && derechos != null){
			$.ajax({
				type : "GET",
				url : CTX_PATH + "propuestaSancion/derechos/" + derechos,
				dataType : "json",
				async : false,
				success : function(data) {
					var descripcionDerecho = "";
					for (var i = 0; i < data.length; i++) {
						descripcionDerecho += ("eu"==$.rup_utils.get("language")) ? "- " + data[i].descripcionEuskera + "\r\n" : "- " + data[i].descripcionCastellano + "\r\n";
					}
					$("#descripcionDerechos").val(descripcionDerecho);
				}
			});
		} else {
			$("#descripcionDerechos").val("");
		}
	}
	
	function cargarInfraccion(idRelArtInfProSan){
		$.ajax({
			type: "GET",
			url: CTX_PATH + "propuestaSancionInfracciones/" + idRelArtInfProSan,
			dataType: "json",
			success: function(data){
				if ($("#inspeccionSinExpediente").val() !== "true") {
					
					$("#divComboProcedimientos").hide();
					
					var idDireccion = obtenerDireccion($("#idExpediente").val());
					
					$("#comboInfracciones").rup_combo({
						blank: "",
						source : CTX_PATH + "propuestaSancion/cargaComboInfraccion?idDireccion="+idDireccion,
						sourceParam : 
						{
							label:"articulo",
							value:"idInfraccion"
						},
						onLoadSuccess: function() {
							$("#comboInfracciones").rup_combo("setRupValue", data.infracciones.idInfraccion);
							if("eu"===$.rup_utils.get("language")){
								$("#descripcionInfraccion").val(data.infracciones.descripcionEuskera);
							} else {
								$("#descripcionInfraccion").val(data.infracciones.descripcionCastellano);
							}							
						},
						select: function() {
							buscarDescricionInfraccion($("#comboInfracciones").val());
						}
					});
				} else {

					$("#divComboProcedimientos").show();
					
					$("#comboProcedimientos").rup_combo({
						blank:"",
						source : CTX_PATH + "propuestaSancion/cargaComboProcedimientos",
						sourceParam : 
						{
							label:(("eu"===$.rup_utils.get("language")) ? "descripcionEu": "descripcionEs"),
							value:"idProcedimiento"
						},
						onLoadSuccess: function() {
							if(RESPONSABLE_TURISMO || RESPONSABLE_COMERCIO){
								$("#comboProcedimientos").rup_combo("setRupValue", data.idProcedimiento);
							} 
						}
					});
					
					$("#comboInfracciones").rup_combo({
						blank: "",
						parent:["comboProcedimientos"],
						source : CTX_PATH + "propuestaSancion/cargaComboInfraccionSinExpediente",
						sourceParam : 
						{
							label:"articulo",
							value:"idInfraccion"
						},
						select: function() {
							buscarDescricionInfraccion($("#comboInfracciones").val());
						},
						onLoadSuccess: function() {
							if(RESPONSABLE_TURISMO || RESPONSABLE_COMERCIO){
								$("#comboProcedimientos").rup_combo("disable");
							}
							$("#comboInfracciones").rup_combo("setRupValue", data.infracciones.idInfraccion);
							if("eu"===$.rup_utils.get("language")){
								$("#descripcionInfraccion").val(data.infracciones.descripcionEuskera);
							} else {
								$("#descripcionInfraccion").val(data.infracciones.descripcionCastellano);
							}
						}
					});
				}
						
				$("#comboDerechos").rup_combo({
					multiselect:true,
					readAsString: true,
					parent:["comboInfracciones"],
					source : CTX_PATH + "propuestaSancion/cargaComboDerechos",
					sourceParam: {
						label:"articulo",
						value :"idDerecho"
					},
					onLoadSuccess: function() {
						var idsDerechos = data.idDerechosInf.toString().replace(/#/g, ",");
						var descripcionDerechos = ("eu"===$.rup_utils.get("language")) ? data.descripcionDerechosInfEus.split("#") : data.descripcionDerechosInfCas.split("#");
						$("#comboDerechos").rup_combo("setRupValue", idsDerechos);
						
						var descripcionDerecho = "";
						for (var i = 0; i < descripcionDerechos.length; i++) {
							descripcionDerecho += "- " + descripcionDerechos[i] + "\r\n";
						}
						$("#descripcionDerechos").val(descripcionDerecho);
						
					}
				});
				
				$("#nuevaInfraccion_idRelArtInfProSan").val(idRelArtInfProSan);
				$("#nuevaInfraccion_idPropuesta").val(idPropuesta);
				$("#fechaHecho").rup_date();
				$("#fechaHecho").val(data.fechaHecho);
				$("#descripcionHecho").val(data.descripcionHecho);
				$("#notas").val(data.notas);
				
			},
			error: function(){
				desbloquearInterfaz();
				$("#documentosSubidos_detail_div").rup_dialog("close");
				$("#documentosSubidos_feedback").rup_feedback("set", $.rup.i18n.app.actuaciones.recuperarDocumentoActuacionError, "error");
			}
		});
		
		
	}

});//jQuery