jQuery(document).ready(function(){
	
	var procedureId = $('#procedureId').val();
	var folderId = $('#folderId').val();
	
	if(folderId === ""){
		folderId = "0";
	}
	
	var parametroConfig = $('#parametroConfig').val();
	var identificadorInspeccion = $("#inspeccion").text();

	if($("#origenPlantilla").val() == ORIGEN_EXPEDIENTE){
		$("#relExpPlaIdentificador_filter_table").val(folderId);
	} else if ($("#origenPlantilla").val() == ORIGEN_INSPECCION) {
		$("#relExpPlaIdentificador_filter_table").val(identificadorInspeccion);
	}

	/* Feedback*/
	$("#id_capaPlantilla").rup_feedback({ gotoTop : true, block : false, closeLink : true});
	
	/* INICIO - Filtro */
	$("#procedimientos.idProcedimiento_filter_table").val($('#procedureId').val());
	$("#relExpPla.idExpediente_filter_table").val($('#idExpediente').val());
	$("#origen_filter_table").val($("#origenPlantilla").val());
	/* FIN - Filtro */
	
	$('#btnGenerarDocumento').prop("disabled", true);
	$('#btnEditarDocumento').prop("disabled", true);
	$('#btnAportarDocumento').prop("disabled", true);
	$('#btnAportarDocumentoPid').prop("disabled", true);
	$('#btnDescargarDocumento').prop("disabled", true);
	$('#btnEliminarDocumento').prop("disabled", true);
	
	if(sessionStorage.getItem("conExpedienteActuaciones") === "true"){
		$("#btnAportarDocumento").removeAttr("hidden");
		$("#btnAportarDocumentoPid").attr("hidden", true);
	} else if(sessionStorage.getItem("conExpedienteActuaciones") === "false"){
		$("#btnAportarDocumento").attr("hidden", true);
		$("#btnAportarDocumentoPid").removeAttr("hidden");		
	}
	
	
	$("#plantillas").rup_datatable({
		primaryKey: "idPlantilla",
		loadOnStartUp: true,
		pagingType: "full_numbers",
		dom: 'rt<"bottom"lip>',
		pageLength : 10,
		lengthMenu: [10, 20, 30],
		order: ("eu"==$.rup_utils.get("language")) ?[[1, "asc"]] : [[0, "asc"]],
		filter:{
	  		id:"Plantillas_filter_form",
	  		filterToolbar:"Plantillas_filter_toolbar",
	  		collapsableLayerId:"Plantillas_filter_fieldset"
	 	},
		colReorder: {
			fixedColumnsLeft: 1
		},	 	
		columnDefs: [
			   {
				  targets: [2],
				  visible: true,
				  orderable: false,
				  className: 'border-left-0',
				  width: 5
			   },
			   {
			      targets: [0,1],
			      className: 'border-right-0'			      
			   },
			   {
				   targets: [0],
				   visible: (("es"==$.rup_utils.get("language")) ? true : false),
			   },
			   {
				   targets: [1],
				   visible: (("eu"==$.rup_utils.get("language")) ? true : false),
			   }
		],
		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("plantillas_length"); 
			  longitudTabla.appendChild(spanM); 
			  longitudTabla.appendChild(spanR); 
			
	 		desbloquearInterfaz();
	 			 			 		
	 	},
	 	drawCallback: function() {
	 		var rows = $('#plantillas').DataTable().rows().count();
	 		var rowData;
	 	    for (var row = 0; row<rows; row++){
	 	    	rowData = $('#plantillas').DataTable().rows([row]).data().toArray()
	 	        if(null != rowData[0].relExpPla.ruta && 0 != parametroConfig)
	 	        {
	 	        	$('#plantillas').DataTable().cell(row, 2).data('<i class="fa fa-file-text" aria-hidden="true"></i>');
	 	        } else {
	 	        	$('#plantillas').DataTable().cell(row, 2).data('');
	 	        }
	 	    }
	 	    }
     });	
	
	var tabla = $('#plantillas').DataTable();
	
	$('#plantillas tbody').on( 'click', 'tr', function () {
		
		tabla.$('tr.selected').removeClass('selected');
        $(this).addClass('selected');
        
	        var dataRow = tabla.rows(['.selected']).data().toArray();
	        
	        if(dataRow.length !== 0){
	        
	  	   	var ruta = dataRow[0].relExpPla.ruta;
	  	   	var tarea = dataRow[0].tiposPlantilla.taskId;
	  	
	  	   	switch(parametroConfig) {
		 		  case VALOR_DESCARGAR:
					     $('#btnGenerarDocumento').prop("disabled", true);
				         $('#btnEditarDocumento').prop("disabled", true);
				         $('#btnAportarDocumento').prop("disabled", true);
				         $('#btnAportarDocumentoPid').prop("disabled", true);
				         $('#btnDescargarDocumento').prop("disabled", false);
				         $('#btnEliminarDocumento').prop("disabled", true);
				        
		 		    break;
		 		  case VALOR_TRAMITAR_ONLINE:
				  
					  if( tarea == null )
				      {
				         $('#btnGenerarDocumento').prop("disabled", true);
				         $('#btnEditarDocumento').prop("disabled", true);
				         $('#btnAportarDocumento').prop("disabled", true);
				         $('#btnAportarDocumentoPid').prop("disabled", true);
				         $('#btnEliminarDocumento').prop("disabled", true);
				         $('#btnDescargarDocumento').prop("disabled", false);
				      }
					  else if((tarea != null && ruta == null)||(tarea != null && ruta != null) ){
						  $('#btnGenerarDocumento').prop("disabled", true);
						  if (ruta != ''){  
							  if($("#esExpedienteCerrado").val() === "true"){
								  $('#btnAportarDocumento').prop("disabled", true);
								  $('#btnEditarDocumento').prop("disabled", true);
								  $('#btnEliminarDocumento').prop("disabled", true);	
						  	  } else {
						  		 $('#btnAportarDocumento').prop("disabled", false);
						  		 $('#btnEditarDocumento').prop("disabled", false);
								 $('#btnEliminarDocumento').prop("disabled", false);	 
						  	  }
						      $('#btnAportarDocumentoPid').prop("disabled", false);
						      $('#btnDescargarDocumento').prop("disabled", true);
		 			     }    			        
						  else{
							  if($("#esExpedienteCerrado").val() === "true"){
								  $('#btnGenerarDocumento').prop("disabled", true);
							  } else {
								  $('#btnGenerarDocumento').prop("disabled", false);
							  }	  
						      $('#btnEditarDocumento').prop("disabled", true);
						      $('#btnEliminarDocumento').prop("disabled", true);
						      $('#btnAportarDocumento').prop("disabled", true);
						      $('#btnAportarDocumentoPid').prop("disabled", true);
						      $('#btnDescargarDocumento').prop("disabled", true);
					  	}
					  }
					  
		 		    break;
		 		  case VALOR__DESCARGAR_Y_ONLINE:
					 $('#btnDescargarDocumento').prop("disabled", false);
		 			 if((tarea == null && ruta == null)||(tarea != null && ruta == null) )
				     {
		 				 if($("#esExpedienteCerrado").val() === "true"){
		 					$('#btnGenerarDocumento').prop("disabled", true);
		 				 } else {
		 					$('#btnGenerarDocumento').prop("disabled", false);
		 				 }	  
				        $('#btnEditarDocumento').prop("disabled", true);
				        $('#btnAportarDocumento').prop("disabled", true);
				        $('#btnAportarDocumentoPid').prop("disabled", true);
				        $('#btnEliminarDocumento').prop("disabled", true);
				        
				      }
				      else if(ruta != null)
				      {
		    			 $('#btnGenerarDocumento').prop("disabled", true);
		    			 if($("#esExpedienteCerrado").val() === "true"){
		    				 $('#btnEditarDocumento').prop("disabled", true);
		    				 $('#btnEliminarDocumento').prop("disabled", true);
		 				 } else {
		 					 $('#btnEditarDocumento').prop("disabled", false);
		 					$('#btnEliminarDocumento').prop("disabled", false);
		 				 }	 
				         $('#btnAportarDocumentoPid').prop("disabled", false);
				         if (tarea != null){
				        	  if($("#esExpedienteCerrado").val() === "true"){
								  $('#btnAportarDocumento').prop("disabled", true);
						  	  } else {
						  		 $('#btnAportarDocumento').prop("disabled", false);
						  	  }
				         } else{
				        	 $('#btnAportarDocumento').prop("disabled", true);
				      	 }
					  }
				    break;
		 		  default:
		 		    // code block
		 	}
	  	   	
	  	   	if($("#inspeccionSinExpediente").val() === "true" && sessionStorage.getItem("conExpedienteActuaciones") !== "true"
	  	   		&& sessionStorage.getItem("conExpedienteActuaciones") !== "false") {
		  	   	 $('#btnGenerarDocumento').prop("disabled", true);
		         $('#btnEditarDocumento').prop("disabled", true);
		         $('#btnAportarDocumento').prop("disabled", true);
		         $('#btnAportarDocumentoPid').prop("disabled", true);
		         $('#btnDescargarDocumento').prop("disabled", false);
		         $('#btnEliminarDocumento').prop("disabled", true);
	  	   	}
	  	   	 	
        }
        
    });	
	
	$("#btnGenerarDocumento").on("click", function () {
		
		var rowData = tabla.rows(['.selected']).data().toArray();
		var idPlantilla = rowData[0].idPlantilla;
		
		if(rowData.length != 0){
			bloquearInterfaz();
			$.ajax({
				url : "/ab79WebAppWar/plantillas/llamarWebService/generarDocumento/" + folderId + "/" + identificadorInspeccion +"/" + idPlantilla,
				contentType: "application/json",
			    type: "GET",
			    success: function (json) 
			    {
			    	desbloquearInterfaz();
		    		var data = JSON.parse(json);
			    	if(data)
			    	{
			    		generarDocumento(data);
			    		$("#plantillas").DataTable().ajax.reload();
			    		
			    	}else{
			    		$.rup_messages("msgAlert",{
			    			title:  $.rup.i18n.app.mensajes.alerta,
			    			message: $.rup.i18n.app.mensajes.avisos
			    			
			    		});
			    		
			    	}
			    	
			    },
			    error : function (respuesta){
					desbloquearInterfaz();					
					$("#id_capaPlantilla").rup_feedback("set",respuesta.responseText, "error");
					
				}
			});
		}
		else{
			desbloquearInterfaz();
			$("#id_capaPlantilla").rup_feedback("set", $.rup.i18n.app.feedback.error.lineaNoSeleccionada, "error");
		}
		
	});
	
	$("#btnEditarDocumento").on("click", function () {
	
		var rowData = tabla.rows(['.selected']).data().toArray();
		var idPlantilla = rowData[0].idPlantilla;
		if(rowData.length != 0){
			
			bloquearInterfaz();
			$.ajax({
				
				url : "/ab79WebAppWar/plantillas/llamarWebService/modificarDocumento/" + idPlantilla + "/" + folderId + "/" + identificadorInspeccion,
				contentType: "application/json",
			    type: "GET",
			    success: function (json)
			    {
			    	desbloquearInterfaz();
			    	if(json.length>0){
			    		var data = JSON.parse(json);
				    		editarDocumento(data);
			    	}else{
			    		
			    		$("#id_capaPlantilla").rup_feedback("set",$.rup.i18n.app.mensajes.avisoNoRuta, "error");
			    		
			    		if($("#esExpedienteCerrado").val() === "true"){
			    			$('#btnGenerarDocumento').prop("disabled", true);
			    		}else{
			    			$('#btnGenerarDocumento').prop("disabled", false);
			    		}	
			    		$('#btnEditarDocumento').prop("disabled", true);
			    		$('#btnEliminarDocumento').prop("disabled",true);
			    		$('#btnAportarDocumento').prop("disabled", true);
			    		$("#plantillas").DataTable().ajax.reload();
			    		
			    	}
			    },
			    error: function (respuesta) {
					desbloquearInterfaz();
					$("#id_capaPlantilla").rup_feedback("set",respuesta.responseText, "error");
			    }
			});
		}
		else{
			desbloquearInterfaz();
			$("#id_capaPlantilla").rup_feedback("set", $.rup.i18n.app.feedback.error.lineaNoSeleccionada, "error");
		}
		
	});
	
	$("#btnAportarDocumento").on("click", function () {
		
		//bloquear modal hasta que carga los datos de platea y limpiar formulario
		var rowData = tabla.rows(['.selected']).data().toArray();
		var idPlantilla = rowData[0].idPlantilla;
		var idActuacion = $("#idActuacionModalPlantillas").val();
		if(rowData.length != 0){
			bloquearInterfaz();
			
			$.ajax({
					
					url : "/ab79WebAppWar/plantillas/llamarWebService/aportarDocumento/" + idPlantilla +"/" + procedureId +"/" + folderId + "/" + idActuacion,
					contentType: "application/json",
				    type: "GET",
				    dataType: "json",
				    success: function (result){
				    	desbloquearInterfaz();
				    	$("#plantillas").rup_datatable("setCell",rowData.idPlantilla, "relExpPla.ruta",null);
				    	
				    	var xmlDoc = $.parseXML( result );
			    		var $xml = $( xmlDoc );
			    		
			    		var msgResult = ("eu"==$.rup_utils.get("language")) ? $xml.find( "descripcionEuskera" ).text(): $xml.find( "descripcionCastellano" ).text();
			    		$("#id_capaPlantilla").rup_feedback("set", msgResult, "ok");
						
			    		if($("#esExpedienteCerrado").val() === "true"){
			    			$('#btnGenerarDocumento').prop("disabled", true);
			    		}else{
			    			$('#btnGenerarDocumento').prop("disabled", false);
			    		}	
			    		$('#btnEditarDocumento').prop("disabled", true);
			    		$('#btnEliminarDocumento').prop("disabled", true);
			    		$('#btnAportarDocumento').prop("disabled", true);
			    		$("#plantillas").DataTable().ajax.reload();
			    		if($("#idActuacionModalPlantillas").val() !== "0"){
			    			$("#documentosSubidos").DataTable().ajax.reload();
			    		}
				    },
					error : function (respuesta){
						desbloquearInterfaz();
						$("#id_capaPlantilla").rup_feedback("set",respuesta.responseText, "error");
						
					}
				});
		}
		else{
			desbloquearInterfaz();
			$("#id_capaPlantilla").rup_feedback("set", $.rup.i18n.app.feedback.error.lineaNoSeleccionada, "error");
		}
		
	});
	
	$("#btnAportarDocumentoPid").on("click", function () {
		
		//bloquear modal hasta que carga los datos de platea y limpiar formulario
		var rowData = tabla.rows(['.selected']).data().toArray();
		var idPlantilla = rowData[0].idPlantilla;
		var idActuacion = $("#idActuacionModalPlantillas").val();
		
		if(rowData.length != 0){
			bloquearInterfaz();
			
			$.ajax({
					
					url : "/ab79WebAppWar/plantillas/llamarWebService/aportarDocumentoPid/" + idPlantilla +"/" + identificadorInspeccion + "/" + idActuacion,
					contentType: "application/json",
				    type: "GET",
				    dataType: "json",
				    success: function (result){
				    	desbloquearInterfaz();
				    	$("#plantillas").rup_datatable("setCell",rowData.idPlantilla, "relExpPla.ruta",null);
				    	
				    	if(result == "ok"){
				    		
				    		$("#id_capaPlantilla").rup_feedback("set", $.rup.i18n.app.mensajes.documentoAportadoPidOk, "ok");
				    		if($("#esExpedienteCerrado").val() === "true"){
				    			$('#btnGenerarDocumento').prop("disabled", true);
				    		}else{
				    			$('#btnGenerarDocumento').prop("disabled", false);
				    		}	
				    		$('#btnEditarDocumento').prop("disabled", true);
				    		$('#btnEliminarDocumento').prop("disabled", true);
				    		$('#btnAportarDocumento').prop("disabled", true);
				    		$('#btnAportarDocumentoPid').prop("disabled", true);
				    		$("#plantillas").DataTable().ajax.reload();
				    		if($("#idActuacionModalPlantillas").val() !== "0"){
				    			$("#documentosSubidos").DataTable().ajax.reload();
				    		}
				    	} else {
				    		$("#id_capaPlantilla").rup_feedback("set", $.rup.i18n.app.mensajes.documentoAportadoPidError, "error");
				    	}
				    },
					error : function (respuesta){
						desbloquearInterfaz();
						$("#id_capaPlantilla").rup_feedback("set", $.rup.i18n.app.mensajes.documentoAportadoPidError, "error");
						
					}
				});
		}
		else{
			desbloquearInterfaz();
			$("#id_capaPlantilla").rup_feedback("set", $.rup.i18n.app.feedback.error.lineaNoSeleccionada, "error");
		}
		
	});
	
	$("#btnEliminarDocumento").on("click", function () {
		
		var rowData = tabla.rows(['.selected']).data().toArray();
		var idPlantilla = rowData[0].idPlantilla;
		if(rowData.length != 0){
					
			bloquearInterfaz();
			$.ajax({
				url : "/ab79WebAppWar/plantillas/llamarWebService/eliminarDocumento/"+ idPlantilla +"/" + folderId + "/" + identificadorInspeccion,
				contentType: "application/json",
			    type: "GET",
			    success: function (result){
			    	desbloquearInterfaz();
			    	if($("#esExpedienteCerrado").val() === "true"){
		    			$('#btnGenerarDocumento').prop("disabled", true);
		    		}else{
		    			$('#btnGenerarDocumento').prop("disabled", false);
		    		}	
		    		$('#btnEditarDocumento').prop("disabled", true);
		    	    $('#btnEliminarDocumento').prop("disabled", true);
		    		$('#btnAportarDocumento').prop("disabled", true);
				    
		    		$("#plantillas").DataTable().ajax.reload();
					$("#id_capaPlantilla").rup_feedback("set",$.rup.i18n.app.mensajes.documentoEliminado, "ok");
			    },
				error : function (respuesta){
					desbloquearInterfaz();
					$("#id_capaPlantilla").rup_feedback("set",respuesta.responseText, "error");
					
				}
			});
		}
		else{
			desbloquearInterfaz();
			$("#id_capaPlantilla").rup_feedback("set", $.rup.i18n.app.feedback.error.lineaNoSeleccionada, "error");
		}
		
	});
	
	$("#btnDescargarDocumento").on("click", function () {
		var rowData = tabla.rows(['.selected']).data().toArray();
		var idPlantilla = rowData[0].idPlantilla;
		
		if(rowData.length != 0){
			
			var urlDescargarDocumento;
			if($("#inspeccionSinExpediente").val() === "true"){
				urlDescargarDocumento = "/ab79WebAppWar/plantillas/llamarWebService/descargarDocumento/" + identificadorInspeccion +"/" + idPlantilla;
			} else{
				urlDescargarDocumento = "/ab79WebAppWar/plantillas/llamarWebService/descargarDocumento/"+ folderId + "/" + identificadorInspeccion +"/" + idPlantilla;
			}
			
			
			bloquearInterfaz();
			$.ajax({
				url : urlDescargarDocumento,
				contentType: "application/json",
			    type: "GET",
			    success: function (json)
			    {
			    	desbloquearInterfaz();
		    		var data = JSON.parse(json);
			    	if(data)
			    	{
			    		
			    		$("#rutaDocumento").val(data);
						$("#form_Documento").submit();
			    	}else{
			    		$.rup_messages("msgAlert",{
			    			title:  $.rup.i18n.app.mensajes.alerta,
			    			message: $.rup.i18n.app.mensajes.avisos
			    		});
			    		
			    	}
			    	
			    },
			    error : function (respuesta){
					desbloquearInterfaz();
					$("#id_capaPlantilla").rup_feedback("set",respuesta.responseText, "error");
					
				}
			});
		}
		else{
			desbloquearInterfaz();
			$("#id_capaPlantilla").rup_feedback("set", $.rup.i18n.app.feedback.error.lineaNoSeleccionada, "error");
		}
		
	});
	
	//Cancelar
	$("#plantillas_close").click(function(){
		$("#dialogs").rup_dialog('close');
	});
	
});

