var expInicialmenteBajaOCerradoNoConclu=0;


var dialogoDetalleExpediente = {
	hayCambiosExpAsocDesasoc:false,
	inicializado:false,
	nombreRupTable:null,
	expedienteActual:null,
	modoVista:"",

	// Lista de espedientes a desbloquear
	listaDesbloquear:[],
	 
	// Lista de espedientes a asociar
	listaAsociar:[],
	//
	regAgregar:[],
	// Espedientes desasociar
	listaDesasociar:[],
	// Oculta los elementos visibles
	ocultarElementos:function(){
		$("#dialogoEspera").hide();  
	},
	validador:null,

	// Inicializa todos los componentes de la pantalla del dialogo del detalle
	// expediente
	inicializar:function(){
		$("#Expedientes_detail_form2").rup_form("resetForm");
		if(dialogoDetalleExpediente.validador!=null){
			dialogoDetalleExpediente.validador.resetForm();
			$("#Expedientes_detail_feedback2").hide();
			$("#Expedientes_detail_feedback3").hide();
			$("#Expedientes_detail_feedback4").hide();
		}
		if(!this.inicializado){
		
			this.inicializado=true;	
			
			var fechaActual = new Date();
			var anioActual = fechaActual.getFullYear();
			var fechaMin = "01/01/" + anioActual;
			var fechaMax = "31/12/" + anioActual;
			if ($.rup.lang=="eu") {
				//EUSKERA
				fechaMin = anioActual + "/01/01";
				fechaMax = anioActual + "/12/31";
			}
			jQuery("#Expedientes_detail_feedback2").rup_feedback({
				type: "ok",
				closeLink: true,
				fadeSpeed: 600,
				block:false
			});
			jQuery("#Expedientes_detail_feedback3").rup_feedback({
				type: "ok",
				closeLink: true,
				fadeSpeed: 600,
				block:false
			});
			jQuery("#Expedientes_detail_feedback4").rup_feedback({
				type: "ok",
				closeLink: true,
				fadeSpeed: 600,
				block:false
			});
			// Inicializo las varibales de listas de expedientes asignados
			
			// Botonera pantalla Alta, modificación y consulta de expediente
			$("#AltaExpediente_toolbar").rup_toolbar({
				buttons:[{
					id:"fases",
					i18nCaption:$.rup.i18n.app.btnExpediente.fases, 
					css:"fases",
					click: dialogoDetalleExpediente.obtenerFases
				},
				{
					id:"documentos",
					i18nCaption:$.rup.i18n.app.btnExpediente.documentos, 
					css:"documentos", 
					click: dialogoDetalleExpediente.handlerDocumentosAsig
				},
				{
					id:"historico",
					i18nCaption:$.rup.i18n.app.btnExpediente.historico, 
					css:"historico", 
					click:dialogoDetalleExpediente.handlerHistorico
				},
				{
					id : "excel",
					i18nCaption:$.rup.i18n.app.btnExpediente.excel, 
			        css : "excel right_button",
			        right : true,
			        click : this.handlerExcelDetalle
				},
				{
					id:"imprimir",
					i18nCaption:$.rup.i18n.app.btnExpediente.imprimir, 
					css:"imprimir right_button", 
					right: true,
					click: this.handlerImprimirDetalle
				}
				]
			});
		
	
			// Combo estados expedientes
			$("#cesta20_detail_table").rup_combo(
			{
				loadFromSelect:true,
				width : "280",
				blank: "",
				selected:"",
				style: "dropdown",
				onLoadSuccess: function(){
					$("#cesta20_detail_table").rup_combo("selectLabel", $("cesta20_detail_table").val());
				},
			
				change:function(){	
					expInicialmenteBajaOCerradoNoConclu=0;//Ponemos a cero ya que este control solo es para cuando se pinta incialmente el expediente (Entra en cesta20_detail_table_change). Las siguientes veces que entre por aquí es porque ha cambiado el estado y entonces debe funcionar como antes	
					cesta20_detail_table_change(codigoServicioResponsable);
				}
			});
			// Combo estados expedientesalta
			/*
			 * $("#cesta20_detail_table").rup_combo( { loadFromSelect:true,
			 * width : "280", blank: "", selected:"", style: "dropdown",
			 * onLoadSuccess: function(){
			 * $("#cesta20_detail_table").rup_combo("selectLabel",
			 * $("cesta20_detail_table").val()); }, change:function(){
			 * $("#cesta20Hidden").val($("#cesta20_detail_table").val()); //Si
			 * se selecciona estado cerrado, //mostramos el campo fecha de
			 * cierre if($("#cesta20_detail_table").val() == 1){
			 * $("#fcier20_detail_table").rup_date("enable");
			 * $("#divFcier").show(); }else if($("#cesta20_detail_table").val() ==
			 * 2 || $("#cesta20_detail_table").val() == 4){
			 * $("#divFcier").show();
			 * $("#fcier20_detail_table").rup_date("enable");
			 * $("#divArchiva").show(); }else{ $("#divFcier").hide();
			 * $("#divArchiva").hide(); } } });
			 */
			// Fechas
			$("#faper20_detail_table").rup_date({
				changeYear:false,
				minDate:fechaMin,
				maxDate:fechaMax
			});
			$("#fcier20_detail_table").rup_date();
			$("#fvto20_detail_table").rup_date();
			
	
			// Combo ubicacion expedientes alta
			$("#carchi20_detail_table").rup_combo(
			{
				loadFromSelect:true,
				width : "555",
				blank: "",
				selected:"",			
				change:function(){
					$("#carchi20Hidden").val($("#carchi20_detail_table").val());
				}
			});
			
			// Combo departamentos expedientes alta
			$("#depar20_detail_table").rup_combo(
			{
				loadFromSelect:true,
				width : "555",
				blank: "",
				selected:"",			
				change:function(){
					$("#depar20Hidden").val($("#depar20_detail_table").val());
				}
			});	
			// Combo paises
			$("#cpais20_detail_table").rup_combo(
			{
				loadFromSelect:true,
				width : "180",
				blank: "",
				selected:"108",
				change:function(){
					if($("#cpais20_detail_table").rup_combo("getRupValue") == 108){
						$("#divProvincia").show();
						$("#divMunicipio").show();
					}else{
						$("#divProvincia").hide();
						$("#divMunicipio").hide();  
					}
				}
			});
			
			// Combo provincias
			$("#cprov20_detail_table").rup_combo(
			{
				loadFromSelect:true,
				width : "180",
				blank: "",
				selected:""
			});
			
			//Angel 21/05/2019 - Cambiar combo Municipios por autocomplete
			// Combo municipios
			/*
			$("#cmuni20_detail_table").rup_combo({
				source : "../nora/municipioExp",
				sourceParam : {label:"dsO", value:"id"},
				parent: ["cprov20_detail_table"],
				width : "400",
				blank : "",
				onLoadSuccess:function(){
					// Viene de edición, hay que cargar el municipio actual, y
					// eso solamente se puede hacer
					// después de haber cargado la lista de municipios
					if(municipioActual!=null){
						$("#cmuni20_detail_table").rup_combo("select",municipioActual);
						municipioActual=null;
					}
				}
			});
			*/
			$("#cmuni20_detail_table").rup_autocomplete({
				source : "../nora/municipioExpAutocomplete",
				sourceParam : {label:"dsO", value:"id"},
				extraParams: {
					cprov20: function() {return jQuery("#cprov20_detail_table").val();}
			     },
				method : 'GET',
				width: "100",
				getText:false,
				minLength : "3",
				change : function() {
					
				}
			});
			if(municipioActual!=null){
				$("#cmuni20_detail_table").rup_autocomplete("select",municipioActual);
				$("#cmuni20_detail_table_label").rup_autocomplete("select",municipioActualDesc);
				municipioActual=null;
				municipioActualDesc=null;
			}
			//Fin Angel 21/05/2019
			
			var codigoServicioResponsable=$("#servicioLogueado").val();
			// Combo tipos expedientes
			$("#cexpe20_detail_table").rup_combo(
			{
				loadFromSelect:true,				
				width : "500",
				blank: "-1",
				selected:"-1",
				disabled:true,			
				change:function(){
					$("#cexpe20Hidden").val($("#cexpe20_detail_table").val());
				}
			});
		
			// Combo tipos expedientes alta
			$("#cexpe20Alta_detail_table").rup_combo(
			{
				loadFromSelect:true,				
				width : "500",
				blank: "-1",
				selected:"-1",
				change:function(){
					funChangeTipoExpAlta();
				}
			});
			
			// Combo usuarios expedientes
			$("#crespo20_detail_table").rup_combo(
			{
				loadFromSelect:true,	
				width : "555",
				blank: "-1",
				select: "-1",
				change:function(){
					$("#crespo20Hidden").val($("#crespo20_detail_table").val());
				}
					
				
			});		
			// Combo usuarios expedientes
			/*
			 * $("#crespo20Alta_detail_table").rup_combo({ loadFromSelect:true,
			 * width : "555", blank: "-1", select: "-1", change:function(){
			 * $("#crespo20Hidden").val($("#crespo20Alta_detail_table").val()); }
			 * 
			 * 
			 * 
			 * });
			 */	
	
			
			
		// $("#crespo20_detail_table").rup_combo("select",$("#crespo20pre_filter_table").val());
			/**
			 * Si es modo Alta llamamos al controller para que nos devuelva el
			 * grid vacio
			 */
			var urlExpAsoc = "";
			if(modo == "A"){
				urlExpAsoc = "../aa21b20s01";
			}else if(modo == "M"){
				urlExpAsoc = "../aa21b20s01";
			}else if(modo == "C"){
				urlExpAsoc = "../aa21b20s01";
			}
	
			// Tabla grid expedientes asociados
			$("#ExpAsociados").rup_table({  
				datatype: "local",
				rowNum:20,
				url: urlExpAsoc,
				colNames: [
				    $.rup.i18n.app.aa21b20s01.refer20,
				    $.rup.i18n.app.aa21b20s01.refer20,
				    $.rup.i18n.app.aa21b20s01.refer20,
				    $.rup.i18n.app.aa21b20s01.refer20,
					$.rup.i18n.app.aa21b20s01.cesta20,
					"cserv20",
					"cexpe20",
					"aexpe20",
					"nexpe20",
					"grupo",
					"objeto20",
					"ubica20",
					"sortcol"
				],
				colModel: [
				    {  name: "refExp", 
				       label: "refExp",
		        	   align: "center", 
		        	   width: 75, 
		        	   editable: true, 
		        	   fixed: false, 
		        	   hidden: true, 
		        	   resizable: true, 
		        	   sortable: false
		            },				
		            {  name: "refExpVer", 
					   label: "refExp",
					   align: "center", 
					   width: 75, 
		        	   editable: true, 
		        	   fixed: false, 
		        	   hidden: false, 
		        	   resizable: true, 
		        	   sortable: false
		            },
		            {  name: "grupo", 
		        	   label: "grupo",
		        	   hidden: true 
				    },
					{  name: "idExpe", 
					   label: "idExpe",
					   hidden: true 
					},
					{  name: "cesta20", 
					   label: "cesta20",
					   hidden: true 
					},
					{  name: "cserv20", 
			           label: "cserv20",
			           hidden: true 
			        },
			        {  name: "cexpe20", 
			           label: "cexpe20",
			           hidden: true
			        },
			        {  name: "aexpe20", 
			           label: "aexpe20",
			           hidden: true
		            },
		            {  name: "nexpe20", 
		        	   label: "nexpe20",
		        	   hidden: true
		            },   
		            {  name: "grupo", 
		        	   label: "grupo",
		        	   hidden: true 
		            },
		            {  name: "objeto20",
		        	   label: "objeto20",
		        	   hidden: true
		            },
		            {  name: "ubica20",
		        	   label: "ubica20",
		        	   hidden: true
		            },
		            {  name: "sortcol",
		        	   label: "sortcol",
		        	   hidden: true
		            }
		        ],
		        model:"Aa21b20s01",
		        usePlugins:[
					"formEdit",
		        	"feedback",
					"toolbar",
		        	"fluid"
		         	],
				primaryKey: "idExpe",
				sortname: "sortcol",
				sortorder: "asc",
				loadOnStartUp: false,
				// loadComplete:this.fncTableCompleteExpAsociados,
				toolbar:{
					defaultButtons:[{}],
					newButtons:[{
						id:"aniadirExpAsociado",
						obj: { id:"aniadirExpAsociado", i18nCaption:$.rup.i18n.app.botonerasMantGenerales.aniadir, css: "rup-icon aniadir" },
						click: this.handlerAniadirExpAsociado
					},
				    {
						id:"quitarExpAsociado",
						obj: { id:"quitarExpAsociado", i18nCaption:$.rup.i18n.app.botonerasMantGenerales.quitar, css: "rup-icon quitar" },
						click: this.handlerQuitarExpAsociado,
						disabled:true
				    },
				    {
				    	id:"detalleExpAsociado",
				    	obj: {i18nCaption:$.rup.i18n.app.botonerasMantGenerales.detalle, css: "rup-icon detalle"},
				    	click: this.handlerDetalleExpAsociado,
				    }]
				},
				afterInsertRow : function(rowid, rowdata) {
					pintarFilaSituacionExpediente(rowid, rowdata, $(this), "cesta20");
					var tamanio = $("#dialogoAltaExpediente").css("height");
					tamanio = tamanio.substr(0,tamanio.indexOf("p"));
					var tamanioNuevo = 0;
					tamanioNuevo = parseInt(tamanio) + 9;
					$("#dialogoAltaExpediente").css("height",""+tamanioNuevo+"px"+"");
					
					/**
					 * Cambiamos el tooltip para que al posicionarse encima de
					 * la celda en vez de aparecer el titulo con la referencia
					 * aparezca el objeto
					 */

					var ubicacion = "";
					ubicacion = rowdata["ubica20"];
					if (ubicacion != null && ubicacion != undefined && ubicacion.length>0) {
						ubicacion = " (" + ubicacion + ")";
					}
					//$(this).rup_grid("setRowData", rowid, {refExpVer: rowdata["refExp"] + ubicacion, sortcol: rowdata["cexpe20"]+"-"+rowdata["aexpe20"]+"-"+rowdata["nexpe20"]}, "");
					$(this).rup_grid("setRowData", rowid, {refExpVer: rowdata["refExp"] + ubicacion}, "");
					
					//if (rowdata["cesta20"] != "Baja" && rowdata["cesta20"] != "Cerrado No concluido" && rowdata["cesta20"] != "Cerrado") {
					//	$(this).rup_grid("setRowData", rowid, false, {color:"blue"});
					//} else if(rowdata["cesta20"] == "Cerrado"){
					//	$(this).rup_grid("setRowData", rowid, false, {color:"black"});
					//} else {
					//	$(this).rup_grid("setRowData", rowid, false, {color:"red"});
					//}

					var ref = rowdata["refExp"] + ubicacion;
					var objeto20 = rowdata["objeto20"];
					$("td[rup_tooltip='" + ref + "'").attr("rup_tooltip",objeto20);
				},
		        formEdit:{
		        	detailForm: "#ExpAsociados_detail_div",
					fillDataMethod: "clientSide"
		        },
		        onSelectRow:function(ids){
		        	$("[id='ExpAsociados_toolbar##"+$.rup.i18n.app.botonerasMantGenerales.quitar+"']").prop("disabled",false);
		        }
		       
			});
			
			$("#ExpAsociados").on("rupTable_beforeEditRow", function(deleteOptions,selectedRow){
				return false;
			});
			
			
			/**
			 * Función al hacer doble click en la tabla asociados muestra un
			 * dialog con los datos del expediente
			 */
			$("#ExpAsociados").on("jqGridDblClickRow", function(event, form, oper) {
				var posLinea = $("#ExpAsociados").rup_table("getSelectedLines");
				var refExp = $("#ExpAsociados").rup_table("getRowData")[posLinea].refExp;
				var idExpAsoc = $("#ExpAsociados").rup_table("getRowData")[posLinea].idExpe;
				// dialogoDetalleExpediente.mostrarDetalleAsociado(form,refExp,idExpAsoc);
				dialogoConsultaEspedientesAsociados.abrirDialogo(idExpAsoc,refExp);
				return false;
			});
			
			
			// Función a lanzar cada vez que se presiona una tecla en un
			// textarea
			// en el que se encuentra el atributo maxlength
			$("textarea[maxlength]").keyup(function() {
				var limit   = $(this).attr("maxlength"); // Límite del
															// textarea
				var value   = $(this).val();             // Valor actual del
															// textarea
				var current = value.length;              // Número de
															// caracteres actual
				if (limit < current) {                   // Más del límite de
															// caracteres?
					// Establece el valor del textarea al límite
					$(this).val(value.substring(0, limit));
				}
			});
			
			//Angel 23/04/2018 Hacer lo mismo para el servicio 92. El campo Expediente Baja estará bloqueado 
			//if($("#servicioLogueado").val() == "93"){
			if($("#servicioLogueado").val() == "93" && $("#servicioLogueado").val() == "92"){
			//Fin Angel 23/04/2018 
				$("#ubica20_detail_table").attr("readonly",true);
			}else{
				$("#ubica20_detail_table").attr("readonly",false);
			}
			
			jQuery("#borrarExpant").on("click", function() {
				$("#expant20_detail_table").val("");
			});
			
			
			// Oculto la paginación de la tabla de expedientes asociados
			$("#ExpAsociados_pager").hide();
			/**
			 * Función que se ejecuta al cerrar la pantalla de
			 * alta/modificación/consulta del expediente. Se desbloquea el
			 * expediente y sus asociados(en el caso de que se hayan asociado
			 * nuevos) Se inicializa la pantalla
			 */
			jQuery("#Expedientes_detail_div2").on("dialogclose", function() {
				
				if(dialogoDetalleExpediente.modoVista != "C"){
					dialogoDetalleExpediente.desbloquearExpedientesAsociados();
					 var nombre="";
					 if(dialogoDetalleExpediente.nombreRupTable==null)
						 nombre="#Expedientes";
					 else nombre=dialogoDetalleExpediente.nombreRupTable;
					desbloquear(jQuery(nombre), "aa21b20s01");
	
					// Limpio la pantalla para que cuando vuelva a abrirla este
					// incializada
					$("#ExpedientesNuevos_filter_summary").html("<i></i>");
					$("#ExpedientesNuevos_filter_toolbar").html("");
					
					$("#dialogSeleccionExpedientes").rup_dialog("destroy");
				
					$(nombre).rup_table("filter");
				}
				$("#AltaExpediente_detail_div").hide();
				$("#dialogoEspera").show();
				$("#Expedientes_detail_div2").rup_dialog("destroy");
				$("#ExpAsociados_div").hide();
				$("#botoneraAltaExpedientes").hide();
				$("#dialogoAltaExpediente").hide();
			});
			
			jQuery(window).bind('beforeunload', function() {
		        // Aquí iría la función que desbloquea :
				if(dialogoDetalleExpediente.modoVista != "C"){
					desbloquear(jQuery("#Expedientes"), "aa21b20s01");
				}
			});
			
			jQuery("#Expedientes_detail_div2").bind('dialogbeforeclose', function() {
				if(dialogoDetalleExpediente.modoVista == "M") {
					if (dialogoDetalleExpediente.hayCambiosExpAsocDesasoc) {
						$.rup_messages("msgConfirm", {
								title: $.rup.i18n.app.mensajesMantGenerales.titPreguntaConfirmar,
								message: $.rup.i18n.app.mensajesMantGenerales.msjConfirmarCancelarExpAsociados,
								siNo:true,
								OKFunction: function() {
									dialogoDetalleExpediente.hayCambiosExpAsocDesasoc = false;
									//$("#Expedientes_detail_div2").rup_dialog("close");
									$("#Expedientes_detail_div2").rup_dialog("destroy");
									return true;
								}
						});
						return false;
					}
				}
			});

			/**
			 * Función cuando cambia el valor en el combo de servicios
			 */
			$("#fvto20_detail_table").on("change",function(event) {
				//if($("#fvto20_detail_table").val() < $("#faper20_detail_table").val()){
				if(fechaANumero($("#fvto20_detail_table").rup_date("getDate")) < fechaANumero($("#faper20_detail_table").rup_date("getDate"))){
					$.rup_messages("msgAlert", {message: $.rup.i18n.app.aa21b20s01.msjFvtoMenor});
					$("#fvto20_detail_table").val("");
					$("#fvto20_detail_table").focus();
				}
		
			});
			
			/**
			 * Función cuando cambia el valor en el combo de servicios
			 */
			$("#fcier20_detail_table").on("change",function(event) {
				//if($("#fcier20_detail_table").val() < $("#faper20_detail_table").val()){
				//	$.rup_messages("msgAlert", {message: $.rup.i18n.app.aa21b20s01.msjFcierMenor});
				//	$("#fcier20_detail_table").val("");
				//	$("#fcier20_detail_table").focus();
				//}
				if(fechaANumero($("#fcier20_detail_table").rup_date("getDate")) < fechaANumero($("#faper20_detail_table").rup_date("getDate"))){
					$.rup_messages("msgAlert", {message: $.rup.i18n.app.aa21b20s01.msjFcierMenor});
					$("#fcier20_detail_table").val("");
					$("#fcier20_detail_table").focus();
				}
			});
			
			//20160908 - INIGO
			//El combo de Responsables sólo será obligatorio en caso de que el servicio del usuario logueado sea 93.
			//Angel 23/04/2018 . Hacer lo mismo para el servicio 92
			//if(codigoServicioResponsable != "93") {
			if(codigoServicioResponsable != "93" && codigoServicioResponsable != "92") {
			//Fin Angel 23/04/2018 
				$("#crespo20AO").text("");
				$("#crespo20AO").hide();
				$("#crespo20LO").attr("class", "formulario_linea_label");
			} else {
				$("#crespo20AO").text("*");
				$("#crespo20AO").show();
				$("#crespo20LO").attr("class", "labelObligatorio");
			}
			
			//Angel 20/05/2019
			if(codigoServicioResponsable == "93" || codigoServicioResponsable == "92") {
				$("#ubicacionesAlta").hide();	
				$("#idCarchiv20Label").hide();
			}
			
			
			
		}
	},
	// Abre el díalogo en modo alta
	abrirExpedienteAlta:function(){
		dialogoDetalleExpediente.modoVista="A";
		this.inicializar();
		this.modoExpedienteTramitable();
		
		$("#expantDetalle").hide();
		$("#cexpe20Alta_detail_table").rup_combo("select",0);
		$("#Expedientes_detail_div2").rup_dialog({	
			type:$.rup.dialog.DIV,
			// url:"/aa21bOrgDocumentalWar/aa21b20s01/altaexpediente",
			modal:true,
			height:840,
			minHeight:400,
			width:1000,	
			minWidth:435,	
			resizable:false,
			title:$.rup.i18n.app.aa21b20s01.altaExpedienteTit,
			autoOpen:false,
			showLoading:true,
	        async:false, 
	        zIndex: -1 ,
	        open:function(){
	        	$("#eimpor20_detail_table").focus();
	        	
	        }
		});
// jQuery("#Expedientes_detail_div2").on("dialogclose", function() {
//			
// }
		this.iniciarArrays();
		$("#Expedientes_detail_div2").rup_dialog("open");
		$("#ExpAsociados_div").show();
		this.vaciarDialogo();
		this.modoAlta();
		// this.inicializar();
		$("#dialogoEspera").hide();
		// Se pone el responsable que se haya seleccionado en la pantalla de
		// incicio
		// $("#crespo20Alta_detail_table").rup_combo("setRupValue",$("#crespo20pre_filter_table").val());
		$("#crespo20_detail_table").rup_combo("setRupValue",$("#crespo20pre_filter_table").val());
		$("#crespo20Hidden").val($("#crespo20pre_filter_table").val());
		
	},
	abrirExpediente:function(expediente,modo){
		
		dialogoDetalleExpediente.expedienteActual=expediente;
		dialogoDetalleExpediente.modoVista=modo;
		var titulo="";
		if(modo=="M")
			titulo=$.rup.i18n.app.aa21b20s01.consultaExpedienteTit2 + " " + expediente.refExp;
		else
			titulo=$.rup.i18n.app.aa21b20s01.consultaExpedienteTit + " " + expediente.refExp;
		this.inicializar();
			$("#Expedientes_detail_div2").rup_dialog({	
			type:$.rup.dialog.DIV,
		// url:"/aa21bOrgDocumentalWar/aa21b20s01/consultarexpediente?idexpe="+expediente.idExpe,
			modal:true,
			height:840,
			minHeight:400,
			width:1000,	
			minWidth:435,	
			resizable:false,
			title:titulo,
			autoOpen:false,
			showLoading:true,
			async:true ,
			open:this.obtenerDatosExpediente
		});

		$("#ExpAsociados_div").show();
	
		$("#Expedientes_detail_div2").rup_dialog("open");
		// Se pone el responsable que se haya seleccionado en la pantalla de
		// incicio
		$("#crespo20_detail_table").rup_combo("setRupValue",$("#crespo20pre_filter_table").val());
		$("#crespo20Hidden").val($("#crespo20pre_filter_table").val());
	},
	/*
	 * Vacía los valores y selecciona los valores por defecto
	 */
	 vaciarDialogo:function(){
		$("#cexpe20_detail_table").rup_combo("clear");
		$("#cesta20_detail_table").rup_combo("clear");
		$("#carchi20_detail_table").rup_combo("clear");
		$("#crespo20_detail_table").rup_combo("clear");
		$("#depar20_detail_table").rup_combo("clear");
		$("#cexpe20_detail_table").rup_combo("clear");
		$("#cesta20_detail_table").rup_combo("clear");
		$("#carchi20_detail_table").rup_combo("clear");
		// $("#crespo20Alta_detail_table").rup_combo("clear");
		$("#crespo20_detail_table").rup_combo("clear");
		$("#depar20_detail_table").rup_combo("clear");
		
		$("#cpais20_detail_table").rup_combo("setRupValue","108");
		$("#divProvincia").show();
		$("#divMunicipio").show();
		
		$("#cprov20_detail_table").rup_combo("clear");
		
		//Angel 21/05/2019 - Cambiar combo Municipios por autocomplete
		//$("#cmuni20_detail_table").rup_combo("clear");
		$("#cmuni20_detail_table").rup_autocomplete("setRupValue","");
		
		$("#obser20_detail_table").val("");
		$("#refer20_detail_table").val("");
		$("#fvto20_detail_table").val("");
		$("#faper20_detail_table").val("");
		$("#eimpor20_detail_table").val("");
		$("#eimpora20_detail_table").val("");
		$("#objeto20_detail_table").val("");
		$("#aexpe20_detail_table").val("");
		$("#faper20_detail_table").val("");
	},
	/*
	 * Inicializa los valores
	 */
	 iniciarArrays:function(){
		// registros = [];
		 this.regAgregar = [];
		 // regBloqueados=[];
		 this.listaDesbloquear=[];
		 this.listaAsociar=[];
		 this.listaDesasociar=[];
		 codigoPrincipal="";
		 codigoEnvio="?";
		 hayCambiosExpAsocDesasoc=false;
		
	},
	/**
	 * Función imprimir detalle expediente PDF
	 */
	 handlerImprimirDetalle:function(){
		
		$('#idExpePrintDet').val(dialogoDetalleExpediente.expedienteActual.idExpe);
	
		$("#frmImprimirDet").attr("action","../imprimirMantGenerales/imprimirExpedienteDetalle");
		$("#frmImprimirDet").attr("target","_blank");
	
		$("#frmImprimirDet").submit();
	},
	/**
	 * Función generación Excel detalle expediente
	 */
	 handlerExcelDetalle:function(){
		$('#idExpePrintDet').val(dialogoDetalleExpediente.expedienteActual.idExpe);
	
		$("#frmImprimirDet").attr("action","../aa21b20s01/excelFichaExpediente");
		$("#frmImprimirDet").attr("target","_blank");
		$("#frmImprimirDet").submit();
	},
	/**
	 * Funcion que abre un dialogo con la tabla de expedientes para que el
	 * usuario seleccione cuales quiere asociarr al expediente que esta dando de
	 * alta o modificando
	 */
	
	handlerAniadirExpAsociado:function(){
		dialogoEspedientesAsociados.abrirDialogo2($("#refExp_detail_table").val());
	},
	 modoAlta:function(){
	    dialogoDetalleExpediente.dialogoDetalleExpediente="A";
	    
	    //Angel 26/04/2018 
	    $("#bt_abrirBusqResp").show();
	    
		var fechaActual = new Date();
		var anioActual = fechaActual.getFullYear();
		var fechaMin = "01/01/" + anioActual;
		var fechaMax = "31/12/" + anioActual;
		if ($.rup.lang=="eu") {
			//EUSKERA
			fechaMin = anioActual + "/01/01";
			fechaMax = anioActual + "/12/31";
		}

		$("#eimpor20_detail_table").val("");
		$("#eimpora20_detail_table").val("");
		$("#objeto20_detail_table").val("");
		$("#refer20_detail_table").val("");
		$("#obser20_detail_table").val("");
		// Asigno las funciones de alta a los botones
		$("[id='Expedientes_detail_button_save2']").unbind("click");
		$("[id='Expedientes_detail_link_cancel2']").unbind("click");
		$("[id='Expedientes_detail_button_save2']").click(this.handlerCrearExpediente);
		$("[id='Expedientes_detail_link_cancel2']").click(this.handlerCancelarAlta);
		// Establecemos la visibilidad de los combos que están en alta
		$("#estadosTodos").hide();
		$("#estadosAlta").show();
		// $("#estadosExpeTodos").hide();
		// $("#estadosExpeAlta").show();
		// $("#ubicacionesTodos").hide();
		// $("#ubicacionesAlta").show();
		// $("#responsablesTodos").hide();
		// $("#responsablesAlta").show();
		// $("#departamentosTodos").hide();
		// $("#departamentosAlta").show();
		
		//
		$("#labelOblig").show();
		$(".asterisco").show();
		$("#AltaExpediente_toolbar").hide();
		$("#divAexpe").show();
		
		$("#aexpe20_detail_table").val(anioActual);
		$("#cesta20_detail_table").rup_combo("enable");
		$("#carchi20_detail_table").rup_combo("enable");
		$("#crespo20_detail_table").rup_combo("enable");
		$("#depar20_detail_table").rup_combo("enable");
		$("#cpais20_detail_table").rup_combo("enable");
		$("#cprov20_detail_table").rup_combo("enable");
		
		//Angel 21/05/2019 - Cambiar combo Municipios por autocomplete
		$("#cmuni20_detail_table").rup_autocomplete("enable");
		//$("#cmuni20_detail_table").rup_combo("enable");
		
		$("#faper20_detail_table").rup_date("enable");
		$("#fvto20_detail_table").rup_date("enable");
		$("#faper20_detail_table").rup_date("setDate",fechaActual);
		$("#faper20_detail_table").rup_date("disable");
		$("#cexpe20Hidden").val("");
		$("#cesta20Hidden").val("");
		$("#carchi20Hidden").val("");
		$("#depar20Hidden").val("");
		$("#crespo20Hidden").val("");
		$("#cexpe20_detail_table").rup_combo("sertRupValue","-1");
		$("#ExpAsociados").rup_table("clearGridData",true);
		$("[id='ExpAsociados_toolbar##"+$.rup.i18n.base.rup_maint.new+"']").show();
		$("#Expedientes_detail_button_save2").show();
		$("#Expedientes_detail_link_cancel2").show();
		
		// 20160905 - INIGO
		// MODO ALTA
		$("#botoneraAltaExpedientes").show();
		$("[id='AltaExpediente_detail_button_save']").show();
		$("[id='AltaExpediente_detail_link_cancel']").show();
		$("#AltaExpediente_detail_div :input").attr("readonly", null);
		$("#Expedientes_detail_div2 :input").attr("readonly", null);
		$("#cexpe20_detail_table").rup_combo("enable");
		$("[id='ExpAsociados_toolbar##aniadirExpAsociado']").show();
		$("[id='ExpAsociados_toolbar##quitarExpAsociado']").show();
		$(".ui-selectmenu-status").css("color","black");
		
		$("#refExp_detail_table").val("");
		// $(".rup-maint_validateIcon").show();
	},
	/**
	 * establece algunas opciones del diálogo para que pueda modificar
	 * correctamente el expediente
	 */
	 modoModificar:function(modoVistaEntrada){
			$("#AltaExpediente_toolbar").show();
		    //Angel 26/04/2018 
		    $("#bt_abrirBusqResp").show();

			dialogoDetalleExpediente.dialogoDetalleExpediente=modoVistaEntrada;
			if(modoVistaEntrada == "M"){
				$("#ui-dialog-title-dialogoAltaExpediente").text($.rup.i18n.app.aa21b20s01.modificacionExpedienteTit + " " + $("#refExp_detail_table").val());
				
				// Asigno a los botones las funciones si es modificar
				$("[id='Expedientes_detail_button_save2']").unbind("click");
				$("[id='Expedientes_detail_link_cancel2']").unbind("click");
				$("[id='Expedientes_detail_button_save2']").click(this.handlerGuardarExpediente);
				$("[id='Expedientes_detail_link_cancel2']").click(this.handlerCancelarAlta);
				
				$("#labelOblig").show();
				$(".asterisco").show();
			// $(".rup-maint_validateIcon").show();
				$("#botoneraAltaExpedientes").show();
		
				$("[id='AltaExpediente_detail_button_save']").show();
				$("[id='AltaExpediente_detail_link_cancel']").show();
				// $("#ExpAsociados_toolbar").show();
				$("[id='ExpAsociados_toolbar##quitarExpAsociado']").show();
				$("[id='ExpAsociados_toolbar##aniadirExpAsociado']").show();
				// console.log("568 toolbar show");
				$("#AltaExpediente_detail_div :input").prop( "readonly", null );
				$("#Expedientes_detail_div2 :input").attr("readonly",null);
				$(".ui-selectmenu-status").css("color","black");
				$("#cexpe20_detail_table").rup_combo("disable");
				$("#cesta20_detail_table").rup_combo("enable");
				$("#carchi20_detail_table").rup_combo("enable");
				$("#crespo20_detail_table").rup_combo("enable");
				$("#depar20_detail_table").rup_combo("enable");
				$("#cpais20_detail_table").rup_combo("enable");
				$("#cprov20_detail_table").rup_combo("enable");
				
				//Angel 21/05/2019 - Cambiar combo Municipios por autocomplete
				//$("#cmuni20_detail_table").rup_combo("enable");
				$("#cmuni20_detail_table").rup_autocomplete("enable");
				
				// $("#cexpe20_detail_table").rup_combo("disable");
				// $("#faper20_detail_table").rup_date("enable");
				$("#faper20_detail_table").rup_date("disable");
				$("#fvto20_detail_table").rup_date("enable");
				$("#Expedientes_detail_button_save2").show();
				$("#Expedientes_detail_link_cancel2").show();
				// Obtener si el tipo de expediente es tramitable o no
				
				
			}else{
				// MODO CONSULTA
				$(".rup-maint_validateIcon").hide();
				$("#botoneraAltaExpedientes").hide();
				$("#labelOblig").hide();
				$(".asterisco").hide();
				$("[id='AltaExpediente_detail_button_save']").hide();
				$("[id='AltaExpediente_detail_link_cancel']").hide();
				// $("#ExpAsociados_toolbar").hide();
				$("[id='ExpAsociados_toolbar##quitarExpAsociado']").hide();
				$("[id='ExpAsociados_toolbar##aniadirExpAsociado']").hide();
				// console.log("617 toolbar hide");
				$("#AltaExpediente_detail_div :input").attr("readonly","readonly");
				$("#Expedientes_detail_div2 :input").attr("readonly",true);
				$(".ui-selectmenu-status").css("color","black");
				$("#cexpe20_detail_table").rup_combo("disable");
				$("#cesta20_detail_table").rup_combo("disable");
				$("#carchi20_detail_table").rup_combo("disable");
				$("#crespo20_detail_table").rup_combo("disable");
				$("#depar20_detail_table").rup_combo("disable");
				$("#cpais20_detail_table").rup_combo("disable");
				$("#cprov20_detail_table").rup_combo("disable");
				//Angel 21/05/2019 - Cambiar combo Municipios por autocomplete
				//$("#cmuni20_detail_table").rup_combo("disable");
				$("#cmuni20_detail_table").rup_autocomplete("disable");
				
				$("#faper20_detail_table").rup_date("disable");
				$("#fvto20_detail_table").rup_date("disable");
				$("#Expedientes_detail_button_save2").hide();
				$("#Expedientes_detail_link_cancel2").hide();
				
			
			}
			
			/**
			 * Obtención de datos del tipo expediente
			 * 
			 */
			jQuery.ajax({
				type : "GET",
				dataType : "json",
				url : "../aa21b02s01/" + $("#cexpe20_detail_table").val(),
				cache : false,
				success : function(xhr, response) {
					// console.log("ajax success");
					datosTipoExp = xhr;
					if(datosTipoExp != null){
						var tramitable = datosTipoExp.ctrami02;
						if(tramitable != "1"){
							dialogoDetalleExpediente.modoExpedienteNoTramitable();
						}else{
							dialogoDetalleExpediente.modoExpedienteTramitable();
						}
					}
				}
			});
			// establecemos la visibilidad de los combos
			$("#estadosTodos").show();
			$("#estadosAlta").hide();			
			// $("#estadosExpeTodos").show();
			// $("#estadosExpeAlta").hide();
			// $("#ubicacionesTodos").show();
			// $("#ubicacionesAlta").hide();
			// $("#responsablesTodos").show();
			// $("#responsablesAlta").hide();
			// $("#departamentosTodos").show();
			// $("#departamentosAlta").hide();
	},
	
	/**
	 * Función que quita de la tabla temporal de expedientes asociados los
	 * registros seleccionados
	 */
	 handlerQuitarExpAsociado:function(){
		var registros = [];
		var regBloqueados = [];
	
		var regEliminar = [];
		var regDesbloquear = [];
		
		// Se eliminan los seleccionados
		if($("#ExpAsociados").rup_table('getGridParam', 'selrow')!=null){
		
			$.rup_messages("msgConfirm", { 
				title: $.rup.i18n.app.mensajesMantGenerales.titPreguntaConfirmar,
				message: $.rup.i18n.app.mensajesMantGenerales.msjConfirmarQuitarExpedientes,
				siNo:true,
				OKFunction: function() {
					 var selRowId =  $("#ExpAsociados").jqGrid ('getGridParam', 'selrow');
					 var   codigo =  $("#ExpAsociados").jqGrid ('getCell', selRowId, 'idExpe');
					 var nexperel =  $("#ExpAsociados").jqGrid ('getCell', selRowId, 'refExp');
					 
					 $("#ExpAsociados").rup_table("delRowData", codigo);
					 //Angel 23/02/2018 No funciona Quitar expediente asociado. Cambio para que se elimine directamente al confirmar el botón de QUITAR
					 //dialogoDetalleExpediente.listaDesasociar.push(nexperel);
					 	var sendExp = {};
					 	sendExp["cexpe20"] = $("#cexpe20Hidden").val().substring($("#cexpe20Hidden").val().indexOf("-")+1);
					 	sendExp["nexpe20"] = $("#nexpe20_detail_table").val();
					 	sendExp["aexpe20"] = $("#aexpe20_detail_table").val();
	        			var dt = jQuery.toJSON(sendExp);
						$.ajax({
							type : "POST",
							dataType : "json",
							data : dt,
							contentType : "application/json",
							url :  "/aa21bOrgDocumentalWar/aa21b20s01/eliminarExpAsociadoGrupo?expEliminarGrupo="+ nexperel,
							success : function() {
								 dialogoDetalleExpediente.listaDesbloquear.push(codigo);
								 
								 //20161019 INI - INIGO
								 //dialogoDetalleExpediente.hayCambiosExpAsocDesasoc = true;
								 //20161019 FIN - INIGO

								 $("[id='ExpAsociados_toolbar##"+$.rup.i18n.base.rup_maint.new+"']").show();
								 $("#ExpAsociados").rup_table("deselectAllRows");
									$("[id='ExpAsociados_toolbar##"+$.rup.i18n.app.botonerasMantGenerales.quitar+"']").prop("disabled",true);

								$.rup_messages("msgAlert", {message: $.rup.i18n.app.mensajesMantGenerales.expDesasociado});
								
							},
							error : function() {
								$.rup_messages("msgAlert", {message: $.rup.i18n.app.mensajesMantGenerales.expDesasociadoError});
							}
						});
						
/*
						dialogoDetalleExpediente.listaDesbloquear.push(codigo);
						 
						 //20161019 INI - INIGO
						 dialogoDetalleExpediente.hayCambiosExpAsocDesasoc = true;
						 //20161019 FIN - INIGO

						 $("[id='ExpAsociados_toolbar##"+$.rup.i18n.base.rup_maint.new+"']").show();
						 $("#ExpAsociados").rup_table("deselectAllRows");
							$("[id='ExpAsociados_toolbar##"+$.rup.i18n.app.botonerasMantGenerales.quitar+"']").prop("disabled",true);
*/
					//Fin Angel 23/02/2018 
					 
				// registros = $("#ExpAsociados").rup_table("getRowData");
// if(dialogoDetalleExpediente.listaDesasociar != ""){
// regEliminar.push(this.listaDesasociar);
// }
// //Variable que irá sumando los registros que se van eliminando de la tabla
// //así se le restará al indice ese número
// var cuentaEliminados = 0;
// for(var i=0;i<registros.length;i++){
// var exp = $("#ExpAsociados").rup_table("getRowData")[0];
// var nexperel = exp.refExp;
// var codigo = exp.idExpe;
//						
// //Comprobar si el expediente esta bloqueado
// $("#ExpAsociados").rup_table("delRowData", exp.idExpe);
// cuentaEliminados++;
// regEliminar.push(nexperel);
// regDesbloquear.push(codigo);
// }
// $("[id='ExpAsociados_toolbar##"+$.rup.i18n.base.rup_maint.new+"']").show();
// //console.log("676 toolbar show");
// $("#ExpAsociados").rup_table("deselectAllRows");
// dialogoDetalleExpediente.listaDesasociar=regEliminar;
// dialogoDetalleExpediente.listaDesbloquear=regDesbloquear;
				}
			});
		}else{
			$.rup_messages("msgAlert", {message: $.rup.i18n.app.mensajesMantGenerales.msjNoRegistro});
		}	
	},
	handlerDetalleExpAsociado:function(){
		if($("#ExpAsociados").rup_table('getGridParam', 'selrow')!=null){
			var posLinea  = $("#ExpAsociados").rup_table("getSelectedLines");
			var refExp    = $("#ExpAsociados").rup_table("getRowData")[posLinea].refExp;
			var idExpAsoc = $("#ExpAsociados").rup_table("getRowData")[posLinea].idExpe;
			dialogoConsultaEspedientesAsociados.abrirDialogo(idExpAsoc,refExp);
		}else{
			$.rup_messages("msgAlert", {message: $.rup.i18n.app.mensajesMantGenerales.msjNoRegistro});
		}	
	},
	/**
	 * Función que lanza el evento clic del botón
	 * Expedientes_detail_button_save2, cuando el dialogo está en modo alta
	 * Función que guarda el nuevo expediente y sus asociados Ajax POST pasando
	 * el formulario y un listado de expedientes asociados a agregar.
	 */
	
	 handlerCrearExpediente:function(){
		 $(".rup-maint_validateIcon").hide();
			var reqFecCier = false;
			// Si el estado es cerrado o archivado, la fecha de
			// cierre será obligatoria
			if($("#cesta20_detail_table").val() == 6){
				reqFecCier = true;
				if($("#fcier20_detail_table").val() == ""){
					$("#fcier20_detail_table").rup_date("setDate",null);
				}else{
					//if($("#fcier20_detail_table").val() < $("#faper20_detail_table").val()){
					if(fechaANumero($("#fcier20_detail_table").rup_date("getDate")) < fechaANumero($("#faper20_detail_table").rup_date("getDate"))){
						$.rup_messages("msgAlert", {message: $.rup.i18n.app.aa21b20s01.msjFcierMenor});
						$("#fcier20_detail_table").rup_date("setDate",null);
					}
				}
			}else if($("#cesta20_detail_table").val() == 1){
				reqFecCier = true;
				if($("#fcier20_detail_table").val() == ""){
					$("#fcier20_detail_table").rup_date("setDate",null);
				}else{
					//if($("#fcier20_detail_table").val() < $("#faper20_detail_table").val()){
					if(fechaANumero($("#fcier20_detail_table").rup_date("getDate")) < fechaANumero($("#faper20_detail_table").rup_date("getDate"))){
						$.rup_messages("msgAlert", {message: $.rup.i18n.app.aa21b20s01.msjFcierMenor});
						$("#fcier20_detail_table").rup_date("setDate",null);
					}
				}
			}
			
			/**/
			//if(dialogoDetalleExpediente.validador ==null){
				dialogoDetalleExpediente.validador = $("#Expedientes_detail_form2").rup_validate({
		            focusInvalid:true,
		            invalidHandler: function(form, validator) {
		                  var errors = validator.numberOfInvalids();
		                  if (errors) {                    
		                         validator.errorList[0].element.focus();
		                  }
		                     
		            },
		            submitHandler:function(){
		                  
		                  },
		            
		            feedback:$("#Expedientes_detail_feedback2"),
		            
		                  rules:{                      
		                	  "cexpe20":{required:true,noMenosUno:true},
			                    "objeto20":{required:true,maxlength:1000},
			                    "obser20":{maxlength:1000},
			                    //20160908 - INIGO
			        			//El combo de Responsables sólo será obligatorio en caso de que el servicio del usuario logueado sea 93.
			                    //Angel 23/04/2018 - añadir el servicio 92 
			                    "crespo20":{required:($("#servicioLogueado").val() == "93"),noMenosUno:($("#servicioLogueado").val() == "93")},
			                    //"crespo20":{required:($("#servicioLogueado").val() == "93"),noMenosUno:($("#servicioLogueado").val() == "93"), required:($("#servicioLogueado").val() == "92"),noMenosUno:($("#servicioLogueado").val() == "92")},
			                  //Fin Angel 23/04/2018
			            	  	"faper20":{required:true},
			            	  	"fcier20":{required:reqFecCier}
		                  
		            }
		            });
			//}
	      
	            if ($("#Expedientes_detail_form2").valid()) {
	            	
	            	$.rup_messages("msgConfirm", { 
						title: $.rup.i18n.app.mensajesMantGenerales.titPreguntaConfirmar,
						message: $.rup.i18n.app.mensajesMantGenerales.msjConfirmarGuardarExpediente,
						siNo:true,
		        		OKFunction: function() {
		        			/**
							 * Se da de alta el nuevo expediente con los
							 * expedientes asociados
							 */
		        			var send = {};
		        			
		        			send["cserv20"] = $("#cserv20_detail_table").val();
		        			send["cexpe20"] = $("#cexpe20Hidden").val().substring($("#cexpe20Hidden").val().indexOf("-")+1);
		        			var fechaActual = new Date();
		        			send["aexpe20"] = $("#aexpe20_detail_table").val();
		        			send["faper20"] = $("#faper20_detail_table").val();
		        			send["fvto20"] = $("#fvto20_detail_table").val();
		        			send["objeto20"] = $("#objeto20_detail_table").val();
		        			send["eimpor20"] = formatoUpdate($("#eimpor20_detail_table").val());
		        			send["eimpora20"] = formatoUpdate($("#eimpora20_detail_table").val());
		        			send["cesta20"] = $("#cesta20Hidden").val();
		        			
		        			send["refer20"] = $("#refer20_detail_table").val();
		        			send["carchi20"] = $("#carchi20Hidden").val();
		        			send["crespo20"] = $("#crespo20Hidden").val();
		        			send["cdepar20"] = $("#depar20Hidden").val();
		        			send["obser20"] = $("#obser20_detail_table").val();
		        			send["cpais20"] = $("#cpais20_detail_table").val();
		        			if($("#cpais20_detail_table").rup_combo("getRupValue") == 108){
		        				send["cprov20"] = $("#cprov20_detail_table").val();
		        				//Angel 21/05/2019 - Cambiar combo Municipios por autocomplete
		        				//send["cmuni20"] = $("#cmuni20_detail_table").val();
		        				send["cmuni20"] = $("#cmuni20_detail_table").rup_autocomplete("getRupValue");
		        			}	
		        			
		        			
		        			send["fcier20"] = $("#fcier20_detail_table").val();
		        			send["ubica20"] = $("#ubica20_detail_table").val();
		        			
		        			/**
							 * Añado true o false a la lista de expedientes
							 * asociados, dependiendo de si estos ya tienen
							 * grupo en la tabla 22 (es decir, estan asociados a
							 * algún expediente)
							 */
		        			var listaExpAsociados = $("#ExpAsociados").rup_table("getDataIDs");
		        			var listaExpAsociadosEnviar = [];
		        			for(var i=0;i<listaExpAsociados.length;i++){

		    					var exp = $("#ExpAsociados").rup_table("getRowData")[i];
		    					listaExpAsociadosEnviar.push(exp.refExp);
		    					/*
								 * if(exp.grupo != ""){
								 * listaExpAsociadosEnviar.push(true); }else{
								 * listaExpAsociadosEnviar.push(false); }
								 */
		        			}

		        			var dt = jQuery.toJSON(send);
		        			var url = "/aa21bOrgDocumentalWar/aa21b20s01/crearExpediente?listaExpAsociados="+listaExpAsociadosEnviar;

		        			// Mensaje creacion
		        			$.ajax({
		        				type : "POST",
		        				dataType : "json",
		        				data : dt,
		        				contentType : "application/json",
		        				url : url, 
		        				beforeSend : function(xhr, settings) {
		        					xhr.setRequestHeader("bean", "Aa21b20s01");
		        				},
		        				success : function(xhr, options) {
		        					
		        					// $("#dialogoAltaExpediente").rup_dialog("close");
		        					$("#nexpe20_detail_table").val(xhr[0].nexpe20);

		        					var m = $.rup.i18nParse($.rup.i18n.app,"mensajesMantGenerales.altaExpediente") + " " + xhr[0].refExp;
		        					$("#Expedientes_detail_feedback2").rup_feedback("option", "delay", defaultDelay);
		        					$("#Expedientes_detail_feedback2").rup_feedback("set", m, "ok");
		        					$("#Expedientes_detail_feedback2").rup_feedback("show");
		        					$.rup_messages("msgOK", {message: $.rup.i18n.app.aa21b20s01.msjCreacionExpediente+" "+xhr[0].refExp});

		        					if (xhr[1]!=undefined && xhr[1]!= '') {
		        						m = $.rup.i18nParse($.rup.i18n.app,"mensajesMantGenerales.msjExpNoAsociados") + ": " + xhr[1].toString().replace(',',', ');
		        						$("#Expedientes_detail_feedback3").rup_feedback("option", "delay", defaultDelay);
			        					$("#Expedientes_detail_feedback3").rup_feedback("set", m, "alert");
			        					$("#Expedientes_detail_feedback3").rup_feedback("show");
		        					}

		        					if (xhr[2]!=undefined && xhr[2] != '') {
		        						m = $.rup.i18nParse($.rup.i18n.app,"mensajesMantGenerales.msjExpNuevosAsociados") + ": " + xhr[2].toString().replace(',',', ');
		        						$("#Expedientes_detail_feedback4").rup_feedback("option", "delay", defaultDelay);
			        					$("#Expedientes_detail_feedback4").rup_feedback("set", m, "alert");
			        					$("#Expedientes_detail_feedback4").rup_feedback("show");
		        					}

		        					// Cambiamos la pantalla a modificar
		        					dialogoDetalleExpediente.expedienteActual=xhr;
		        					
		        					dialogoDetalleExpediente.modoModificar("M");
		        					// Poner los campos de los cinco combos
									// correctamente
		        					$("#carchi20_detail_table").rup_combo("setRupValue",$("#carchi20Hidden").val());
		        					$("#cesta20_detail_table").rup_combo("setRupValue",$("#cesta20Hidden").val());
		        					$("#depar20_detail_table").rup_combo("setRupValue",$("#depar20Hidden").val());
		        					$("#crespo20_detail_table").rup_combo("setRupValue",$("#crespo20Hidden").val());
		        					$("#cexpe20_detail_table").rup_combo("setRupValue",$("#cexpe20Hidden").val());
		        					
		        					$(".rup-maint_validateIcon").hide();
		        					// $("#Expedientes_feedback").rup_feedback("option",
									// "delay", defaultDelay);
		        					// $("#Expedientes_feedback").rup_feedback("set",$.rup.i18nParse($.rup.i18n.app,"mensajesMantGenerales.altaExpediente")
									// +" " + xhr, "ok");
		        					// $("#Expedientes_feedback").rup_feedback("show");
		        					
		        					// 20160905 - INIGO
		        					responsableCarga = $("#crespo20Hidden").val();

		        					// 20161019 - INIGO
		        					dialogoDetalleExpediente.hayCambiosExpAsocDesasoc = false;

		        					//20161122 INI - INIGO
		        					//$("#dialogoEspera").show();
		        					dialogoDetalleExpediente.expedienteActual=xhr[0];
		        					obtenerExpedientesAsociados(xhr[0].refExp);
		        					//20161122 FIN - INIGO
		        				},
		        				error : function(xhr, ajaxOptions, thrownError) {
		        					var errorTXT = $.rup.i18nParse($.rup.i18n.base,"rup_maint.validateError"), errors = null, errorKey = null, causedErrors = null, errMsg = "", errorMesg = "";
		        					if (xhr.responseText != null && xhr.responseText != "") {	
		        						if (xhr.status === 406) { // si ha habido algun error...
		        							$("#Expedientes_detail_feedback2").rup_feedback("option", "delay", null);
		        							$("#Expedientes_detail_feedback2").rup_feedback("set",errorTXT + " " + xhr.responseText,"error");
		        							$("#Expedientes_detail_feedback2").rup_feedback("option", "delay", defaultDelay);
		        						} else {
		        							$("#Expedientes_detail_feedback2").rup_feedback("option", "delay", null);
		        							$("#Expedientes_detail_feedback2").rup_feedback("set", errorTXT, "error");								
		        							$("#Expedientes_detail_feedback2").rup_feedback("option", "delay", defaultDelay);
		        						}
		        					}
		        				}
		        			});
		        		}
		        	});
	            }
	 },
	
	/**
	 * evento del botón Expedientes_detail_link_cancel2, cuando el diálogo está
	 * en modo alta
	 */
	 handlerCancelarAlta:function(){
		if(dialogoDetalleExpediente.modoVista == "A") {
			$.rup_messages("msgConfirm", { 
				title: $.rup.i18n.app.mensajesMantGenerales.titPreguntaConfirmar,
				message: $.rup.i18n.app.mensajesMantGenerales.msjConfirmarCancelarAltaServicio,
				siNo:true,
				OKFunction: function() {
					$("#Expedientes_detail_div2").rup_dialog("close");
					$("#Expedientes_detail_div2").rup_dialog("destroy");
				}
			});
		} else {
			$("#Expedientes_detail_div2").rup_dialog("close");
		}
	},
	/**
	 * Función para actualizar los datos del expediente y sus asociados Ajax
	 * POST pasando formulario, lista de expedientes a asociar, lista de
	 * expedientes a quitar de asociados y true o false dependiendo de si el
	 * responsable ha sido actualizado o no
	 */
	 obtenerDatosExpediente:function(){
		/**
		 * -Llamada a ajax para obtener los datos del expediente --Cuando se
		 * obtienen los datos ---Llamada se rellenan los datos del formulario
		 * ---Automaticamente se cargan los combos de personas y municipios
		 * ---Se llama al ajax para calcular los expedientes relacionados
		 * 
		 */
		 // console.log("obtener datos");
		 var nombre="";
		 if(dialogoDetalleExpediente.nombreRupTable==null)
			 nombre="#Expedientes";
		 else nombre=dialogoDetalleExpediente.nombreRupTable;
			 
		var indice = $(nombre).rup_table("getSelectedLines");
		

		var expediente = $(nombre).rup_table("getRowData")[indice];
		var url="/aa21bOrgDocumentalWar/aa21b20s01/"+expediente.idExpe;
		// console.log("llamada ajax1");
		$.ajax({
			type : "GET",
			dataType : "json",		
			contentType : "application/json",
			url : url,
			success : function(xhr, options) {
				// console.log("success");
				$("#refExp_detail_table").val(xhr.refExp);
				$("#grupo_detail_table").val(xhr.grupo);
				$("#cserv20_detail_table").val(xhr.cserv20);
				$("#aexpe20_detail_table").val(xhr.aexpe20);
				$("#nexpe20_detail_table").val(xhr.nexpe20);
				
				$("#cexpe20_detail_table").rup_combo("select",xhr.cserv20+"-"+xhr.cexpe20);			
				$("#cexpe20Hidden").val(xhr.cserv20+"-"+xhr.cexpe20);
				
				var estadoCarga = xhr.cesta20+"";
				if(xhr.cesta20!=null){
					$("#cesta20_detail_table").rup_combo("select",xhr.cesta20+"");
					$("#cesta20Hidden").val(xhr.cesta20);
					var valorSelAct = $("#cesta20_detail_table").rup_combo("getRupValue");
					if(valorSelAct != estadoCarga){
						$('#cesta20_detail_table').append($("<option></option>")
			                    .attr("value",estadoCarga)
			                    .text(estadoCarga + " - " + xhr.desta20)); 
					 
						$('#cesta20_detail_table').rup_combo("refresh");
						
						$("#cesta20_detail_table").rup_combo("select",xhr.cesta20+"");
						$("#cesta20Hidden").val(xhr.cesta20);
					}
				}else{
					$("#cesta20_detail_table").rup_combo("select","");
					$("#cesta20Hidden").val("");
				}	
				var procCarga = xhr.carchi20+"";
				if(xhr.carchi20!=null){
					$("#carchi20_detail_table").rup_combo("select",xhr.carchi20+"");
					$("#carchi20Hidden").val(xhr.carchi20);
					var valorSelAct = $("#carchi20_detail_table").rup_combo("getRupValue");
					if(valorSelAct != procCarga){
						$('#carchi20_detail_table').append($("<option></option>")
			                    .attr("value",procCarga)
			                    .text(procCarga + " - " + xhr.darchi20)); 
					 
						$('#carchi20_detail_table').rup_combo("refresh");
						
						$("#carchi20_detail_table").rup_combo("select",xhr.carchi20+"");
						$("#carchi20Hidden").val(xhr.carchi20);
					}
					
				}else{
					$("#carchi20_detail_table").rup_combo("select","");
					$("#carchi20Hidden").val("");
				}	
				
				tipoExpedienteActual=xhr.crespo20+"";
				responsableCarga = xhr.crespo20;
				
				var departamentoCarga = xhr.cdepar20+"";
				if(xhr.cdepar20!=null){
					$("#depar20_detail_table").rup_combo("select",xhr.cdepar20+"");
					$("#depar20Hidden").val(xhr.cdepar20);
					var valorSelAct = $("#depar20_detail_table").rup_combo("getRupValue");
					if(valorSelAct != departamentoCarga){
						$('#depar20_detail_table').append($("<option></option>")
			                    .attr("value",departamentoCarga)
			                    .text(departamentoCarga + " - " + xhr.ddepar20)); 
					 
						$('#depar20_detail_table').rup_combo("refresh");
						
						$("#depar20_detail_table").rup_combo("select",xhr.cdepar20+"");
						$("#depar20Hidden").val(xhr.cdepar20);
					}
				}else{
					$("#depar20_detail_table").rup_combo("select","");
					$("#depar20Hidden").val("");
				}	
				
				
				if(xhr.crespo20!=0){
					$("#crespo20_detail_table").rup_combo("select",tipoExpedienteActual+"");
					$("#crespo20Hidden").val(tipoExpedienteActual);
					var valorSelAct = $('#crespo20_detail_table').rup_combo("getRupValue");
					if(valorSelAct != responsableCarga){
						$('#crespo20_detail_table').append($("<option></option>")
			                    .attr("value",responsableCarga)
			                    .text(responsableCarga + " - " + xhr.drespo20)); 
					 
						$('#crespo20_detail_table').rup_combo("refresh");
						
						$("#crespo20_detail_table").rup_combo("select",tipoExpedienteActual+"");
						$("#crespo20Hidden").val(tipoExpedienteActual);
					}	
				}
				else{
					$("#crespo20_detail_table").rup_combo("select","-1");
					$("#crespo20Hidden").val("");
				}
				
				
				$("#cpais20_detail_table").rup_combo("select",xhr.cpais20);
				if(xhr.cpais20==108){
					$("#cprov20_detail_table").rup_combo("select",xhr.cprov20);
					
					//Angel 21/05/2019 - Cambiar combo Municipios por autocomplete
					$("#cmuni20_detail_table").rup_autocomplete("setRupValue",xhr.cmuni20);
					$("#cmuni20_detail_table_label").rup_autocomplete("setRupValue",xhr.dmuni20);
					
					municipioActual=xhr.cmuni20;
					municipioActualDesc=xhr.dmuni20;
				}
				else{
					$("#divProvincia").hide();
					$("#divMunicipio").hide();
				}
				
				$("#obser20_detail_table").val(xhr.obser20);
				$("#refer20_detail_table").val(xhr.refer20);
				$("#fvto20_detail_table").val(xhr.fvto20);
				$("#faper20_detail_table").val(xhr.faper20);
				var importe1=xhr.eimpor20+"";
				var importe2=xhr.eimpora20+"";  
				if(importe1!=null)
					$("#eimpor20_detail_table").val(formatearImporte(importe1.replace(".",",")));
				if(importe2!=null)
					$("#eimpora20_detail_table").val(formatearImporte(importe2.replace(".",",")));
				$("#objeto20_detail_table").val(xhr.objeto20);
				codigoPrincipal = xhr.cserv20+"-"+xhr.cexpe20+"-"+xhr.aexpe20+"-"+xhr.nexpe20;
				codigoEnvio="?cserv="+xhr.cserv20+"&cexpe="+$("#cexpe20_detail_table").val()+"&aexpe="+$("#aexpe20_detail_table").val()+"&nexpe="+$("#nexpe20_detail_table").val();
				// Si esta cerrado el expediente
				
				//
				//20161115 INI - INIGO - La fecha de cierre la mostramos siempre que tenga
				$("#fcier20_detail_table").rup_date("setDate",xhr.fcier20);
				$("#ubica20_detail_table").val(xhr.ubica20);
				//20161115 FIN

				//21/05/2019 Angel Si el tipo de expediente pertenece a un grupo de expedientes que perteneciían al Servicio 92 no se mostrará el campo "Expediente baja"
				var codGrupoTipoExp= xhr.codGrupoTipoExp;
				//console.log("Grupo al que pertenece: " + codGrupoTipoExp);
				var arrayTiposExp_Serv92 = [ 1,2,3,4,5,6 ];
				
				 if($.inArray(codGrupoTipoExp, arrayTiposExp_Serv92)==-1){
					 //No pertenece a los grupos del antiguo servicio 92
				 }else{
					 //Ocultamos el camp "Expediente baja"
					 $("#divArchiva").hide();
				 }
				 
				 
				 
				 
				
				if(xhr.cesta20 == "1"){
					dialogoDetalleExpediente.expedienteCerrado();
					//$("#fcier20_detail_table").rup_date("setDate",xhr.fcier20);
				}else if(xhr.cesta20 == "6"){
					// Archivado
					//$("#ubica20_detail_table").val(xhr.ubica20);
					dialogoDetalleExpediente.expedienteArchivado();
				}

				if(xhr.cesta20 == "2" || xhr.cesta20 == "4"){
					//$("#ubica20_detail_table").val(xhr.ubica20);
					dialogoDetalleExpediente.expediente2Y4();
				}
				if(xhr.expant20 != null && xhr.expant20 != ""){
					$("#expantDetalle").show();
					$("#expant20_detail_table").val(xhr.expant20);
				}else{
					$("#expantDetalle").hide();
				}
				
				//20161122 INI - INIGO
				obtenerExpedientesAsociados(xhr.referenciaGrupo);
				//20161122 FIN - INIGO


				//20161109 INI - INIGO
				var codigoServicioResponsable=$("#servicioLogueado").val();
				if(xhr.cesta20 == "2" || xhr.cesta20 == "4"){
					expInicialmenteBajaOCerradoNoConclu=1;
				}
				cesta20_detail_table_change(codigoServicioResponsable);
				//20161109 FIN - INIGO

// }
// else{
// $("#ExpAsociados").rup_table("clearGridData",true);
// //console.log("no ajax2");
// dialogoDetalleExpediente.modoModificar(dialogoDetalleExpediente.modoVista);
//
// $("#dialogoEspera").hide();
// }
				   
				   // Deselecciono de la tabla actual de usuarios el registro
					// que ya se ha asignado
				 // $("#ExpedientesNuevos").rup_table("setSelection",
					// [codigo], false);
								
			},
			error : function(xhr, ajaxOptions, thrownError) {
				var errorTXT = $.rup.i18nParse($.rup.i18n.base,"rup_maint.validateError"), errors = null, errorKey = null, causedErrors = null, errMsg = "", errorMesg = "";
				if (xhr.responseText != null && xhr.responseText != "") {	
					if (xhr.status === 406) {// si ha habido algun error...
						$("#AltaExpediente_detail_feedback").rup_feedback("option", "delay", null);
						$("#AltaExpediente_detail_feedback").rup_feedback("set",errorTXT + " " + xhr.responseText,"error");
						$("#AltaExpediente_detail_feedback").rup_feedback("option", "delay", defaultDelay);
					} else {
						$("#AltaExpediente_detail_feedback").rup_feedback("option", "delay", null);
						$("#AltaExpediente_detail_feedback").rup_feedback("set", errorTXT, "error");								
						$("#AltaExpediente_detail_feedback").rup_feedback("option", "delay", defaultDelay);
					}
				}
			}
		});
		
	
	},
	
	/**
	 * Función para actualizar los datos del expediente y sus asociados Ajax
	 * POST pasando formulario, lista de expedientes a asociar, lista de
	 * expedientes a quitar de asociados y true o false dependiendo de si el
	 * responsable ha sido actualizado o no
	 */
	handlerGuardarExpediente:function(){
		
		//20161115 - INI INIGO
		//Si la fecha de cierre es visible -> entonces es obligatoria
		var reqFecCier = false;
		// Si el estado es cerrado o archivado, la fecha de
		// cierre será obligatoria
		
		if ($("#fcier20_detail_table").is(":visible")) {
			reqFecCier = true;
			if($("#fcier20_detail_table").val() == "") {
				//$("#fcier20_detail_table").rup_date("setDate", null);
			} else {
				//if($("#fcier20_detail_table").val() < $("#faper20_detail_table").val()) {
				if(fechaANumero($("#fcier20_detail_table").rup_date("getDate")) < fechaANumero($("#faper20_detail_table").rup_date("getDate"))) {
					$.rup_messages("msgAlert", {message: $.rup.i18n.app.aa21b20s01.msjFcierMenor});
					$("#fcier20_detail_table").rup_date("setDate", "");
				}
			}
		}

		//var reqFecCier = false;
		//// Si el estado es cerrado o archivado, la fecha de
		//// cierre será obligatoria
		//if($("#cesta20_detail_table").val() == 6){
		//	reqFecCier = true;
		//	if($("#fcier20_detail_table").val() == ""){
		//		$("#fcier20_detail_table").rup_date("setDate",null);
		//	}else{
		//		//if($("#fcier20_detail_table").val() < $("#faper20_detail_table").val()){
		//		if(fechaANumero($("#fcier20_detail_table").rup_date("getDate")) < fechaANumero($("#faper20_detail_table").rup_date("getDate"))){
		//			$.rup_messages("msgAlert", {message: $.rup.i18n.app.aa21b20s01.msjFcierMenor});
		//			$("#fcier20_detail_table").rup_date("setDate",null);
		//		}
		//	}
		//}else if($("#cesta20_detail_table").val() == 1){
		//	reqFecCier = true;
		//	if($("#fcier20_detail_table").val() == ""){
		//		$("#fcier20_detail_table").rup_date("setDate",null);				
		//	}else{
		//		//if($("#fcier20_detail_table").val() < $("#faper20_detail_table").val()){
		//		if(fechaANumero($("#fcier20_detail_table").rup_date("getDate")) < fechaANumero($("#faper20_detail_table").rup_date("getDate"))){
		//			$.rup_messages("msgAlert", {message: $.rup.i18n.app.aa21b20s01.msjFcierMenor});
		//			$("#fcier20_detail_table").rup_date("setDate",null);
		//		}
		//	}
		//}
		//20161115 - FIN INIGO

		// añadimos un validador si no existe
		//if(dialogoDetalleExpediente.validador==null){
			dialogoDetalleExpediente.validador = $("#Expedientes_detail_form2").rup_validate({
	            focusInvalid:true,
	            invalidHandler: function(form, validator) {
	                  var errors = validator.numberOfInvalids();
	                  if (errors) {                    
	                         validator.errorList[0].element.focus();
	                  }
	                     
	            },
	            submitHandler:function(){
	            	$(".rup-maint_validateIcon").hide();
	                  },
	            
	        
	            
	                  rules:{                      
	                	  "cexpe20":{required:true,noMenosUno:true},
		                    "objeto20":{required:true,maxlength:1000},
		                    "obser20":{maxlength:1000},
		                    //20160908 - INIGO
		        			//El combo de Responsables sólo será obligatorio en caso de que el servicio del usuario logueado sea 93.
		                    //Angel 23/04/2018 - Añadir la obligatoriedad para el servicio 92
		                    //"crespo20":{required:($("#servicioLogueado").val() == "93"),noMenosUno:($("#servicioLogueado").val() == "93")},
		                    "crespo20":{required:($("#servicioLogueado").val() == "93"),noMenosUno:($("#servicioLogueado").val() == "93"), required:($("#servicioLogueado").val() == "92"),noMenosUno:($("#servicioLogueado").val() == "92")},
		                    //Fin Angel 23/04/2018 
		            	  	"faper20":{required:true},
		            	  	"fcier20":{required:reqFecCier}
	                  
	            }
	            });
		//}
      
      
            if ($("#Expedientes_detail_form2").valid()) {
            	$(".rup-maint_validateIcon").hide();
            	$.rup_messages("msgConfirm", { 
	        		title: $.rup.i18n.app.mensajesMantGenerales.titPreguntaConfirmar,
	        		message: $.rup.i18n.app.mensajesMantGenerales.msjConfirmarModificarExpediente,
	        		siNo:true,
	        		OKFunction: function() {

	        			//20161115 - INI INIGO
	        			if (!$("#fcier20_detail_table").is(":visible")) {
	        				$("#fcier20_detail_table").val("");
	        			}
	        			if (!$("#ubica20_detail_table").is(":visible")) {
	        				$("#ubica20_detail_table").val("");
	        			}
	        			//20161115 - FIN INIGO

	        			// Se da guarda el expediente con los expedientes
						// asociados
	        			var send = {};
	        			send["refExp"] = $("#refExp_detail_table").val();
	        			send["grupo"] = $("#grupo_detail_table").val();
	        			send["cserv20"] = $("#cserv20_detail_table").val();
	        			send["cexpe20"] = $("#cexpe20Hidden").val().substring($("#cexpe20Hidden").val().indexOf("-")+1);
	        			send["nexpe20"] = $("#nexpe20_detail_table").val();
	        			send["aexpe20"] = $("#aexpe20_detail_table").val();
	        			send["faper20"] = $("#faper20_detail_table").val();
	        			send["fvto20"] = $("#fvto20_detail_table").val();
	        			send["objeto20"] = $("#objeto20_detail_table").val();
	        			send["eimpor20"] = formatoUpdate($("#eimpor20_detail_table").val());
	        			send["eimpora20"] = formatoUpdate($("#eimpora20_detail_table").val());
	        			send["cesta20"] = $("#cesta20_detail_table").val();
	        			
	        			send["refer20"] = $("#refer20_detail_table").val();
	        			send["carchi20"] = $("#carchi20Hidden").val();
	        			send["crespo20"] = $("#crespo20Hidden").val();
	        			send["cesta20"] = $("#cesta20Hidden").val();
	        			send["cdepar20"] = $("#depar20Hidden").val();
	        			send["obser20"] = $("#obser20_detail_table").val();
	        			send["cpais20"] = $("#cpais20_detail_table").val();
	        			if($("#cpais20_detail_table").rup_combo("getRupValue") == 108){
	        				send["cprov20"] = $("#cprov20_detail_table").val();
	        				//Angel 21/05/2019 - Cambiar combo Municipios por autocomplete
	        				//send["cmuni20"] = $("#cmuni20_detail_table").val();
	        				send["cmuni20"] = $("#cmuni20_detail_table").rup_autocomplete("getRupValue");

	        			}	
	        			
	        			send["fcier20"] = $("#fcier20_detail_table").val();
	        			send["ubica20"] = $("#ubica20_detail_table").val();
	        			send["expant20"] = $("#expant20_detail_table").val();
	        			if($("#expant20_detail_table").val() == ""){
	        				$("#expantDetalle").hide();
	        			}
	        			
	        			/**
						 * Si ha cambiado el responsable metemos true en la
						 * variable respActualizado para meter un nuevo registro
						 * en la tabla de histórico responsables
						 */
	        			var respActualizado = false;
	        			if(responsableCarga != $("#crespo20Hidden").val()){
	        				respActualizado = true;
	        			}
	        			
	        			/**
						 * (QUitado por iker)Añado true o false a la lista de
						 * expedientes asociados, dependiendo de si estos ya
						 * tienen grupo en la tabla 22 (es decir, estan
						 * asociados a algún expediente)
						 */
	        			
	        			var listaExpAsociados = $("#ExpAsociados").rup_table("getDataIDs");
	        			var listaExpAsociadosEnviar = [];
	        			for(var i=0;i<listaExpAsociados.length;i++){

	    					var exp = $("#ExpAsociados").rup_table("getRowData")[i];
	    					listaExpAsociadosEnviar.push(exp.refExp);
	    					
	    					/*
							 * if(exp.grupo != ""){
							 * listaExpAsociadosEnviar.push(true); }else{
							 * listaExpAsociadosEnviar.push(false); }
							 */
	        			}
	        			
	        			var listaExpEliminar = dialogoDetalleExpediente.listaDesasociar;
	        			
	        			var dt = jQuery.toJSON(send);
	        			var	url = "/aa21bOrgDocumentalWar/aa21b20s01/actualizarExpediente?respActualizado="+respActualizado+"&listaExpAsociados="+listaExpAsociadosEnviar+"&listaDesasociar="+listaExpEliminar;
	        			
	        			$.ajax({
	        				type : "POST",
	        				dataType : "json",
	        				data : dt,
	        				contentType : "application/json",
	        				url : url,
	        				beforeSend : function(xhr, settings) {
	        					xhr.setRequestHeader("bean", "Aa21b20s01");
	        				},
	        				success : function(xhr, options) {
	        					// $("#Expedientes_detail_div2").rup_dialog("close");
	        					var m = $.rup.i18nParse($.rup.i18n.app,"mensajesMantGenerales.msjExpActualizado") + " " + xhr[0];
	        					$("#Expedientes_detail_feedback2").rup_feedback("option", "delay", defaultDelay);
	        					$("#Expedientes_detail_feedback2").rup_feedback("set", m, "ok");
	        					$("#Expedientes_detail_feedback2").rup_feedback("show");
	        					
	        					if (xhr[1] != '') {
	        						m = $.rup.i18nParse($.rup.i18n.app,"mensajesMantGenerales.msjExpNoAsociados") + ": " + xhr[1].toString().replace(',',', ');
	        						$("#Expedientes_detail_feedback3").rup_feedback("option", "delay", defaultDelay);
		        					$("#Expedientes_detail_feedback3").rup_feedback("set", m, "alert");
		        					$("#Expedientes_detail_feedback3").rup_feedback("show");
	        					}

	        					if (xhr[2] != '') {
	        						m = $.rup.i18nParse($.rup.i18n.app,"mensajesMantGenerales.msjExpNuevosAsociados") + ": " + xhr[2].toString().replace(',',', ');
	        						$("#Expedientes_detail_feedback4").rup_feedback("option", "delay", defaultDelay);
		        					$("#Expedientes_detail_feedback4").rup_feedback("set", m, "alert");
		        					$("#Expedientes_detail_feedback4").rup_feedback("show");
	        					}

	        					// 20160905 - INIGO
	        					responsableCarga = $("#crespo20Hidden").val();
	        					
	        					// 20161019 - INIGO
	        					dialogoDetalleExpediente.hayCambiosExpAsocDesasoc = false;
	        					
	        					
	        					//20161122 INI - INIGO
	        					//$("#dialogoEspera").show();
	        					obtenerExpedientesAsociados(xhr[0]);
	        					//20161122 FIN - INIGO
	        				},
	        				error : function(xhr, ajaxOptions, thrownError) {
	        					 var errorTXT = $.rup.i18nParse($.rup.i18n.base,"rup_maint.validateError"), errors = null, errorKey = null, causedErrors = null, errMsg = "", errorMesg = "";
	        					 if (xhr.responseText != null && xhr.responseText != "") {	
	        						 if (xhr.status === 406) {// si ha habido
																// algun
																// error...
	        							 $("#Expedientes_detail_feedback2").rup_feedback("option", "delay", null);
	        							 $("#Expedientes_detail_feedback2").rup_feedback("set",errorTXT + " " + xhr.responseText,"error");
	        							 $("#Expedientes_detail_feedback2").rup_feedback("option", "delay", defaultDelay);
	        						 } else {
	        							 $("#Expedientes_detail_feedback2").rup_feedback("option", "delay", null);
	        							 $("#Expedientes_detail_feedback2").rup_feedback("set", errorTXT, "error");								
	        							 $("#Expedientes_detail_feedback2").rup_feedback("option", "delay", defaultDelay);
	        						 }
	        					 }
	        				}
	        			});
	        			
	        		}
	        	});
            }

	},
	
	/**
	 * En este modo, se deshabilitan varias opciones, y no se permite añadir
	 * expedientes asociados
	 */
	modoExpedienteNoTramitable:function(){
		// No tramitable
		
		// No permite asociar expedientes
		// $("#ExpAsociados_toolbar").hide();
		$("[id='ExpAsociados_toolbar##quitarExpAsociado']").hide();
		$("[id='ExpAsociados_toolbar##aniadirExpAsociado']").hide();
		// console.log("1171 toolbar hide");
		if(this.modoVista=="A"){
			// Se borran los expedientes de la tabla asociados temporal (Altas)
			$("#ExpAsociados").rup_table("clearGridData",true);
			// Poner el estado cerrado para los expedientes no tramitables
			$("#cesta20_detail_table").rup_combo("setRupValue",1);
			$("#cesta20Hidden").val(1);
			// Se pone la fecha actual en fecha de apertura y cierre y se
			// deshabilitan
			var fechaActual = new Date();
		
			$("#faper20_detail_table").rup_date("setDate",fechaActual);
			$("#fcier20_detail_table").rup_date("setDate",fechaActual);
		
			// $("#crespo20_detail_table").rup_combo("select","-1");
		}
		$("#divFcier").show();
		// $("#fvtoDetalle").hide();
		// Se marca estado a Cerrado y se deshabilita el combo
		$("#cesta20_detail_table").rup_combo("disable");
		
		$("#faper20_detail_table").rup_date("disable");
		$("#fcier20_detail_table").show();
		$("#fcier20_detail_table").rup_date("disable");
		
		// Deshabilito el combo responsables
		// $("#crespo20_detail_table").rup_combo("disable");
		
		// No puede acceder a la pantalla de fases ni de históricos
		$("[id='AltaExpediente_toolbar##fases']").hide();
		$("[id='AltaExpediente_toolbar##historico']").hide();
	},
	/**
	 * Establece un modo del dialogo para habilitar algunas opciones que
	 * pudieran estar deshabilitadas
	 */
	 modoExpedienteTramitable:function(){
		// Tramitable
		
		// $("#divFcier").hide();
			// $("#fvtoDetalle").show();
		if(this.modoVista == "A"){
			// Poner estado alta para los expedientes tramitables
			$("#cesta20_detail_table").rup_combo("setRupValue",7);
			$("#cesta20Hidden").val(7);
		}
		if("92-TRS"!=$("#cexpe20_detail_table").val())
		$("[id='AltaExpediente_toolbar##fases']").show();
		else
			$("[id='AltaExpediente_toolbar##fases']").hide();
		$("[id='AltaExpediente_toolbar##historico']").show();
		// console.log("aaaa"+dialogoDetalleExpediente.dialogoDetalleExpediente);
		if(dialogoDetalleExpediente.dialogoDetalleExpediente!="C"){
			// $("#crespo20Alta_detail_table").rup_combo("enable");
			$("#crespo20_detail_table").rup_combo("enable");
			// $("#faper20_detail_table").rup_date("enable");
			$("#fvto20_detail_table").rup_date("enable");
			
			$("#cesta20_detail_table").rup_combo("enable");
			// $("#ExpAsociados_toolbar").show();
			$("[id='ExpAsociados_toolbar##quitarExpAsociado']").show();
			$("[id='ExpAsociados_toolbar##aniadirExpAsociado']").show();
		}
		else{
			$("#crespo20_detail_table").rup_combo("disable");
			$("#faper20_detail_table").rup_date("disable");
			$("#fvto20_detail_table").rup_date("disable");
			$("#cesta20_detail_table").rup_combo("hide");
			// $("#ExpAsociados_toolbar").hide();
			$("[id='ExpAsociados_toolbar##quitarExpAsociado']").hide();
			$("[id='ExpAsociados_toolbar##aniadirExpAsociado']").hide();
			
		}

		$("#divFcier").hide();
		$("#fcier20_detail_table").hide();
		
		if(this.modoVista == "M" || this.modoVista == "C") {
			var codigoServicioResponsable=$("#servicioLogueado").val();
			cesta20_detail_table_change(codigoServicioResponsable);
		}
		
		// Se puede acceder a la pantalla de fases y de históricos
		$("[id='AltaExpediente_toolbar##fases']").show();
		$("[id='AltaExpediente_toolbar##historico']").show();
	},
	/**
	 * Función que se ejecuta al marcar el expediente como cerrado
	 */
	 expedienteCerrado:function(){
		$("#divFcier").show();
		$("#cesta20_detail_table").rup_combo("select","1");
		$("#fcier20_detail_table").rup_date("disable");
	},
	/**
	 * Función que se ejecuta al marcar el expediente como arhcivado
	 */
	 expedienteArchivado:function(){
		//$("#divArchiva").show(); 'Angel 29/06/2017. Cuando es archivado no mostrar el campo expediente Baja
		$("#divFcier").show();
	},
	/**
	 * Función que se ejecuta al marcar el expediente como Baja 4 o Cerrado no concluido 2
	 */
	expediente2Y4:function(){
		$("#divArchiva").show();
		$("#divFcier").show();
	},
	
	/**
	 * Recorre la lista de espedientes a asociar y la lista de desbloquear
	 * (listaAsociar, listaDesbloquear) y los desbloquea
	 * 
	 * @returns
	 */
	 desbloquearExpedientesAsociados:function(){
		/*
		 * Desbloqueo los usuarios que han sido asignados al servicio que había
		 * bloqueado al asignar.
		 */
		if(this.listaAsociar.length>0){
			
			for(var i=0;i<this.listaAsociar.length;i++){
				desbloquearExpediente(this.listaAsociar[i]);
			}
		}	
		
		/*
		 * Desbloqueo los usuarios que han sido quitados dal servicio que
		 * finalmente no se desagregarán
		 */
		if(this.listaDesbloquear.length>0){
		
			for(var i=0;i<this.listaDesbloquear.length;i++){
				desbloquearExpediente(this.listaDesbloquear[i]);
			}
		}	
	},
	/**
	 * Función que abre un dialogo con los datos del expediente asociado
	 */
	 mostrarDetalleAsociado:function(idExpePadre,refExp,idExpeAsoc){
		
		$("#dialogoExpAsociado").rup_dialog({	
			type:$.rup.dialog.AJAX,
			url:"/aa21bOrgDocumentalWar/aa21b20s01/consultarexpedienteasociado?idexpeasoc="+idExpeAsoc,
			modal:true,
			height:850,
			width:950,	
			resizable:false,
			title:$.rup.i18n.app.aa21b20s01.consultaExpedienteTit + " " + refExp,
			autoOpen:false,
			showLoading:true,
			async:false 
		});
		$("#dialogoExpAsociado").rup_dialog("open");
	},
	obtenerFases:function(){
		// var expediente = $(nombre).rup_table("getRowData")[indice];
		dialogoFase.abrirDialogo(dialogoDetalleExpediente.expedienteActual.idExpe,dialogoDetalleExpediente.expedienteActual.refExp,dialogoDetalleExpediente.modoVista);
	},
	 handlerDocumentosAsig:function(){
		 dialogoDocumentos.abrirDialogo(dialogoDetalleExpediente.expedienteActual.idExpe,dialogoDetalleExpediente.expedienteActual.refExp,dialogoDetalleExpediente.modoVista);
		
	}
	,
	 handlerHistorico:function(){
		 dialogoHistorico.abrirDialogo(dialogoDetalleExpediente.expedienteActual.idExpe,dialogoDetalleExpediente.expedienteActual.refExp, 'frespo29', 'desc');
		
	}
}

