
var modoServicioDetalle;
var nuevosUsuarios;
var introXlnets=true;
jQuery(function($){
	//Oculto la capa de filtrado del grid Usuarios asignados al servicio
	$("#UsuariosAsig_filter_div").css("display","none");
	
	jQuery("#altaServicios_feedback").rup_feedback({
		type: "ok",
		closeLink: true,
		fadeSpeed: 600,
		block:false
	});
	
	
	//Combo situación en pantalla detalle
	$("#situ13_detail_table").rup_combo({
		source:[
		        {i18nCaption:$.rup.i18n.app.situ_detail_table.alta, value:"A"},
		        {i18nCaption:$.rup.i18n.app.situ_detail_table.baja, value:"B"}
		],
		sourceParam:{},
		ordered: false,
		blank: "",
		method: 'GET',
		style: "dropdown",
		onLoadSuccess: function(){
			$("#situ13_detail_table").rup_combo("selectLabel", $("situ13_detail_table").val());
		}
	});
	
	modoServicioDetalle = $("#tipoDetalleServicio").val();
	
	var urlUsuAsig = "";
	if(modoServicioDetalle == "A"){
		urlUsuAsig = "../aa21b13s01/findUsuario";
	}else if(modoServicioDetalle == "M"){
		urlUsuAsig = "../aa21b15s01";
	}else if(modoServicioDetalle == "C"){
		urlUsuAsig = "../aa21b15s01";
	}
	
	//Tabla grid usuarios asignados
	$("#UsuariosAsig").rup_table({
	rowNum:10,
		url: urlUsuAsig,
		colNames: [
			$.rup.i18n.app.aa21b15s01.cusu15,
			$.rup.i18n.app.aa21b15s01.dusu15,
			$.rup.i18n.app.aa21b15s01.cserv15,
			$.rup.i18n.app.aa21b15s01.cserv15,
			$.rup.i18n.app.aa21b15s01.situ15
		],
		colModel: [
			{ 	name: "cusu15", 
			 	label: "cusu15",
				align: "right", 
				width: 75, 
				editable: true, 
				fixed: false, 
				hidden: true, 
				resizable: true, 
				sortable: true
			},
			{ 	name: "dusu15", 
			 	label: "dusu15",
				align: "left", 
				width: 150, 
				editable: true, 
				fixed: false, 
				hidden: false, 
				resizable: true, 
				sortable: true
			},
			{ 	name: "cserv15", 
			 	label: "cserv15",
				align: "right", 
				width: 150, 
				editable: true, 
				fixed: false, 
				hidden: true, 
				resizable: true, 
				sortable: true
			},
			{ 
				name: idioma=="es"?"dserv15":"eserv15",
				label: $.rup.i18n.app.aa21b15s01.cserv15,
				index: idioma=="es"?"dserv15":"eserv15",
				width: 150,
				align: "left",
				editable:false,
				sortable:true,
				hidden: true
			},
			{ 	name: "situ15", 
			 	label: "situ15",
				align: "left", 
				width: 150, 
				editable: true, 
				fixed: false, 
				hidden: true, 
				resizable: true, 
				sortable: true
			}
        ],
        model:"Aa21b15s01",
        usePlugins:[
			"formEdit",
        	"feedback",
			"toolbar",
        	"fluid",
        	"filter",
        	"multiselection"
         	],
		primaryKey: "cusu15",
		sortname: "dusu15",
		sortorder: "asc",
		loadOnStartUp: false,
		loadComplete:fncTableCompleteUsuariosAsig,
		toolbar:{
			defaultButtons:[{}],
			newButtons:[{
				id:"aniadirUsuarioAsig",
				obj: {i18nCaption:$.rup.i18n.app.botonerasMantGenerales.aniadir, css: "rup-icon aniadir"},
				click: handlerAniadirUsuarioAsig
			},
		    {
				id:"quitarUsuarioAsig",
				obj: {i18nCaption:$.rup.i18n.app.botonerasMantGenerales.quitar, css: "rup-icon quitar"},
				click: handlerQuitarUsuarioAsig
		    }]
		},
		afterInsertRow : function(rowid, rowdata) {
			pintarFilaSituacion(rowid, rowdata, $(this), "situ15");
		},
        formEdit:{
        	detailForm: "#UsuariosAsig_detail_div",
			fillDataMethod: "clientSide"
        },
        multiselection:{
        	headerContextMenu_enabled: false,
        	rowContextMenu_enabled:false
        }
	});
	$("#Servicios2_feedback").css("width","94%");
	
	validacionBotonGuardado('AltaServicios');
	// Pantalla Alta
	if(modoServicioDetalle == "A"){
		$("#labelObligDetalle").show();
		$(".asterisco").show();
		$("#divSituacion").hide();
		$("[id='AltaServicios_detail_button_save']").click(handlerCrearServicio);
		$("[id='AltaServicios_detail_link_cancel']").click(handlerCancelarAlta);
		$("#situ13_detail_table").val("A");
		$("#dserv13_detail_table").focus();
	
	}else if(modoServicioDetalle == "M" || modoServicioDetalle == "C"){

		$("#divSituacion").show();
		$("#situ13_detail_table").rup_combo("disable");
		var cserv = $("#cserv13detalle").val();
		
		/**
		 * Obtención de datos del servicio. A través del código de servicio
		 * obtenemos del servidor los demás datos para rellenar la pantalla
		 * de detalle de servicio.
		 * 
		 */
		jQuery
		.ajax({
			type : "GET",
			dataType : "json",
			url : "../aa21b13s01/" + cserv,
			cache : false,
			success : function(xhr, response) {
				datosServicio = xhr;
				
				$("#cserv13_detail_table").val(datosServicio.cserv13);
				$("#dserv13_detail_table").val(datosServicio.dserv13);
				$("#eserv13_detail_table").val(datosServicio.eserv13);
				$("#situ13_detail_table").rup_combo("select",datosServicio.situ13);
				
				$("#cserv15_filter_table_asig").val(datosServicio.cserv13);
				
				$("#UsuariosAsig").rup_table("filter");
				
			}
		});
		
		// Pantalla modificación	
		if(modoServicioDetalle == "M"){		
			$("#labelObligDetalle").show();
			$(".asterisco").show();
			$("[id='AltaServicios_detail_button_save']").click(handlerGuardarServicio);
			$("[id='AltaServicios_detail_link_cancel']").click(handlerCancelarAlta);
		// Pantalla modo consulta	
		}else{
			$("#labelObligDetalle").hide();
			$(".asterisco").hide();
			$("[id='AltaServicios_detail_button_save']").css("display","none");
			$("[id='AltaServicios_detail_link_cancel']").css("display","none");
			
			$("#AltaServicios_detail_div :input").attr("readonly","readonly");
			
			
			$("[id='UsuariosAsig_toolbar##"+$.rup.i18n.base.rup_maint.new+"']").css("display","none");
			$("[id='UsuariosAsig_toolbar##"+$.rup.i18n.app.botonerasMantGenerales.quitar+"']").css("display","none");
			$(".ui-selectmenu-status").css("color","black");
		}
		
	}
	
	//Oculto los botones de paginación del grid usuarios asignados
	$("#UsuariosAsig_pager_right").css("display","none");
	$("#UsuariosAsig_pager_left").css("display","none");
	
	

	
	$("#jqgh_UsuariosAsig_cb").hide();
	$("#jqgh_Usuarios_cb").hide();
	
	//Cambio de títulos y textos filtrar
	$("#Usuarios_filter_toggle_label").text($.rup.i18n.app.comun.critBusq);
	$("#Usuarios_filter_filterButton").val($.rup.i18n.app.comun.buscar);
	$("#Usuarios_toolbar").css("display","none");
	
	//Deshabilito las funciones por defecto de doble click, detalle...
	$("#Usuarios").on("jqGridDblClickRow", function(event, form, oper) {
		return false;
	});
	$("#UsuariosAsig").on("jqGridDblClickRow", function(event, form, oper) {
		return false;
	});
	jQuery("#UsuariosAsig").on("jqGridAddEditBeforeInitData", function(event, form, oper) {
		return false;
	});
	jQuery("#Usuarios").on("jqGridAddEditBeforeInitData", function(event, form, oper) {
		return false;
	});
	
	//Combo situación en pantalla búsqueda
//	$("#situ15_filter_table").rup_combo({
//		source:[
//		        {i18nCaption:$.rup.i18n.app.situ_detail_table.todas, value:""},
//		        {i18nCaption:$.rup.i18n.app.situ_detail_table.alta, value:"A"},
//		        {i18nCaption:$.rup.i18n.app.situ_detail_table.baja, value:"B"}
//		],
//		sourceParam:{},
//		ordered: false,
//		method: 'GET',
//		style: "dropdown",
//		onLoadSuccess: function(){
//			$("#situ15_filter_table").rup_combo("selectLabel", $("situ15_filter_table").val());
//		}
//	});
	//Ponemos por defecto el filtro de búsqueda en situación Alta
//	$("#situ15_filter_table").rup_combo("select","A");
	
	
	/**
	 * Función al cerrar el dialogo de la pantalla de detalle de servicio.
	 * Desbloquea los usuarios del servicio, el servicio e inicializa los 
	 * campos necesarios
	 */
	jQuery("#dialogoAltaServicio").on("dialogclose", function() {
		desbloquearUsuariosServicios();
		desbloquear(jQuery("#Servicios"), "aa21b13s01");
		//Limpio la pantalla para que cuando vuelva a abrirla este incializada
		$("#Usuarios_filter_summary").html("<i></i>");
		$("#Usuarios_filter_toolbar").html("");
		$("#Servicios").rup_table("filter");
		$("#dialogSeleccionUsuarios").rup_dialog("destroy");
		$("#Servicios").rup_table("deselectAllRows");
	});
	
	jQuery(window).bind('beforeunload', function() {
        // Aquí iría la función que desbloquea : 
		desbloquear(jQuery("#Servicios"), "aa21b13s01");

	});
	
	
//	$("#Usuarios").rup_table("filter");
	$("#dialogoEsperaDetalleServicio").hide();
	
	//Meto en el apartado filtro el literal de que esta en situación Alta
	$("#Usuarios_filter_summary").html("<span style='font-style:italic;'>" + $.rup.i18n.app.aa21b12s01.situ12 + " = " + $.rup.i18n.app.situ_detail_table.alta + "</span>");
	nuevosUsuarios=new Array();
	
	
	$("#tipoUsuario").click(function(){
		$("#formResph1").hide();
		$("#seleccionNombre").hide();

		$("#busquedaPersona_filter_fieldset").show();
		$("#formSelh1").show();
		$("#seleccion").show();
		introXlnets=true;
	
	});
	$("#tipoResponsable").click(function(){
		$("#formResph1").show();
		$("#seleccionNombre").show();

		$("#busquedaPersona_filter_fieldset").hide();
		$("#formSelh1").hide();
		$("#seleccion").hide();
		introXlnets=false;
	
	});
	$("#tipoUsuario").attr("checked","true");
	$("#formResph1").hide();
	$("#seleccionNombre").hide();

	$("#busquedaPersona_filter_fieldset").show();
	$("#formSelh1").show();
	$("#seleccion").show();
	introXlnets=true;
});