function generarDocumento(data){

	$('#btnGenerarDocumento').prop("disabled", true);
	if($("#esExpedienteCerrado").val() === "true"){
		$('#btnEditarDocumento').prop("disabled", true);	
	}else{
		$('#btnEditarDocumento').prop("disabled", false);	
	}	
	var rowData = $('#plantillas').DataTable().rows(['.selected']).data().toArray();
	var taskId = rowData[0].tiposPlantilla.taskId;
	if(taskId !=''){
		  if($("#esExpedienteCerrado").val() === "true"){
			  $('#btnAportarDocumento').prop("disabled", true);
	  	  } else {
	  		 $('#btnAportarDocumento').prop("disabled", false);
	  	  }
	}else{
		$('#btnAportarDocumento').prop("disabled", true);
	}
	
	if($("#esExpedienteCerrado").val() === "true"){
		$('#btnEliminarDocumento').prop("disabled",true);	
	}else{
		$('#btnEliminarDocumento').prop("disabled",false);
	}	
	$("#id_capaPlantilla").rup_feedback("set",$.rup.i18n.app.mensajes.documentoGenerado, "ok");
	location.href = data;

}

function editarDocumento(data){

	$('#btnGenerarDocumento').prop("disabled", true);
		
	var rowData = $('#plantillas').DataTable().rows(['.selected']).data().toArray();
	var taskId = rowData[0].tiposPlantilla.taskId;
	if(taskId !=''){
		  if($("#esExpedienteCerrado").val() === "true"){
			  $('#btnAportarDocumento').prop("disabled", true);
	  	  } else {
	  		 $('#btnAportarDocumento').prop("disabled", false);
	  	  }
	}else{
		$('#btnAportarDocumento').prop("disabled", true);
	}
	
	if($("#esExpedienteCerrado").val() === "true"){
		$('#btnEditarDocumento').prop("disabled", true);
		$('#btnEliminarDocumento').prop("disabled",true);
	}else{
		$('#btnEditarDocumento').prop("disabled", false);
		$('#btnEliminarDocumento').prop("disabled",false);
	}	
		
	location.href = data;

}