function btn_abrirBusquedaResp(){
	dialogoResponsables.abrirDialogo();
}

function funChangeTipoExpAlta(){
	//console.log("Change");
	if(dialogoDetalleExpediente.modoVista == "A"){
		$("#cexpe20Hidden").val($("#cexpe20Alta_detail_table").val());
		$("#cexpe20_detail_table").rup_combo("select",$("#cexpe20Alta_detail_table").val());
		// Viene de editar, se han cargado los datos y queremos
		// cargar el responsables
		jQuery
		.ajax({
			type : "GET",
			dataType : "json",
			url : "../aa21b02s01/" + $("#cexpe20Hidden").val(),
			cache : false,
			success : function(xhr, response) {
				datosTipoExp = xhr;
				if(datosTipoExp != null){
					var tramitable = datosTipoExp.ctrami02;
					$("#cserv20_detail_table").val(datosTipoExp.cserv02);
					if(tramitable != "1"){
						// $("#crespo20_detail_table").rup_combo("select",$("#crespo20pre_filter_table").val());
						
						dialogoDetalleExpediente.modoExpedienteNoTramitable();
					}else{
	// if(tipoExpedienteActual==null){
	// $("#crespo20_detail_table").rup_combo("select",$("#crespo20pre_filter_table").val());
	// }
						dialogoDetalleExpediente.modoExpedienteTramitable();
						
					}
				}
			}
		});
	}
	
}