/**
 * Función crear servicio. Mando el formulario por Ajax POST
 * para guardar el nuevo servicio pasándole como parámetro
 * la lista de usuarios asignados al servicio
 * 
 */
function handlerCrearServicio(){
	
	var properties={
		feedback:$("#altaServicios_feedback"),
		beforeSubmit:function(data){
			$("#dialogoEsperaDetalleServicio").show();
		},
		success: function(data) {
			$("#dialogoEsperaDetalleServicio").hide();
	           	
//			$.rup_messages("msgConfirm", { 
//				title: $.rup.i18n.app.mensajesMantGenerales.titPreguntaConfirmar+"1234",
//				message: $.rup.i18n.app.mensajesMantGenerales.msjConfirmarGuardarServicio,
//				OKFunction: function() {
					/**
					 * Se da de alta el nuevo servicio con los usuarios asignados
					 */
        			var send = {};
        			send["cserv13"] = $("#cserv13_detail_table").val();
        			send["dserv13"] = $("#dserv13_detail_table").val();
        			send["eserv13"] = $("#eserv13_detail_table").val();
        			send["situ13"] = $("#situ13_detail_table").val();
	        			
        			var listaUsuAsig =[];
	        			
        			var dt = jQuery.toJSON(send);
        			var url = "/aa21bOrgDocumentalWar/aa21b13s01/crearServicio?listaUsuAsig="+listaUsuAsig;

        			//Mensaje creacion
        			$.ajax({
        				type : "POST",
        				dataType : "json",
        				
        				data : dt,
        				contentType : "application/json",
        				url : url,
        				beforeSend : function(xhr, settings) {
        					xhr.setRequestHeader("bean", "Aa21b13s01");
        				},
        				success : function(xhr, options) {
        				
        					//Añadir los nuevos usuarios.
        					//ponemos el código del servicio reción creado a los usuarios
        					for(i=0;i<nuevosUsuarios.length;i++){
        					//	alert(i);
        						nuevosUsuarios[i].cserv15=xhr.cserv13;
        						
        					}
        					if(nuevosUsuarios.length>0){//hay usuarios nuevos
        						//Los guardamos
	        					$.rup_ajax({	        						
	   			    	    		type: "POST",
	   			    	            url: "/aa21bOrgDocumentalWar/aa21b15s01/addList",
	   			    	            data: $.toJSON(nuevosUsuarios),
	   								dataType: "json",
	   			    	            async: false,
	   			    	            contentType: 'application/json',
	   			    	            success: function(usuario, textStatus, jqXHR) {
			   			    	         	$("#Servicios").rup_table("deselectAllRows");
			   	        					$("#cserv02_filter_table").rup_combo("reload");
			   	        					$("#cserv02_detail_table").rup_combo("reload");
			   	        					$("#cserv01_filter_table").rup_combo("reload");
			   	        					$("#cserv01_detail_table").rup_combo("reload");        					
			   	        					$("#dialogoAltaServicio").rup_dialog("close");
			   	        					$("#dialogoAltaServicio").rup_dialog("destroy");        					
			   	        					//$("#Servicios2_feedback").css("width","94%");
			   	        					$("#Servicios2_feedback").rup_feedback("option", "delay", defaultDelay);
			   								$("#Servicios2_feedback").rup_feedback("set",$.rup.i18nParse($.rup.i18n.app,"aa21b13s01.msjCreacionServicio") + " " + xhr.dserv13, "ok");
			   								$("#Servicios2_feedback").rup_feedback("show");
			   								

	   			    	            },
	   			    	            error: function (XMLHttpRequest, textStatus, errorThrown) {
	   			    					//No se ha cargado el usuario en la BD
	   			    	            	$("#dialogoAltaServicio").rup_dialog("close");
	   			    	 			$("#dialogoAltaServicio").rup_dialog("destroy");	
	   			    	            	
	   			    				}
	   			                });
        					}else{
        					
        						$("#dialogoAltaServicio").rup_dialog("close");
        						$("#dialogoAltaServicio").rup_dialog("destroy");	
        					}
        				},
        				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...
        							 $("#AltaServicios_detail_feedback").rup_feedback("option", "delay", null);
        							 $("#AltaServicios_detail_feedback").rup_feedback("set",errorTXT + " " + xhr.responseText,"error");
        							 $("#AltaServicios_detail_feedback").rup_feedback("option", "delay", defaultDelay);
        						 } else {
        							 $("#AltaServicios_detail_feedback").rup_feedback("option", "delay", null);
        							 $("#AltaServicios_detail_feedback").rup_feedback("set", errorTXT, "error");								
        							 $("#AltaServicios_detail_feedback").rup_feedback("option", "delay", defaultDelay);
        						 }
        					 }
        				}
        			});
