package itourbaskServlet;

import itourbaskBeans.q53EncuestaBean;
import itourbaskBeans.q53FechaBean;
import itourbaskBeans.q53NotificacionBean;
import itourbaskBeans.q53RespuestaBean;
import itourbaskBeans.q53RespuestaProcedenciaBean;
import itourbaskClases.q53EncuestaClass;
import itourbaskClases.q53RespuestaClass;

import java.util.List;

import q53_util.q53Constantes;
import q53_util.q53LogEstadisticas;
import q53_util.q53RecorrerPreguntas;
import q53_util.q53Util;
import util.q53LiteralesEncuestaGV;

import com.cidat.proclets.PSP;
import com.cidat.proclets.ProcletException;
import com.cidat.proclets.ProcletServiceData;


public class q53usrEncuestaPresencialServlet extends q53Servlet {
    public void pspProcess(ProcletServiceData sd) throws ProcletException {
        try {
        	// Trapi para que chute
        	//sd.servletSrvVersion = 8;
        	// establece el contentType del response
            sd.res.setContentType("text/html; charset=ISO-8859-1");
            sd.res.setHeader("Pragma", "no-cache");
            sd.res.setHeader("Cache-Control", "no-cache");
            sd.res.setHeader("Expires", "0");

            // Tags para diseï¿½o responsive 
            sd.res.setHeader("X-UA-Compatible", "IE=edge");
            sd.res.setHeader("viewport", "width=device-width, initial-scale=1.0");
            // Fin tags para diseï¿½o responsive 
            
				sd.req.getSession().removeAttribute("pendientes");
				sd.req.getSession().removeAttribute("ultima");
				sd.req.getSession().removeAttribute("pofi");
            // tratar las cookies
            q53_tratarCookies(sd);
            //obtener un codigo aleatorio para que no coja de la cache el proxy
            String codigo_aleatorio = q53Util.obtener_cod_aleatorio();
            
            String perfilUser = "NO";

            if (q53Util.esPerfil(sd, q53Constantes.PERFIL_USRO)) {
                perfilUser = "SI";
            }

            String perfilCoord = "NO";

            if (q53Util.esPerfil(sd, q53Constantes.PERFIL_COOR)) {
                perfilCoord = "SI";
            }

            String perfilAdmin = "NO";

            if (q53Util.esPerfil(sd, q53Constantes.PERFIL_ADMO)) {
                perfilAdmin = "SI";
            }

            sd.setVal("perfilUser", perfilUser);
            sd.setVal("perfilCoord", perfilCoord);
            sd.setVal("perfilAdmin", perfilAdmin);
            sd.setVal("preguntasInteres", q53RespuestaClass.cogerPreguntaOpciones(sd, "8"));
            q53LogEstadisticas.printLog("perfilUser: " + perfilUser);    
            q53LogEstadisticas.printLog("perfilCoord: " + perfilCoord);    
            q53LogEstadisticas.printLog("perfilAdmin: " + perfilAdmin);   
            PSP.paramProclet(sd, "buscar_ultima()");
            PSP.paramProclet(sd,"buscar_ultima_fecha(),tipo_encuesta()");
            q53LogEstadisticas.printLog("buscar_ultima: " + sd.gOS("buscar_ultima"));   
            q53LogEstadisticas.printLog("buscar_ultima_fecha: " + sd.gOS("buscar_ultima_fecha"));   
//PARTE DE Si se ha elegido sacar mediante ajax la ultima respuesta en la pantalla de introduccion de respuestas
            if(sd.gOS("buscar_ultima").equals("S")){            	
            	PSP.paramProclet(sd, "not_fax(),not_correo(),not_email(),enc_usuario(),not_datos(),enc_pendiente(),enc_estado(),enc_medio_recep(),tipo_encuesta(),q53_idioma(),enc_local(),enc_titulo_fecha_vis(),enc_titulo_fecha_intro(),enc_personas(),enc_tipo_procedencia()");
            	//((ServletRequest) sd.res).setCharacterEncoding("Windows-1252");
				//AJUSTE DE CABECERAS PORQUE LOS TITULOS CON TILDE LLEGAN MAL FORMADOS Y NO HEMOS CONSEGUIDO CONVERTIRLOS
            	String valorEncTituloFechaIntro = !sd.gOS("enc_titulo_fecha_intro").startsWith("Grabaci")? sd.gOS("enc_titulo_fecha_intro"):"Grabaci&oacute;n";
            	String valorNotDatos = !sd.gOS("not_datos").startsWith("Datos para env")? sd.gOS("not_datos"):"Datos para env&iacute;o";
            	
            	java.io.PrintWriter out = sd.res.getWriter();
            	List respuesta = q53RespuestaClass.getRespuestasNuevo(sd,sd.gOS("q53_cki.q53_oficina"),"","","0","1",sd.gOS("tipo_encuesta"),"S","","asc","vis","0");            	
                q53RespuestaBean respuestaBean = (q53RespuestaBean)respuesta.get(0);
                q53LogEstadisticas.printLog("1" );   
                if(respuestaBean!=null){                	
	                String q53_idioma=sd.gOS("q53_idioma");
	                int numVisitantes;
	                
//	                out.println("<div id='ultima' class='col-sm-11'>");
//	                out.println("<div class='form-group-inline'>");
//	                out.println("<span>"+sd.gOS("enc_titulo_fecha_vis")+"</span>");
//	                out.println("<span>"+sd.gOS("enc_titulo_fecha_vis")+"</span>");
	                
					out.println("<table class='responsive-table'>");
					out.println("<caption></caption>");
					out.println("<thead>");
					out.println("<th scope='col'>");
					out.print(sd.gOS("enc_titulo_fecha_vis"));
					out.print("</th>");
					out.println("<th scope='col'>");
					//out.print(sd.gOS("enc_titulo_fecha_intro"));
					out.print(valorEncTituloFechaIntro);
					out.print("</th>");
					if(sd.gOS("tipo_encuesta").equals("pres")){
						out.println("<th scope='col'>");
						out.print(sd.gOS("enc_personas"));
						out.print("</th>");
					}
					else{
						out.println("<th scope='col'>");
						out.print(sd.gOS("enc_medio_recep"));
						out.print("</th>");
					}
					out.println("<th scope='col'>");
					out.print(sd.gOS("enc_tipo_procedencia"));
					out.print("</th>");
					if(sd.gOS("tipo_encuesta").equals("nopres")){
						out.println("<th scope='col'>");
						out.print(sd.gOS("enc_estado"));
						out.print("</th>");                                                                               
					}
					out.println("<th scope='col'>");
					//out.print(sd.gOS("not_datos"));
					out.print(valorNotDatos);
					out.print("</th>");
					out.println("<th scope='col'>");
					out.print(sd.gOS("enc_usuario"));
					out.print("</th>");
					out.println("</thead>");
					
					
					out.println("<tfoot></tfoot>");
					out.println("<tbody>");	
					out.println("<tr style='background-color: white;'>");
					out.println("<th scope='row' " + sd.gOS("enc_titulo_fecha_vis") + ">");
					out.println("		<a href='javascript:ver_respuesta("+respuestaBean.getCodRespuesta()+")'>");
					out.println(" 		"+respuestaBean.getFechaRespuesta() + " </a>");
					out.println("</th>");
					//out.println("<td data-title='" +sd.gOS("enc_titulo_fecha_intro") + "'>");
					out.println("<td data-title='" + valorEncTituloFechaIntro +"'>");
					out.println("		<a href='javascript:ver_respuesta("+respuestaBean.getCodRespuesta()+")'>");
					out.println("		"+respuestaBean.getFechaCreacionRespuesta()+"</a>");
					out.println("</td>");
					numVisitantes = 0;	                
	                numVisitantes = new Integer(respuestaBean.getNumPersonas()).intValue();	                
	                if(sd.gOS("tipo_encuesta").equals("pres")){
	                	out.println("<td data-title='" + sd.gOS("enc_personas") +"'>");
	                	out.println("		<a href='javascript:ver_respuesta("+respuestaBean.getCodRespuesta()+")'>");
	                	out.println("		"+respuestaBean.getNumPersonas()+"</a>");
	                }else{
	                	out.println("<td data-title='" + sd.gOS("enc_medio_recep") +"'>");
	                	out.println("		<a href='javascript:ver_respuesta("+respuestaBean.getCodRespuesta()+")'>");
	                	out.println("		"+respuestaBean.getMedioRecepEnc()+"</a></td>");
	                }
	                out.println("</td>");
					List procs=respuestaBean.getProcedenciaList();
					if(procs!=null){
						int lon =procs.size();
						String nproc="";
			            out.println("	<td data-title='" + sd.gOS("enc_tipo_procedencia") + "'>");
						for(int p=0;p<lon;p++){
						 		q53RespuestaProcedenciaBean proc=(q53RespuestaProcedenciaBean)procs.get(p);
								if(proc.getcLocal().equalsIgnoreCase("S")){
									if(nproc.length()>0){nproc+="-";}
									nproc+=sd.gOS("enc_local");
								}else if(proc.getCodPais().length()>0 && proc.getCodPais().equals("10") && proc.getcPos().equals("999")){
										 if(nproc.length()>0){nproc+="-";}
										 nproc+="("+proc.getcPos()+")";
							 			 if(q53_idioma.equals("C")){nproc+=proc.getPaisNameCas();}else{nproc+=proc.getPaisNameEus();} 
							 		  }else if (proc.getcPos().length()>0 && !proc.getcPos().equals("0")){
												 if(nproc.length()>0){nproc+="-";}
												 nproc+="("+proc.getcPos()+")";
									             if(q53_idioma.equals("C")){nproc+=proc.getComunidadNameCas();}else{nproc+=proc.getComunidadNameEus();}
								 			}else if(proc.getCodPais().length()>0 && !proc.getCodPais().equals("0") && !proc.getCodPais().equals("10")){
										 			 if(nproc.length()>0){nproc+="-";}
										 			 if(!proc.getcPos().equals("0")){nproc+="("+proc.getcPos()+")";}
													 if(q53_idioma.equals("C")){nproc+=proc.getPaisNameCas();}else{nproc+=proc.getPaisNameEus();} 
						 			 			  }
						}
						out.println("<a href='javascript:ver_respuesta("+respuestaBean.getCodRespuesta()+")'>");		            				
						out.println(""+nproc+"</a>");
						out.println("	</td>");
			        }else{
			        	out.println("<td>&nbps;</td>");
			        }			        
					if(sd.gOS("tipo_encuesta").equals("nopres")){
							if(respuestaBean.getEstado().equals("P")){
								out.println("<td data-title='" +sd.gOS("enc_estado") + "'><font color='red'>"+sd.gOS("enc_pendiente")+"</font></td>");
			    			}else{
			    				out.println("<td data-title='" +sd.gOS("enc_estado") + "'> </td>");
			    			}
		    			}					
					//out.println("<td data-title='" + sd.gOS("not_datos") + "'>");
					out.println("<td data-title='" + valorNotDatos + "'>");
					q53LogEstadisticas.printLog("getTiene_notificacion:"+respuestaBean.getTiene_notificacion());  
					if(respuestaBean.getTiene_notificacion().equals("si")){
							q53NotificacionBean notificacionBean = respuestaBean.getNotificacionBean();
		            		String tipo_envio=notificacionBean.getTipo_envio();
		            		if(tipo_envio.equals("2")){
		            			out.println("<font color='red'>"+sd.gOS("not_email")+"</font>");		            			
		            		}else if(tipo_envio.equals("1")){
		            			out.println("<font color='red'>"+sd.gOS("not_correo")+"</font>");
		            		}else if(tipo_envio.equals("3")){
		            			out.println("<font color='red'>"+sd.gOS("not_fax")+"</font>");
		            		}	            		
					}
					out.println("</td>");
					out.println("<td data-title='" + sd.gOS("enc_usuario") + "'>");
					out.println("    <font size='1'>"+respuestaBean.getNombrePersona()+"");		  
					out.println("</td>");
					out.println("</tr>");   	
					out.println("</tbody>");	
					out.println("</table>");					
                }else{
                	out.println("<span>No existen respuestas para esta oficina</span>");
                }
//FIN PARTE DE Si se ha elegido sacar mediante ajax la ultima respuesta en la pantalla de introduccion de respuestas
			}else if(sd.gOS("buscar_ultima_fecha").equals("S")){
//PARTE DE Si se ha elegido sacar mediante ajax la ultima fecha
				List respuesta = q53RespuestaClass.getRespuestasNuevo(sd,sd.gOS("q53_cki.q53_oficina"),"","","0","1",sd.gOS("tipo_encuesta"),"S","","asc","vis","0");
                java.io.PrintWriter out = sd.res.getWriter();
                if(!respuesta.isEmpty()){
                	q53RespuestaBean respuestaBean = (q53RespuestaBean)respuesta.get(0);
                	out.println(respuestaBean.getFechaCreacionRespuesta());
                }else{
                	out.println("No existen respuestas");
                }
//FIN PARTE DE Si se ha elegido sacar mediante ajax la ultima fecha
			}else{
            if (q53Util.esPerfil(sd, q53Constantes.PERFIL_USRO) ||
                    q53Util.esPerfil(sd, q53Constantes.PERFIL_ADMO) ||
                    q53Util.esPerfil(sd, q53Constantes.PERFIL_COOR)) {
			    PSP.paramProclet(sd, "cod_encuesta(),cod_version(),accion(),respuesta_rd_asociada(),encuestas_terminadas(),cpos(),mantener_ultima()");
                if (sd.gOS("cod_encuesta").equals("") || sd.gOS("cod_encuesta").equals("0")) {
                	//q53LogEstadisticas.printLog("1 Entramos por cod_encuesta --" + sd.gOS("cod_encuesta"));     
                    //En la pantalla derecgida de datos aparece la encuesta del g.v. 
                    //Y si la oficina tiene alguna encuesta visible tambien aparece.

                    sd.setVal("es_recogida_datos", "SI");
                    sd.setVal("pagina", "recogida_de_datos");

                    //Recuperamos la fecha máxima y mínima para poder rellenar la combo
                    //de años en la encuesta del g.v..
                    q53FechaBean q53FechaBean = q53EncuestaClass.getGVDate(sd);
                    sd.setVal("fechasGV", q53FechaBean);

                    String codOficina = sd.gOS("q53_cki.q53_oficina");

                    //Recuperamos la pregunta de procedencias(información para rellenar
                    //las diferentes combos de municipio territorio,comunidad autonoma
                    //y pais).
                    q53LogEstadisticas.printLog("Recorrer preguntaProcedencia");  
                    q53RecorrerPreguntas.cogerPreguntaProcedencia(sd,
                        "preg_gv", 2);
                    //Recuperamos los datos de la pregunta de tipo fecha
                    q53LogEstadisticas.printLog("Recorrer preguntaFecha");  
                    q53RecorrerPreguntas.cogerPreguntaFecha(sd, 0);

                    //Recuperamos el número de encuestas realizadas hoy
                    String numEncHoy = q53EncuestaClass.getNumEncuestasHoy(sd);

                    //Pasamos los diferentes parametros a la JSP
                    sd.setVal("numEncHoy", numEncHoy);

                    //Los literales de las preguntas de la encuesta del g.v.
                    //Los recuperamos en diferentes metodos desde la b.d.
                    //y los pasamos a la jsp en diferentes listas                   
                    sd.setVal("literalesCalendario",
                        q53LiteralesEncuestaGV.getLiteralesCalendario(sd));
                    sd.setVal("literalesGrupos",
                        q53LiteralesEncuestaGV.getLiteralesGrupos(sd));
                    sd.setVal("literalesIdiomaConsulta",
                        q53LiteralesEncuestaGV.getLiteralesOpciones(sd, "N1_4",
                            "N3_4_", 8));
                    sd.setVal("literalesInformacionSolicitada",
                        q53LiteralesEncuestaGV.getLiteralesOpciones(sd, "N1_7",
                            "N3_7_", 7));
                    sd.setVal("literalesTipoServicio",
                        q53LiteralesEncuestaGV.getLiteralesOpciones(sd, "N1_1",
                            "N3_1_", 6));
                    sd.setVal("literalesMedioRecepcion",
                        q53LiteralesEncuestaGV.getLiteralesOpciones(sd, "N1_3",
                            "N3_3_", 8));
                    sd.setVal("literalesTipoInformacion",
                        q53LiteralesEncuestaGV.getLiteralesOpcionesTipoInfo(sd, "N1_8",
                            "N3_8_", 50));
					//IGC 20150519 INICIO INCLUIR PREGUNTA VALIDACION ESTANCIA
                    sd.setVal("literalesValoracionEstancia",
                        q53LiteralesEncuestaGV.getLiteralesOpcionesDesdeHasta(sd, "N1_12",
                            "N3_12_", 0, 5));
                    sd.setVal("textoAyudaValoracionEstancia",
                        q53LiteralesEncuestaGV.getLiteralPregunta(sd, "AYUDA_VALORACION_ESTANCIA"));
					//IGC 20150519 FIN INCLUIR PREGUNTA VALIDACION ESTANCIA
                    q53LogEstadisticas.printLog("Recogidos los literales");  
                    //recupermos los datos propios de la encuesa del g.v.
                    //Como por ejemplo codigo de encuesta,codigo de version etc..
                    q53EncuestaBean encuestaGV = q53EncuestaClass.getGVEncData(sd,
                            "0", "1");
					sd.setVal("encuestaGV", encuestaGV);

                    String codPadre = q53EncuestaClass.getCodOfiPadre(sd, codOficina);
                    sd.setVal("codPadre",codPadre);

                    //Miramos si la oficina tiene alguna encuesta
                    if (q53EncuestaClass.isEncuestaOficina(sd, codOficina,codPadre)) {
                    	q53LogEstadisticas.printLog("La oficina tiene encuesta 1");  
                        //Miramos si la oficina tiene alguna encuesta visible
                        if (q53EncuestaClass.isEncuestaOficinaVisible(sd)) {
                        		q53LogEstadisticas.printLog("La oficina tiene encuesta visible");  
                            //Enumerationel caso de que tenga una encuesta visible
                            //Recuperamos los datos de esa encuesta (codigo de encuesta,de version,descripcion
                            //de la encuesta,si es visible)
                     
                            q53EncuestaBean  encuestaVisible = q53EncuestaClass.getEncuestaVisiblePres(sd,
                                    codOficina);
                            
                            if (encuestaVisible.isEncuestaVisible()) {
                                sd.setVal("hay_preg_ofi", "SI");
																q53LogEstadisticas.printLog("Nos aseguramos de que está visible");  
                                //Recuperamos las pregutnas de esa encuesta y las recojemos en una lista
                                //que despues enviaremos a la JSP
                                List preguntasList = q53EncuestaClass.generarEncuestas(sd);
                                sd.setVal("preguntasList", preguntasList);
                                sd.setVal("encVisible", encuestaVisible);
                            } else {
                                //No hay encuesta visible propia de la oficina
                                sd.setVal("hay_preg_ofi", "NO");
                                q53LogEstadisticas.printLog("No Entramos en si es presencial en encuesta presencial");
                                q53LogEstadisticas.printLog("No hay encuesta visible de la oficina");  
                            }
                      } else {
                            //No hay encuesta visible propia de la oficina
                            sd.setVal("hay_preg_ofi", "NO");
                        }
                    } else {
                        //la focina no tiene encuesta propia
                        sd.setVal("hay_preg_ofi", "NO");
                        q53LogEstadisticas.printLog("La oficina no tiene encuesta propia");  
                    }
                } else {
                    // hay parámetro de código de encuesta.
                    // Se muestran las preguntas de la encuesta elegida
                    //q53LogEstadisticas.printLog("2 Entramos por cod_encuesta --" + sd.gOS("cod_encuesta"));  
                    sd.setVal("es_recogida_datos", "SI");
                    sd.setVal("pagina", "recogida_de_datos");

                    q53FechaBean q53FechaBean = q53EncuestaClass.getGVDate(sd);
                    sd.setVal("fechasGV", q53FechaBean);

                    String codOficina = sd.gOS("q53_cki.q53_oficina");
//q53LogEstadisticas.printLog("Código postal::::"+sd.gOS("cpos"));     
String select_local = "select * from oficina where t02_coor='"+codOficina+"'";

        //q53LogEstadisticas.printLog("recorrerPreguntas()::::"+select_local);
        PSP.sqlProclet(sd, "preg_local[]=" + select_local);
               
                    q53RecorrerPreguntas.cogerPreguntaProcedencia(sd,
                        "preg_gv", 2);
                    q53RecorrerPreguntas.cogerPreguntaFecha(sd, 0);

                    String numEncHoy = q53EncuestaClass.getNumEncuestasHoy(sd);
                    sd.setVal("numEncHoy", numEncHoy);
                    sd.setVal("literalesCalendario",
                        q53LiteralesEncuestaGV.getLiteralesCalendario(sd));
                    sd.setVal("literalesGrupos",
                        q53LiteralesEncuestaGV.getLiteralesGrupos(sd));
                    sd.setVal("literalesIdiomaConsulta",
                        q53LiteralesEncuestaGV.getLiteralesOpciones(sd, "N1_4",
                            "N3_4_", 8));
                    sd.setVal("literalesInformacionSolicitada",
                        q53LiteralesEncuestaGV.getLiteralesOpciones(sd, "N1_7",
                            "N3_7_", 7));
                    sd.setVal("literalesTipoServicio",
                        q53LiteralesEncuestaGV.getLiteralesOpciones(sd, "N1_1",
                            "N3_1_", 6));
                    sd.setVal("literalesMedioRecepcion",
                        q53LiteralesEncuestaGV.getLiteralesOpciones(sd, "N1_3",
                            "N3_3_", 8));
                    sd.setVal("literalesTipoInformacion",
                        q53LiteralesEncuestaGV.getLiteralesOpcionesTipoInfo(sd, "N1_8",
                            "N3_8_", 50));
					//IGC 20150519 INICIO INCLUIR PREGUNTA VALIDACION ESTANCIA
                    sd.setVal("literalesValoracionEstancia",
                        q53LiteralesEncuestaGV.getLiteralesOpcionesDesdeHasta(sd, "N1_12",
                            "N3_12_", 0,5));
                    sd.setVal("textoAyudaValoracionEstancia",
                        q53LiteralesEncuestaGV.getLiteralPregunta(sd, "AYUDA_VALORACION_ESTANCIA"));
					//IGC 20150519 FIN INCLUIR PREGUNTA VALIDACION ESTANCIA
					q53LogEstadisticas.printLog("guardamos los literales");  
                    String codPadre = q53EncuestaClass.getCodOfiPadre(sd, codOficina);
                    sd.setVal("codPadre",codPadre);
                    //Miramos si la oficina tiene alguna encuesta
                    if (q53EncuestaClass.isEncuestaOficina(sd, codOficina,codPadre)) {
                    	q53LogEstadisticas.printLog("La oficina tiene encuesta 2 ");  
                        //miramos si la oficina tiene encuesta visible
                        if (q53EncuestaClass.isEncuestaOficinaVisible(sd)) {
                            q53EncuestaBean encuestaVisible = q53EncuestaClass.getEncuestaVisiblePres(sd,
                                     codOficina);
                             
q53LogEstadisticas.printLog("La oficina tiene encuesta visible");  
                            if (encuestaVisible.isEncuestaVisible()) {
                                sd.setVal("hay_preg_ofi", "SI");
q53LogEstadisticas.printLog("HAY_PREG_OFI =SI");  
                                List preguntasList = q53EncuestaClass.generarEncuestas(sd);
                                sd.setVal("preguntasList", preguntasList);
                                sd.setVal("encVisible", encuestaVisible);
                            } else {
q53LogEstadisticas.printLog("HAY_PREG_OFI =NO1");  
                                sd.setVal("hay_preg_ofi", "NO");
                            }
                        } else {
                            sd.setVal("hay_preg_ofi", "NO");
q53LogEstadisticas.printLog("HAY_PREG_OFI =NO2");                              
                        }
                    } else {
                        sd.setVal("hay_preg_ofi", "NO");
q53LogEstadisticas.printLog("HAY_PREG_OFI =NO3");                          
                    }
                }
                //si se pulsa el boton imprimir nos envia a la JSP de impresion
                if (sd.gOS("accion").equals(q53Constantes.ACCION_IMPRIMIR)) {
                    // se saca la encuesta para poder imprimir y rellenar en el papel
                    sd.setVal("pagina", "q53_usr_encuesta_print_presencial");
                    PSP.setTemplatePageProclet(sd, "/q53_usr_encuesta_print_presencial.jsp");
                } else {
	                	PSP.paramProclet(sd, "mostrar_fecha()");
	                    // se saca la encuesta normal, para rellenarla en la web
	        	        sd.setVal("mantener_ultima",sd.gOS("mantener_ultima"));
	        	        q53LogEstadisticas.printLog("Valor de mantener_ultima "+sd.gOS("mantener_ultima"));
	                  PSP.setTemplatePageProclet(sd, "/q53_usr_encuesta_presencial.jsp?cod_al="+codigo_aleatorio+"&mostrar_fecha="+sd.gOS("mostrar_fecha"));
	                  q53LogEstadisticas.printLog("Redireccionamos al jsp");  
                }
            } // if perfil

            else {
                // el usuario no tiene el perfil necesario. seguramente es porque
                // se ha perdido la sesión y hay que redirigirlo al login, para que
                // vuelva a meter su usuario y contraseña
q53LogEstadisticas.printLog("NO HAY SESION");                  
                sd.setVal("pagina", "q53_gen_login");
                q53_redirigir(sd,
                    "/q53ItourbaskWar/q53_gen_login.jsp?es_usuario_no_sesion");
            }
		}
		} catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    
}