function fechaANumero(strFecha) {
	try {
		var dtCh= "/";
		var pos1=strFecha.indexOf(dtCh);
		var pos2=strFecha.indexOf(dtCh,pos1+1);

		//CASTELLANO
		var day=strFecha.substring(0,pos1);
		var month=strFecha.substring(pos1+1,pos2);
		var year=strFecha.substring(pos2+1);

		if ($.rup.lang=="eu") {
			//EUSKERA
			year=strFecha.substring(0,pos1);
			month=strFecha.substring(pos1+1,pos2);
			day=strFecha.substring(pos2+1);
		}
		return parseInt(year + "" + month + "" + day, 10);
	} catch(e) {
		return 0;
	}
}

function cesta20_detail_table_change(codigoServicioResponsable) {
	$("#cesta20Hidden").val($("#cesta20_detail_table").val());					
	// Si se selecciona estado cerrado,
	// mostramos el campo fecha de cierre
	if($("#cesta20_detail_table").val() == 1){
		$("#fcier20_detail_table").rup_date("enable");
		$("#fcier20_detail_table").show();
		$("#divFcier").show();
		//20161115 - INIGO
		//$("#divArchiva").show(); 
		//Angel 29/06/2017 No mostrar el campo Expediente Baja
		$("#divArchiva").hide();
	//20161115 - INIGO
	}else if($("#cesta20_detail_table").val() == 6){
		$("#fcier20_detail_table").rup_date("enable");
		$("#fcier20_detail_table").show();
		$("#divFcier").show();
		//20161115 - INIGO
		//$("#divArchiva").show(); 
		//Angel 29/06/2017 No mostrar el campo Expediente Baja
		$("#divArchiva").hide();
		/*20170510 Angel - He añadido el estado 2 (Cerrado no concluido) para que haga lo mismo que estado = 4
	}else if($("#cesta20_detail_table").val() == 2){
		$("#fcier20_detail_table").show();
		$("#divFcier").show();
		$("#fcier20_detail_table").rup_date("enable");
		$("#divArchiva").show();
		*/
	}else if($("#cesta20_detail_table").val() == 4 || $("#cesta20_detail_table").val() == 2){
		//20170510 Angel - He añadido el estado 2 (Cerrado no concluido) 
		$("#fcier20_detail_table").show();
		$("#divFcier").show();
		$("#fcier20_detail_table").rup_date("enable");
		
		// Obtenemos el correlativo de UBICA20 si el servicio es
		// 93
		
		//20161115 INI - INIGO
		//Sólo ponemos el correlativo nuevo si el expediente no tiene ninguno
		if(codigoServicioResponsable == "93" && $("#ubica20_detail_table").val() == ""){
			//if(codigoServicioResponsable == "93"){
			//20170621 - ANGEL - Solo se mostrará un nuevo correlativo si al entrar, el expediente no tenía estado 2 o 4 (expInicialmenteBajaOCerradoNoConclu=0).
			//Es decir únicamente se obtendrá el relativo cuando se cambie el estado desde esta ventana y se selecciona estado 2 o 4.
			if (expInicialmenteBajaOCerradoNoConclu==0){
				var send = {};
				send["cserv20"] = "93";
				var dt = jQuery.toJSON(send);
				$.ajax({
					type : "POST",
					dataType : "json",
					data : dt,
					contentType : "application/json",
					url :  "/aa21bOrgDocumentalWar/aa21b20s01/obtenerCorrelativoUbica",
					success : function(xhr, options) {
						$("#ubica20_detail_table").val(xhr.ubica20);
					},
					error : function(xhr, ajaxOptions, thrownError) {
						 var errorTXT = $.rup.i18nParse($.rup.i18n.base,"rup_maint.validateError"), errors = null, errorKey = null, causedErrors = null, errMsg = "", errorMesg = "";
						 if (xhr.responseText != null && xhr.responseText != "") {	
							 if (xhr.status === 406) { // si ha habido algun error...
								 $("#Expedientes_detail_feedback2").rup_feedback("option", "delay", null);
								 $("#Expedientes_detail_feedback2").rup_feedback("set",errorTXT + " " + xhr.responseText,"error");
								 $("#Expedientes_detail_feedback2").rup_feedback("option", "delay", defaultDelay);
							 } else {
								 $("#Expedientes_detail_feedback2").rup_feedback("option", "delay", null);
								 $("#Expedientes_detail_feedback2").rup_feedback("set", errorTXT, "error");								
								 $("#Expedientes_detail_feedback2").rup_feedback("option", "delay", defaultDelay);
							 }
						 }
					}
				});
			}
		}
		
		$("#divArchiva").show();
	}
	else{
		$("#divFcier").hide();
		$("#divArchiva").hide();
	}
}