//	        		}
//	        	});
	         },
	         validate: {
                rules: {
                    "dserv13":{required:true},
            	  	"eserv13":{required:true},
            	  	"situ13":{required:true}
                }
            }
		};

		$("#AltaServicios_detail_form").rup_form(properties);
		$("#AltaServicios_detail_form").submit();
	
}
/**
 * Función cancelar alta.
 */
function handlerCancelarAlta(){
//	$.rup_messages("msgConfirm", { 
//		title: $.rup.i18n.app.mensajesMantGenerales.titPreguntaConfirmar,
//		message: $.rup.i18n.app.mensajesMantGenerales.msjConfirmarCancelarAltaServicio,
//		OKFunction: function() {
			$("#dialogoAltaServicio").rup_dialog("close");
			$("#dialogoAltaServicio").rup_dialog("destroy");
//		}
//	});
}
/**
 * Función guardar Servicio. Mando por un formulario con AJAX POST
 * para guardar el servicio. Pasándole como parámetros una lista de usuarios para
 * asignarlos al servicio y una lista de usuarios a quitar del servicio
 */
function handlerGuardarServicio(){
	
	var properties={
		feedback:$("#altaServicios_feedback"),
		beforeSubmit:function(data){
			$("#dialogoEsperaDetalleServicio").show();
		},
		success: function(data) {
			$("#dialogoEsperaDetalleServicio").hide();
	           	
//			$.rup_messages("msgConfirm", { 
//				title: $.rup.i18n.app.mensajesMantGenerales.titPreguntaConfirmar,
//				message: $.rup.i18n.app.mensajesMantGenerales.msjConfirmarModificarServicio,
//				OKFunction: function() {
					/**
					 * Se da guarda el servicio con los usuarios asignados
					 */
			var send = {};
	    	send["cserv13"] = $("#cserv13_detail_table").val();;
	    	send["dserv13"] = $("#dserv13_detail_table").val();
	    	send["eserv13"] = $("#eserv13_detail_table").val();
	    	send["situ13"] = $("#situ13_detail_table").val();
	    			
	    	var listaUsuAsig = [];//$("#UsuariosAsig").rup_table("getDataIDs");
	    	var listaUsuEliminar = $("#listaDesagregar").val();
	        			
	        var dt = jQuery.toJSON(send);
	        var	url = "/aa21bOrgDocumentalWar/aa21b13s01/actualizarServicio?listaUsuAsig="+listaUsuAsig+"&listaDesagregar="+listaUsuEliminar;
	        			
        	$.ajax({
        		type : "POST",
        		dataType : "json",
        		data : dt,
        		contentType : "application/json",
        		url : url,
        		beforeSend : function(xhr, settings) {
        			xhr.setRequestHeader("bean", "Aa21b13s01");
        		},
        		success : function(xhr, options) {
        					
        			//Añadir los nuevos usuarios.
        			//ponemos el código del servicio reción creado a los usuarios
        			for(i=0;i<nuevosUsuarios.length;i++){
        				
        				nuevosUsuarios[i].cserv15=xhr.cserv13;
        				
        			}
        			if(nuevosUsuarios.length>0){//hay usuarios nuevos
        				//Los guardamos
	        			$.rup_ajax({	        						
	   		   	    		type: "POST",
	   		   	            url: "/aa21bOrgDocumentalWar/aa21b15s01/addList",
	   		   	            data: $.toJSON(nuevosUsuarios),
	   						dataType: "json",
	   		   	            async: false,
	   		   	            contentType: 'application/json',
	   		   	            success: function(usuario, textStatus, jqXHR) {
			 			    	          					
			       					$("#dialogoAltaServicio").rup_dialog("close");	        					
			       					//$("#Servicios2_feedback").css("width","94%");
			       					$("#Servicios2_feedback").rup_feedback("option", "delay", defaultDelay);
									$("#Servicios2_feedback").rup_feedback("set",$.rup.i18nParse($.rup.i18n.app,"mensajesMantGenerales.msjServActualizado") + " " + xhr.dserv13, "ok");
									$("#Servicios2_feedback").rup_feedback("show");
	   		   	            },
	   		   	            error: function (XMLHttpRequest, textStatus, errorThrown) {
	   		   					//No se ha cargado el usuario en la BD
	   		   	            
	   		   	          $("#dialogoAltaServicio").rup_dialog("close");	      
	   		   				}
	   		               });
        			}
        			else{
        				  $("#dialogoAltaServicio").rup_dialog("close");
        					$("#Servicios2_feedback").rup_feedback("option", "delay", defaultDelay);
							$("#Servicios2_feedback").rup_feedback("set",$.rup.i18nParse($.rup.i18n.app,"mensajesMantGenerales.msjServActualizado") + " " + xhr.dserv13, "ok");
							$("#Servicios2_feedback").rup_feedback("show");
        				
        			}
        			  $("#Servicios").rup_table("deselectAllRows");
					
        		},
        		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...
        					 $("#AltaServicios_detail_feedback").rup_feedback("option", "delay", null);
        					 $("#AltaServicios_detail_feedback").rup_feedback("set",errorTXT + " " + xhr.responseText,"error");
        					 $("#AltaServicios_detail_feedback").rup_feedback("option", "delay", defaultDelay);
        				 } else {
        					 $("#AltaServicios_detail_feedback").rup_feedback("option", "delay", null);
        					 $("#AltaServicios_detail_feedback").rup_feedback("set", errorTXT, "error");								
        					 $("#AltaServicios_detail_feedback").rup_feedback("option", "delay", defaultDelay);
        				 }
        			 }
        				}
      			});

//        		}
//        	});
         },
         validate: {
        	 rules: {
        		 "dserv13":{required:true},
        		 "eserv13":{required:true},
        		 "situ13":{required:true}
        	 }
         }
	};
	$("#AltaServicios_detail_form").rup_form(properties);
	$("#AltaServicios_detail_form").submit();
}

/**
 * Función que cambia el color de la línea de registro si el estado de baja 
 */
function fncTableCompleteUsuariosAsig(e){
	var margenSup = 25;
	
	//Recorremos la tabla comprobando el campo situación. Si es Baja, le asignaremos el color de fondo a rojo
	if (e.rows != undefined && e.rows.length>0){					
		for (var i=0; i<e.rows.length; i++) {
			margenSup=margenSup-3;
			/*var fila = e.rows[i];
			if(fila.situ15=="B"){
				$("tr[id='" + fila.cusu15 + "']").attr("class","ui-widget-content jqgrow ui-row-ltr");
				$("tr[id='" + fila.cusu15 + "']").css("font-style","italic");
				$("tr[id='" + fila.cusu15 + "']").css("background","#848484");
			}*/
		}
	}	
	margenSup = margenSup+"%";
	//$("#labelObligDetalle").css("margin-top",""+margenSup+"");
	
}

/**
 * Función que cambia el color de la línea de registro si el estado de baja 
 */