function obtenerExpedientesAsociados(referenciaGrupo) {
	/**
	 * Si el expediente que el usuario ha seleccionado para asociar
	 * tiene grupo, significa que ese expediente puede tener otros
	 * asociados. Debemos asociar todos los expedientes de ese grupo.
	 */
	// if(xhr.grupo != null && xhr.grupo != ""){
		// console.log("llamada ajax2");
		jQuery.ajax({
			type:"POST",
			dataType:"json",
			url:"../aa21b20s01/getExpedientesAsociados",
			data:{ grupo:referenciaGrupo },
			cache : false,
			success : function(datosExpAsociados, response) {
				$("#ExpAsociados").rup_table("clearGridData", true);
				/**
				 * Si ya tiene expedientes asociados, oculto el botón de añadir (Solo se podrán añadir cuando haya quitado previamente los que tiene)
				 */
				if(datosExpAsociados.length > 1) {

				} else {
					$("[id='ExpAsociados_toolbar##"+$.rup.i18n.base.rup_maint.new+"']").show();
				}
				for(var i=0;i<datosExpAsociados.length;i++) {
					var formdata = {};
					var codigo = datosExpAsociados[i].idExpe;
					/**
					 * Como en la tabla de expedientes asociados también existe el registro del expediente
					 * padre preguntamos para no mostrarlo en la pantalla de expedientes asociados.
					 */
					if(codigo != dialogoDetalleExpediente.expedienteActual.idExpe) {
						formdata["idExpe"] = codigo;
						formdata["refExp"] = datosExpAsociados[i].refExp;
						formdata["cesta20"] = datosExpAsociados[i].cesta20;
						formdata["cserv20"] = datosExpAsociados[i].cserv20;
						formdata["cexpe20"] = datosExpAsociados[i].cexpe20;
						formdata["aexpe20"] = datosExpAsociados[i].aexpe20;
						formdata["nexpe20"] = datosExpAsociados[i].nexpe20;
						formdata["grupo"] = datosExpAsociados[i].grupo;
						formdata["objeto20"] = datosExpAsociados[i].objeto20;
						if (datosExpAsociados[i].ubica20 != null) {
							formdata["ubica20"] = datosExpAsociados[i].ubica20;
						} else {
							formdata["ubica20"] = "";
						}
						var pad = "000000";
						formdata["sortcol"] = formdata["cexpe20"] + "-" + formdata["aexpe20"] + "-"	+ pad.substring(0, pad.length - (formdata["nexpe20"]+"").length) + (formdata["nexpe20"]+"");

						// Añado el registro a la tabla de usuarios asignados
						//$("#ExpAsociados").rup_table("addRowData", codigo, formdata, "last");
						$("#ExpAsociados").rup_table("addRowData", codigo, formdata);
						//$("#ExpAsociados").jqGrid("setGridParam", {sortorder: 'asc', multiSort: true});
						//$("#ExpAsociados").jqGrid('sortGrid', 'cexpe20');
						//$("#ExpAsociados").jqGrid('sortGrid', 'aexpe20');
						//$("#ExpAsociados").jqGrid('sortGrid', 'nexpe20');
						$("#ExpAsociados").jqGrid("sortGrid", "sortcol", false, "asc");
					}
				}
				dialogoDetalleExpediente.modoModificar(dialogoDetalleExpediente.modoVista);
				$("#dialogoEspera").hide();
			}
		});

}