function fncTableCompleteUsuarios(e){
	
	//Recorremos la tabla comprobando el campo situación. Si es Baja, le asignaremos el color de fondo a rojo
	if (e.rows != undefined && e.rows.length>0){					
		/*for (var i=0; i<e.rows.length; i++) {	
			var fila = e.rows[i];
			if(fila.situ15=="B"){
				$("tr[id='" + fila.cusu15 + "']").attr("class","ui-widget-content jqgrow ui-row-ltr");
				$("tr[id='" + fila.cusu15 + "']").css("font-style","italic");
				$("tr[id='" + fila.cusu15 + "']").css("background","#848484");
			}
		}*/
	}	
	
}



/**
 * Funcion que abre un dialogo con la tabla de usuarios para que el usuario seleccione
 * cuales quiere asignar al servicio que esta dando de alta 
 */
function handlerAniadirUsuarioAsig(){
	$("#npersona").val("");
	$("#dialogSeleccionUsuarios").rup_dialog({	
		type:$.rup.dialog.DIV,
		modal:true,
		height:650,
		width:600,	
		resizable:true,
		title:$.rup.i18n.app.aa21b13s01.aniadirUsuAsigTit,
		autoOpen:false,
		showLoading:true,
        async:false, 
        zIndex: -1,
        buttons: [
         	{
         	  id:"guardar",
         	  text:$.rup.i18n.app.botonerasMantGenerales.aniadir, 
         	  css:"editar",
         	  click: guardarUsuariosAsigTemp 
         	}
         	,{
         	  id: "btnCerrarServicio",
         	  text: $.rup.i18n.base.rup_global.cancel,
         	  btnType: $.rup.dialog.LINK,
         	  click: function(){
         		 $("#dialogSeleccionUsuarios").rup_dialog("close");
         		 //$("#dialogSeleccionUsuarios").rup_dialog("destroy");
         	  }
         	}]
	});
	
	$("#dialogSeleccionUsuarios").rup_dialog("open");

}

/**
 * Función que quita de la tabla temporal de usuarios asignados los registros
 * seleccionados
 */
function handlerQuitarUsuarioAsig(){
	var registros = [];
	var regBloqueados = [];
	var indiceBloq = 0;
	var regEliminar = [];
	
	
	if($("#UsuariosAsig").rup_table("getSelectedRows") != ""){
	
		$.rup_messages("msgConfirm", { 
			title: $.rup.i18n.app.mensajesMantGenerales.titPreguntaConfirmar,
			message: $.rup.i18n.app.mensajesMantGenerales.msjConfirmarQuitarUsuarios,
			siNo:true,
			OKFunction: function() {
				
				registros = $("#UsuariosAsig").rup_table("getSelectedLines");
				if($("#listaDesagregar").val() != ""){
					regEliminar.push($("#listaDesagregar").val());
				}	
				//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 codigo = $("#UsuariosAsig").rup_table("getSelectedRows")[i];					
					
					//Comprobar si el usuario esta bloqueado
					
					var noBloqueado;
					if(codigo>0){//es un registro existente en la BD
						noBloqueado = bloquear("change", $("#UsuariosAsig"), "aa21b15s01", "dusu15",codigo);
						if(noBloqueado)
						{
							$("#UsuariosAsig").rup_table("delRowData", codigo);
							cuentaEliminados++;
							regEliminar.push(codigo);
						}else{
							regBloqueados[indiceBloq] = codigo;
							indiceBloq++;
						}	
					}
					else{//es un nuevo registro y todavía no se ha guardado
						//recorrer el array de los nuevos registros y eliminarlo
						$("#UsuariosAsig").rup_table("delRowData", codigo);
						for(var j=0;j<nuevosUsuarios.length;j++){
							if(nuevosUsuarios[j].cusu15==codigo){							
							
								nuevosUsuarios=nuevosUsuarios.splice(j,1);
								
								j=nuevosUsuarios.length+1;
							}
							
						}
					}
				} 
				
				$("[id='AltaServicios_detail_button_save']").show();
			
				$("#UsuariosAsig").rup_table("setSelection", regBloqueados, false);
				$("#UsuariosAsig").rup_table("deselectAllRows");
				$("#listaDesagregar").val(regEliminar);
			}
		});
	}else{
		$.rup_messages("msgAlert", {message: $.rup.i18n.app.mensajesMantGenerales.msjNoRegistro});
	}	
}

		//<------------ PANTALLA AUXILIAR (DIALOG DIV) TABLA USUARIOS ---------->
		
		/**
		 * Funcion que guarda en la tabla temporal de usuarios asignados los registros que 
		 * el usuario ha seleccionado en la tabla de usuarios
		 */
		function guardarUsuariosAsigTemp(){		
	
			if($("#personas").val() != "" ||introXlnets==false){				

						//Miramos si estamos buscando por xlnets, o estamos añadiendo a mano
						
						if(	introXlnets){
							//Miramos si el usuario está en la tabla de usuarios.
							//Si existe damos un aviso
							//Si no está lo guardamos con el servicio a nulo
							var registros = [];
							var regAgregar = [];
							var regBloqueados = [];
							var indiceBloq = 0;
							 var val=$("#personas option:selected").val().split("#");
							
							 var data = {
									 Usuarios_id:"_empty",	
									 cserv15:"",	
									 cusu15:""+(-1*nuevosUsuarios.length),	
									 dserv15:"",	
									 dusu15:$("#personas option:selected").text(),	
									 eserv15:	"",	
									 id:	"_empty",	
									 oper:	"add",	
									 situ15:	"A",	
									 uxlnet15:	val[0] };
							
							 registros = $("#UsuariosAsig").rup_table("getSelectedLines");//usuario ya asignados	
							 if(registros==null)
								 registros=[];
							 registros.push(data);
							
							  $.rup_ajax({
				    	    		type: "GET",
				    	            url: "/aa21bOrgDocumentalWar/aa21b15s01/find/"+val[0], 	            
				    	            dataType: "json",
				    	            async: false,
				    	            contentType: 'application/json',
				    	            success: function(usuario, textStatus, jqXHR) {
				    	            	
				    	            	if(usuario==null){			    	            		
				    	            		nuevosUsuarios.push(data);
				    	            		 var formdata = {};
				    	            		formdata["cusu15"] = data.cusu15;;
											formdata["dusu15"] = data.dusu15;
											formdata["cserv15"] = data.cserv15;
											formdata["dserv15"] = data.dserv15;
											formdata["eserv15"] = data.eserv15;
											formdata["situ15"] = data.situ15;
										//	alert(-1*nuevosUsuarios.length);
											  $("#UsuariosAsig").rup_table("addRowData", -1*nuevosUsuarios.length, formdata, "last");
											  $("#dialogSeleccionUsuarios").rup_dialog("close");
				    	            	}
				    	            	else
				    	            		alert("Usuario asignado, por favor, seleccione otro usuario");
				    	            },
				    	            error: function (XMLHttpRequest, textStatus, errorThrown) {
				    					//No se ha cargado el usuario en la BD
				    	            	alert("KKK");
				    	            	 $("#dialogSeleccionUsuarios").rup_dialog("close");
				    				}
				                });						
						}
						else{//estamos introducionedo mediante texto
						
							 var data = {
									 Usuarios_id:"_empty",	
									 cserv15:"",	
									 cusu15:""+(-1*nuevosUsuarios.length),	
									 dserv15:"",	
									 dusu15:$("#npersona").val(),	
									 eserv15:	"",	
									 id:	"_empty",	
									 oper:	"add",	
									 situ15:	"A",	
									 uxlnet15:"" };
							}
						 	registros = $("#UsuariosAsig").rup_table("getSelectedLines");//usuario ya asignados	
						 	if(registros==null)
						 		registros=[];
						 	registros.push(data);
						 	nuevosUsuarios.push(data);
						 	var formdata = {};
						 	formdata["cusu15"] = data.cusu15;;
							formdata["dusu15"] = data.dusu15;
							formdata["cserv15"] = data.cserv15;
							formdata["dserv15"] = data.dserv15;
							formdata["eserv15"] = data.eserv15;
							formdata["situ15"] = data.situ15;
							$("#UsuariosAsig").rup_table("addRowData", -1*nuevosUsuarios.length, formdata, "last");
							 $("#dialogSeleccionUsuarios").rup_dialog("close");
					}
			

	//<!------------------------ ------------------------->
		}

		
function desbloquearUsuariosServicios(){
	/*
	 * Desbloqueo los usuarios que han sido asignados al servicio que había bloqueado al
	 * asignar.
	 */
	if($("#listaAgregar").val() != ""){
		var listaAgregar = $("#listaAgregar").val().split(",");
		
		for(var i=0;i<listaAgregar.length;i++){
			desbloquearUsuario(listaAgregar[i]);
		}
	}	
	
	/*
	 * Desbloqueo los usuarios que han sido quitados dal servicio que finalmente
	 * no se desagregarán
	 */
	if($("#listaDesagregar").val() != ""){
		var listaDesagregar = $("#listaDesagregar").val().split(",");
		
		for(var i=0;i<listaDesagregar.length;i++){
			desbloquearUsuario(listaDesagregar[i]);
		}
	}	
}		

function limpiarUsuarios(){
	$("#cserv15_filter_table").val("sinServicio");
}


/*DIÃ�LOGO BUSCAR PERSONA XLNETS INI*/
function seleccionarUsuarioXLNETs() {
	
	
	var ventanaDialogoAprobar = $("#dialogoBuscarPersonaXLNETs").rup_dialog({
		type:$.rup.dialog.DIV,
		//url:"/aa21bOrgDocumentalWar/xlnets/xlnetsBuscaUsuario",
		autoOpen: false,
		modal: true,
		resizable: false,
		minWidth: 600,
		minHeight: 300,
		title:$.rup.i18n.app.aa21b15s01.seleccionUsuarioTit,
		buttons: [{
			text: "Cancelar",
			click: function () {
				$("#dialogoBuscarPersonaXLNETs").rup_dialog("close");
			},
			btnType: $.rup.dialog.LINK
		}]
	});
	limpiarBusqXLNET();
	 $("#dialogoBuscarPersonaXLNETs").rup_dialog("open");
	
}



/*DIALOGO XLNETS*/

function buscar(){
	var parametros='?nombreFiltro=' + $("#nombreResp").val()
	  +'&apellidosFiltro=' + $("#apellidosResp").val() +'&dniFiltro=' + $("#dniResp").val();
	  
	var url="../xlnets/personas"+parametros;
	$("#dialogoEsperaXLNET").show();
	$.ajax({
		type: "GET",
		url: url,
		
		success: function(data){
			var str="";
			for(i=0;i<data.length;i++){
				str+="<option value='"+data[i].codigo+"#"+data[i].telefono+"'>"+data[i].apellidos+", "+data[i].nombre+"</option>";
			}
			$("#personas").html(str);
			$("#dialogoEsperaXLNET").hide();
		},
		error:function(){
			$("#dialogoEsperaXLNET").hide();
		},
		dataType: "json"
		});
	
}
function seleccionar(){
	var val=$("#personas option:selected").val();
	var text=$("#personas option:selected").text();
	if(val!=null && val!=undefined){
		var text2=text.split(", ");
		fncSeleccionar(val,text2[0]+", "+text2[1]);
	}
	
}
function fncSeleccionar (  codigotelefono, nombreapellidos) {

	var array=codigotelefono.split("#");
	var codigo=array[0];
	var telef=array[1];
	//Los siguientes campos los cargamos de XLNETs
	$("#dusu15_detail_table").val(nombreapellidos.toUpperCase());
	$("#uxlnet15_detail_table").val(codigo);
	try {
		 $("#dialogoBuscarPersonaXLNETs").rup_dialog("close");
		 $("#Usuarios_detail_button_save").show();
	} catch(e) {
	}
}


function limpiarBusqXLNET(){
	$("#dniResp").val("");
	$("#nombreResp").val("");
	$("#apellidosResp").val("");
	$("#personas").html("");
}

/*DIÃ�LOGO BUSCAR PERSONA XLNETS FIN*/