		Item = new Array ( );

		var XConn  		  = new Object ( );
		var Url    		  = new Object ( );
		var Logica 		  = new Object ( );
		var objCalendario = new Object ( );
		var objAjax  	  = new Object ( );
		var Contenidos 	  = new Object ( );
		var Utils 	  	  = new Object ( );
		var Accion   	  = new Object ( );
		var Aforo   	  = new Object ( );
		var Identidad  	  = new Object ( );

		var ModalWindow   = null;


		function AsignarIdVentanaModal ( id )
		{
			ModalWindow = id;
		}




		function LoadEntorno ( )
		{
			var load = false;

			objAjax  = CreateXmlHTTP ( );

			if ( objAjax )
			{
				load = true;

				XConn = new Ajax ( Cfg.CONNECTION , Cfg.METHOD, objAjax , Cfg.AJAX_SINCRONO );
				if ( navigator.appName == "Netscape" )
				{
					XConn.AddHostToUrl = false;
				}


				Identidad = new Identidad ( );
				Url = new Transacciones ( );
				Url.Init ( Cfg.URL );
				Url.DefineUserSession ( USER_ID_SESSION );

				Logica  = new Negocio ( );
				Logica.Init ( );

				Contenidos = new Contenidos ( Identidad );
				Contenidos.DefineMensajeWaiting ( Literal["MensajeWaiting"] );
				Utils 	   = new Utils ( );
				Accion     = new Accion ( );
				Aforo 	   = new Aforo ( Cfg.AFOROS_PATH );


		
			}

			return load;

		}


		function Inicio ( )
		{
			if ( LoadEntorno ( ) )
			{

				var ppNavegador = Utils.PropiedadesNavegador ( );
				PERMITE_MODAL = ppNavegador.Modal;


				document.all.bloqueTituloPantalla.innerHTML = Contenidos.TituloHome ( Literal['TituloPantallaMain'] , Literal['TituloPantallaMain1'] );


				document.all.bloqueLiteralBuscador.innerHTML = "&nbsp;&nbsp;&nbsp;<b>" + Literal['Buscador'] + "</b>";
				document.all.bloqueCopyRight.innerHTML 		 = Literal['CopyRight'];


				document.all.literalBuscadorMes.innerHTML 		= Literal['BuscadorMes'];
				document.all.literalBuscadorTipoE.innerHTML 	= Literal['BuscadorTipoE'];
				document.all.literalBuscadorPoblacion.innerHTML = Literal['BuscadorPoblacion'];
				document.all.literalBuscadorEvento.innerHTML 	= Literal['BuscadorEvento'];
				document.all.literalBuscadorRecinto.innerHTML 	= Literal['BuscadorRecinto'];
				document.all.botonBuscador.innerHTML 			= "&nbsp;&nbsp;&nbsp;" + Utils.SetBoton ( "bBuscar" , "ExecBuscador()" , Literal['Buscar'] );



				Accion.SetIdiomas ( Idiomas, document.all.bloqueIdiomas );
				Accion.SetOpcionesMenu ( menu.Opciones, document.all.bloqueOpcionesMenu );
				Accion.SetCalendario ( fechaInicioCalendario , fechaFinCalendario, Literal['Meses'], Literal['DiasSemanaCorto'], document.all.bloqueCalendario, DefineFecha, false );

				var datos = new Array ( );

				/* *************************
					CONTROL AGENCIAS
				************************* */

				Logica.DefineInformacion ( "Agencia" );

				if ( ( oQstring.Nivel == "Agencias" ) && ( oQstring.idRecinto != "" ) )
				{
					Logica.ModoAgencia = true;
					Logica.Session.Agencia.Id 	 	 	 = oQstring.IdAgencia;
					Logica.Session.Agencia.Nombre 	 	 = oQstring.NombreAgencia;
					Logica.Session.Agencia.IdUsuario 	 = oQstring.IdUsuario;
					Logica.Session.Agencia.NombreUsuario = oQstring.NombreUsuario;
					Logica.Session.Agencia.Recintos 	 = oQstring.idRecinto;

					datos['idRecinto'] = oQstring.idRecinto;

				}else if ( oQstring.Nivel == "DetalleOperacion" )
				{
					datos['DataBack'] = "Config";
				}

				Logica.Procesar ( "Inicio" , datos );


			}else
			{
				top.location = URL_ALTERNATIVA;
			}

		}



	function TratarContenidoServer ( contenido )
	{

		Utils.Debug ( "------------- Contenido -------------\n\n\n" + contenido );
    
		if ( contenido.substring(0,9) == "##TEXTO##" )
		{
			var nivel = "Texto";
			var contenido = contenido.substring ( 9 , (contenido.length) );
			document.all.TituloPanel.innerHTML = "";
			document.all.PanelPaginacion.innerHTML = "";
		}else
		{
			var item = Utils.ProcesarComandos ( contenido );
			var nivel = item['Nivel'];


		}

		switch ( nivel )
		{
			case "Texto" :
				document.all.Panel.innerHTML = contenido;
				Utils.NoWaiting ( );
				break;
			case "Inicio" :

				// PrepararDatos TipoE, Provincias, Recintos 

				if ( item['Error'] != "" )
				{
					Accion.SetMensajeError ( item['Error'] , document.all.Panel );
					Utils.NoWaiting ( );
				}else
				{
					Logica.Contenido.Item = item;


					var obj  = Utils.DefineObjetoContenidos ( );
					Logica.Contenido.TipoE = obj.TipoE;
					Logica.Contenido.Provincias = obj.Provincias;
					Logica.Contenido.Recintos = obj.Recintos;
					Logica.Contenido.Eventos = obj.Eventos;

					Accion.SetActividades ( Logica.Contenido.TipoE, document.all.bloqueActividades , 0 , PAGINAR_ACTIVIDADES );
					Accion.SetActividadesEnBuscador ( Logica.Contenido.TipoE, document.all.buscadorTipoE )
					Accion.SetPoblacionesEnBuscador ( Logica.Contenido.Provincias, document.all.buscadorPoblacion )
					Accion.SetRecintosEnBuscador ( Logica.Contenido.Recintos, document.all.buscarRecinto )


					if ( oQstring.init )
					{
						switch ( oQstring.Nivel )
						{
							case "menuRecintos" :
								ExecMenu ( -1 , "menuRecintos" );
								break;

							case "menuEventos" :
								ExecMenu ( -1 , "menuEventos" );
								break;

							case "Recinto" :
								/* *** Nivel Recinto con la pos del recinto */
								var pos = Logica.BuscarPosicionRecinto ( oQstring.idRecinto );
								if ( pos >= 0 )
								{
									EnlaceFicha ( Logica.Contenido.Recintos[pos] );
								}else
								{
									Accion.SetMensajeError ( Literal['txtErrorRecintoNoEncontrado'] , document.all.Panel );
								}
								break;
							case "Evento" :
								/* *** Nivel Evento con la pos del evento */

								var pos = Logica.BuscarPosicionEvento ( oQstring.idRecinto , oQstring.idEvento );
								if ( pos >= 0 )
								{
									if ( oQstring.idRecinto != "" )
									{
										for ( var j=0;j < Logica.Contenido.Recintos.length;j++ )
										{
											if ( oQstring.idRecinto == Logica.Contenido.Recintos[j]['Id'] )
											{
												Accion.SeleccionarRecinto ( Logica.Contenido.Recintos[j] );
												break;
											}
										}	
									}

									EnlaceFicha ( Logica.Contenido.Eventos[pos] );

								}else
								{
									Accion.SetMensajeError ( Literal['txtErrorEventoNoEncontrado'] , document.all.Panel );
								}

								break;

							case "DetalleAforo" :
								/* *** Nivel Evento con la pos del evento */

								if ( oQstring.idSesion != "" )
								{
									Logica.Procesar ( "Detalle_1_Sesion" , oQstring.idSesion );
								}else
								{
									ExecMenu ( -1 , "menuEventos" );
								}

								break;


							case "MisOperaciones" :

								if ( oQstring.tarjeta != "" )
								{
									var datos = new Array ( );
									datos['Tarjeta']   = oQstring.tarjeta;
									datos['idRecinto'] = "";
									datos['idEvento']  = "";
									datos['RefRecogida']  = "";
									datos['Localizador']  = "";
									datos['Validador']  = "";

									Utils.Waiting ( );

									Logica.Procesar ( "MisCompras" , datos );
								}else
								{
									ExecMenu ( -1 , "menuMisEntradas" );
								}


								break;

							case "DetalleOperacion" :

								Utils.Waiting ( );

								if ( ( oQstring.idOperacion != "" ) && ( oQstring.idSesion != "" ) )
								{
									Accion.SeleccionarOperacion( oQstring.idOperacion , oQstring.idSesion , DEFINE_HOME_TICKET );

								}else
								{
									var datos = new Array ( );
									Logica.Procesar ( "Inicio" , datos );
								}


								break;


							case "Agencias" :
								//var msg = "Acceso restringido a usuarios de \n\n";
								var msg = Literal["AccesoRestringido"];
								msg += Logica.Session.Agencia.Nombre.toUpperCase()  + "\n\n";
								//msg += "Si no pertenece a este grupo, pulse CANCELAR";
								msg += Literal["NoPerteneceGrupo"];
			
								if  ( confirm ( msg ) )
								{
									document.all.bloqueTituloPantalla.innerHTML = Contenidos.TituloHome ( Logica.Session.Agencia.Nombre , "" );

									ExecMenu ( -1, NivelInicial );
								}else
								{
									top.location = location.pathname;
									
								}

							default :
								break;
						}
						oQstring.init = false;
					}else
					{
						ExecMenu ( -1, NivelInicial );
					}

					Utils.NoWaiting ( );
				}
				
				break;

			case "Destacados" :

				if ( item['Error'] != "" )
				{
					Accion.SetMensajeError ( item['Error'] , document.all.Panel );
					Utils.NoWaiting ( );
				}else
				{
					Logica.DefineDestacados ( item );

					ExecMenu ( -1 , "menuDestacados" );

					Utils.NoWaiting ( );
				}
				
				break;


			case "CalendarioEvento" :

				objCalendarioE.fecha = item['Mes'];
				objCalendarioE.SetDiasActivos ( item['Dias'] );
				objCalendarioE.CreateCalendario ( );


				Utils.NoWaiting ( );


				break;
			case "Sesiones" :
				if ( item['Error'] != "" )
				{
					Accion.SetMensajeError ( item['Error'] , document.all.Panel );
					Utils.NoWaiting ( );
				}else
				{

					Contenidos.DefineCallBackFicha ( EnlaceFicha );
					Contenidos.DefineEncabezado( Identidad.CrearEncabezadoSesion ( ) );
					Contenidos.DefineContenedorContenido ( document.all.Panel );
					Contenidos.DefineDatosPaginacion ( 10 , 1 );
					Contenidos.DefineContenido ( item );

					Contenidos.MostrarSesiones ( );

					Utils.NoWaiting ( );
				}

				break;

			case "Detalle_1_Sesion" :
				if ( item['Error'] != "" )
				{
					Accion.SetMensajeError ( item['Error'] , document.all.Panel );
					Utils.NoWaiting ( );
				}else
				{

					var error = true;

					var posRecinto = Logica.BuscarPosicionRecinto ( item['idRecinto'] );
					if ( posRecinto >= 0 )
					{
						Accion.SeleccionarRecinto ( Logica.Contenido.Recintos[posRecinto] );

						var posEvento = Logica.BuscarPosicionEvento ( item['idRecinto'] , item['idEvento'] );
						if ( posEvento >= 0 )
						{
							Accion.SeleccionarEvento ( Logica.Contenido.Eventos[posEvento] );
							error = false;
						}
					}

					if ( error )
					{
						ExecMenu ( -1 , "menuEventos" );

					}else
					{
						var datos = new Array ( );
						datos = item['Sesion'];
						datos['Nivel'] = "Sesion";

						if ( datos['UrlVentaExterna'] != "" )
						{

							Contenidos.DefineCallBackFicha ( EnlaceFicha );
							Contenidos.DefineEncabezado( Identidad.CrearEncabezadoSesion ( ) );
							Contenidos.DefineContenedorContenido ( document.all.Panel );
							Contenidos.DefineDatosPaginacion ( 10 , 1 );

							var listaSesiones = new Array ( );
							listaSesiones[0] = item['Sesion'];
							Contenidos.DefineContenido ( listaSesiones );

							Contenidos.MostrarSesiones ( );

						}

						EnlaceFicha ( datos );

					}
				}


				break;

			case "DetalleAforo" :

				if ( item['Error'] != "" )
				{
					Accion.SetMensajeError ( item['Error'] , document.all.Panel );
					Utils.NoWaiting ( );
				}else
				{

					Aforo.Init ( item );
					Aforo.DefineEncabezadoSesion ( Identidad.CrearEncabezadoSesion ( ) );
					Aforo.DefineNivelPresentacion ( "Zona"  );
					Aforo.DefineNivelAforo ( item['IdNivel'], ""  );
					Aforo.DefineAreaAforo ( item['IdArea'] , ""  );

					if ( item['NumZonas'] == 1 )
					{
						Aforo.DefineZonaAforo ( 0 );

						if ( item['Zona'][0]['Bloque'].length == 1 )
						{
							Aforo.DefineBloqueAforo ( 0 );

						}
					}


					Aforo.Procesar ( );


					/* ****************************************
						PreLoad de Imagenes
					**************************************** */
					var k = 0;
					var listaImg = new Array ( );
					for ( var i=0; i < item['Zona'].length; i++ )
					{
						listaImg[k] = new Image ( );
						listaImg[k].src = Cfg.AFOROS_PATH + "/" + item['Zona'][i]['ImagenMapa'];
						k++;
						var bloques = item['Zona'][i]['Bloque'];
						for ( var j=0; j < bloques.length; j++ )
						{
							listaImg[k] = new Image ( );
							listaImg[k].src = Cfg.AFOROS_PATH + "/" + bloques[j]['ImagenMapa'];
							k++;
						}
					}

					Utils.NoWaiting ( );
				}

	
				break;


			case "Buscador" :

				if ( item['Error'] != "" )
				{
					Accion.SetMensajeError ( item['Error'] , document.all.Panel );
					Utils.NoWaiting ( );
				}else
				{

					document.all.TituloPanel.innerHTML = SetTituloBuscador ( );

					var objDetallesBuscador =  PreparaDatosEncabezadoBuscador ( );


					Contenidos.DefineCallBackFicha ( EnlaceFicha );
					Contenidos.DefineContenedorContenido ( document.all.Panel );


					Contenidos.DefineEncabezado( Contenidos.CrearEncabezadoBuscador( objDetallesBuscador ) );

					Contenidos.DefineDatosPaginacion ( 15 , 1 );
					Contenidos.DefineContenido ( item );

					Contenidos.MostrarEventosBuscador ( );

					Utils.NoWaiting ( );
				}


				break;				

			case "Concesiones" :

				ModalWindow.GetInfo ( item );	
				Utils.NoWaiting ( );

				break;
			case "Disponibilidad" :

				ModalWindow.GetInfo ( item );	
				Utils.NoWaiting ( );

				break;
			case "Reserva" :
        ModalWindow.GetInfo ( item );	
				Utils.NoWaiting ( );

				break;
			case "ModificarReserva" :
				if ( item['Error'] != "" )
				{

					Accion.SetMensajeError ( item['Error'] , document.all.Panel );

					document.all.PanelPaginacion.innerHTML = '<br><br><center><a href="#" class="paginacion" onClick="ExecPago()"><< ' + Literal['Volver'] + '</a></center>';

					Utils.NoWaiting ( );
				}else
				{
					Logica.Session.Operacion.ImporteSinTarjeta = Logica.Session.Operacion.Importe;

					Logica.Session.Operacion.IdReserva   	 			= item['IdReserva'];

					if ( item['Importe'] == Logica.Session.Operacion.ImporteSinTarjeta )
					{
						Logica.Session.Operacion.EntradasTarjeta = Logica.Session.Operacion.Entradas;
						SetPago ( );
					}else
					{

						Logica.Session.Operacion.Importe 	 	 			= item['Importe'];
						Logica.Session.Operacion.ImporteNeto 	 			= item['ImpNeto'];
						Logica.Session.Operacion.Comision    	 			= item['Comision'];
						Logica.Session.Operacion.Dto 	  	 	 			= item['Dto'];
						Logica.Session.Operacion.Contiguas   	 			= item['Contiguas'];
						Logica.Session.Operacion.EntradasTarjeta 			= item['Entradas'];
						Logica.Session.Operacion.ComisionesAplicadasTarjeta = item['ComisionesAplicadas'];

						RxModificacionReserva ( );
						Utils.NoWaiting ( );

						alert ( Literal['AvisoCambioImporte'] );

					}
				}

				break;
			case "Pago" :
				Utils.NoWaiting ( );

				if ( item['Error'] != "" )
				{
					if ( item['TiposPago'].length > 0 )
					{
						document.all.Panel.innerHTML = Contenidos.MostrarTiposPagoTarjeta ( item['TiposPago'] );	
						
						document.all.PanelPaginacion.innerHTML = '<br><br><center><a href="#" class="paginacion" onClick="ExecPago()"><< ' + Literal['Volver'] + '</a></center>';
						Utils.NoWaiting ( );
					}else
					{
						Accion.SetMensajeError ( item['Error'] , document.all.Panel );
						document.all.PanelPaginacion.innerHTML = '<br><br><center><a href="#" class="paginacion" onClick="ExecPago()"><< ' + Literal['Volver'] + '</a></center>';
						Utils.NoWaiting ( );
					}
				}else
				{

					Logica.Session.Operacion.FechaVenta   = item['Time'];
					Logica.Session.Operacion.IdOperacion  = item['IdOperacion'];
					Logica.Session.Operacion.IdAgrupacion = item['IdAgrupacion'];
					Logica.Session.Operacion.RefGlobal    = item['RefGlobal'];

					if ( Logica.ModoAgencia )
					{
						Logica.Session.Agencia.NombreUsuario = item['UsuarioAgencia'];
						Logica.Session.Agencia.Login  		 = item['LoginAgencia'];
						Logica.Session.Agencia.Passwd 		 = item['PasswdAgencia'];
					}


					document.all.bloqueIdiomas.innerHTML = "";

					if ( Logica.ModoAgencia )
					{
						document.all.SubPanel.innerHTML = Contenidos.DetalleOperacionAgencia ( );
					}else
					{
						document.all.SubPanel.innerHTML = Contenidos.DetalleOperacion ( DEFINE_HOME_TICKET , DEFINE_TICKET_REGALO , false , false );
					}
					Utils.NoWaiting ( );
				}
				
				break;
			case "Sermepa3DS" :

				if ( item['Error'] != "" )
				{
					Accion.SetMensajeError ( item['Error'] , document.all.Panel );
					document.all.PanelPaginacion.innerHTML = '<br><br><center><a href="#" class="paginacion" onClick="ExecPago()"><< ' + Literal['Volver'] + '</a></center>';
					Utils.NoWaiting ( );
				}else
				{
					Utils.Waiting ( );
					document.dataForm.entrada.value = item['Xml'];
					document.dataForm.action = item['Url'];
					document.dataForm.submit();
				}
				
				break;

			case "EntradasPendientes" :
				if ( item['Error'] != "" )
				{
					Accion.SetMensajeError ( item['Error'] , document.all.Panel );
					document.all.PanelPaginacion.innerHTML = '<br><br><center><a href="#" class="paginacion" onClick="ExecMenu(-1, \'menuMisEntradas\')"><< ' + Literal['Volver'] + '</a></center>';
					Utils.NoWaiting ( );
				}else
				{


					if ( item['DataBack'] == "CHECK_PAGO" )
					{
						var checkPago = true;
					}else
					{
						var checkPago = false;
					}
				


					document.all.TituloPanel.innerHTML = Literal['ResultadoMisCompras'];

					if ( item.length > 0 )
					{

						Contenidos.DefineCallBackFicha ( EnlaceFicha );
						Contenidos.DefineContenedorContenido ( document.all.Panel );

						Contenidos.DefineEncabezado( "" );

						Contenidos.DefineDatosPaginacion ( 15 , 1 );
						Contenidos.DefineContenido ( item );

						Contenidos.MostrarMisCompras ( checkPago );
						Utils.NoWaiting ( );
					}else
					{
						if ( checkPago )
						{
			
							ProcesarPago ( );
						}else
						{
							Accion.SetMensajeError ( Literal['ResultadoMisCompras1'] , document.all.Panel );
							Utils.NoWaiting ( );
						}
					}



				}

				break;
			case "DetalleOperacion" :
				if ( item['Error'] == "" )
				{

					Accion.DefineDatosDetalleOperacion ( item );

					Utils.NoWaiting ( );
					document.all.bloqueIdiomas.innerHTML = "";
					document.all.SubPanel.innerHTML = Contenidos.DetalleOperacion ( false , false, false, false );
					
				}else
				{
					alert ( item['Error'] );
					var datos = new Array ( );
					Logica.Procesar ( "Inicio" , datos );
				}
				break;
			case "DetalleOperacionHT" :
				if ( item['Error'] == "" )
				{

					Accion.DefineDatosDetalleOperacion ( item );

					Utils.NoWaiting ( );
					document.all.bloqueIdiomas.innerHTML = "";
					document.all.SubPanel.innerHTML = Contenidos.DetalleOperacion ( DEFINE_HOME_TICKET , DEFINE_TICKET_REGALO, false, false );
				}else
				{
					alert ( item['Error'] );

					var datos = new Array ( );
					Logica.Procesar ( "Inicio" , datos );
					
				}
				break;


			case "Oficinas" :

				ModalWindow.GetInfo ( item );	

				break;

			case "Imagen" :
				if ( item['Error'] != "" )
				{
					alert ( item['Error'] )
				}else
				{
					Logica.Session.IdImagenRobot = item['Id'];

					var url = Cfg.URL + "/GetImagen.php?DataBack=" + item['Id'];
					document.all.aRobot.src = url;
				}
				Utils.NoWaiting ( );
				break;

			case "TicketRegalo" :
				if ( item['Error'] != "" )
				{
					alert ( item['Error'] )
				}else
				{
//					if (confirm ( "El mensaje se ha enviado correctamente. ¿ Desea volver a la pagina de Inicio ?" )){
            if (confirm (Literal["FinTicketRegalo"])){
					   location = URL_LINK_MENU1;
          }
				}
				Utils.NoWaiting ( );
				break;

      case "Valoracion" :
        Utils.NoWaiting ( );
        ProcesaValoracionTotal(item);
        break;

			default :
				Utils.NoWaiting ( );
				break;
		}




	}






	function DefineFecha ( listaFechas )
	{
		// Utils.Debug ( "Dia Marcado [" + listaFechas[0] + "]" );
	}


	function EnlaceDestacado ( enlace )
	{

		var origen = /&#61/g
		enlace = enlace.replace ( origen , "=" );

	
		var datos = new Array ( );	

		var lista = enlace.split("&");		
		for ( var i=0; i < lista.length; i++ )
		{
			var partes = lista[i].split("=");
			if ( partes.length == 2 )
			{
				switch ( partes[0].toUpperCase() )
				{
					case "IDTIPOE" :
						datos['idTipoE'] = partes[1];
						break;
					case "IDRECINTO" :
						datos['idRecinto'] = partes[1];
						break;
					case "IDEVENTO" :
						datos['idEvento'] = partes[1];
						break;
					default :
						break;
				}
			}
		}


		datos['Nivel']     = "Buscador";

		Logica.Procesar ( "Buscador" , datos );

		
	}

	function ExecBuscador ( )
	{
		var dd = "";
		var mm = "";
		var aa = "";
		var provincia = "";
		var poblacion = "";

		var mesCompleto = document.all.checkBuscarMes.checked;
		var tipoE     = document.all.buscadorTipoE.value;
		var poblacion = document.all.buscadorPoblacion.value;
		var recinto   = document.all.buscarRecinto.value;
		var evento    = document.all.buscarEvento.value;


		if ( objCalendario.diaMarcado.length > 0 )
		{
			dd = objCalendario.diaMarcado[0];
			mm = dd.substring ( 4,6);
			aa = dd.substring ( 0,4);
			dd = dd.substring ( 6,8);
			
		}else
		{
			mm = document.all.calMesesAno.value;
			aa = document.all.calAnos.value;
		}
		if ( poblacion != "" )
		{
			if ( poblacion.charAt(0) == "@" ) 
			{
				poblacion = poblacion.substring (1 , poblacion.length );
				poblacion = poblacion.split("_");
				provincia = poblacion[0];
				poblacion = poblacion[1];
			}else
			{
				provincia = poblacion;
				poblacion = "";
			}
		}


		datos = new Array ( );
		if ( tipoE != "" )
		{
			datos['idTipoE'] = Logica.Contenido.TipoE[tipoE]['Id'];
		}
		if ( provincia != "" )
		{
			datos['idProvincia'] = provincia;
		}
		if ( poblacion != "" )
		{
			datos['idPoblacion'] = poblacion;
		}
		if ( recinto != "" )
		{
			datos['idRecinto'] = Logica.Contenido.Recintos[recinto]['Id'];
		}else
		{
			if ( Logica.ModoAgencia )
			{
				datos['idRecinto'] = oQstring.idRecinto;
			}

		}
		if ( evento != "" )
		{
			datos['tituloEvento'] = evento;
		}
		if ( mesCompleto )
		{
			datos['fechaInicio'] = aa + mm + "01";
			datos['fechaFin'] = aa + mm + "31";
		}else
		{
			if ( ( dd != "" ) && ( mm != "" ) && ( aa != "" ) )
			{
				datos['fechaInicio'] = "" + aa + mm + dd;
				datos['fechaFin']    = datos['fechaInicio'];
			}
		}
		datos['Nivel']    = "Buscador";

		Logica.Init ( );

		Logica.Procesar ( "Buscador" , datos );



	}
	function ExecMenu ( pos , idMenu )
	{

		if ( pos >= 0 )
		{
			idMenu = menu.Opciones[pos]['Id'];
		}else
		{
			for ( var i=0; i < menu.Opciones.length;i++ )
			{
				if ( menu.Opciones[i]['Id'] == idMenu )
				{
					pos = i;
					break;
				}
			}
		}

		switch ( idMenu )
		{
			case "menuInicio" :
				Utils.Waiting ( );
				var url = location.protocol;
				url += "//" + location.hostname;
				if ( location.port != "" )
				{
					url += ":" + location.port;
				}
				url += location.pathname;

				// top.location = url;


				document.dataForm.Idioma.value = ID_IDIOMA;
				document.dataForm.action = url;
				document.dataForm.target = "";
				document.dataForm.submit();


				Utils.NoWaiting ( );
				break;

			case "menuInicioAgencias" :


				var cadena = '<input type="hidden" name="loginAgencia" value="' + Logica.Session.Agencia.Login + '">';
				cadena += '<input type="hidden" name="passwdAgencia" value="' + Logica.Session.Agencia.Passwd + '">';
				cadena += '<input type="hidden" name="Nivel" value="Agencias">';

				document.dataForm.innerHTML = cadena;
				document.dataForm.submit();


				break;
			case "menuDestacados" :

				Utils.Waiting ( );
				Accion.MostrarDestacados ( );
				Utils.NoWaiting ( );
				break;

			case "menuEventos" :

				Utils.Waiting ( );
				document.all.TituloPanel.innerHTML = menu.Opciones[pos]['Txt'];

				Logica.Init ( );
				Accion.MostrarListaEventos ( Logica.Contenido.Eventos );
				Utils.NoWaiting ( );
				break;

			case "menuRecintos" :

				Utils.Waiting ( );
				document.all.TituloPanel.innerHTML = menu.Opciones[pos]['Txt'];
				Logica.Init ( );


				Accion.MostrarListaRecintos ( Logica.Contenido.Recintos );
				Utils.NoWaiting ( );
				break;

			case "menuRecogida":
				Utils.WindowOpen ( URL_MENU_RECOGIDA, "PopUp" );
				break;
			case "menuMisEntradas":
				document.all.TituloPanel.innerHTML = "";
				document.all.PanelPaginacion.innerHTML = "";
				document.all.Panel.innerHTML = Contenidos.MisCompras ( );
				if ( DEFINE_CONTROL_ROBOT )
				{
					Utils.Waiting ( )
					Accion.LoadImagenAntiRobot();
				}
				break;
			case "Sugerencias":

				Utils.WindowOpen ( URL_SUGERENCIAS , "VentaExterna" );
				break;

			case "comoFunciona":

				Logica.Procesar ( "ComoFunciona" , "" );

				break;
			case "avisoLegal":
				Utils.WindowOpen ( URL_AVISO_LEGAL, "PopUp" );
				break;
			case "condicionesGenerales":
				Utils.WindowOpen ( URL_CONDICIONES_GENERALES, "PopUp" );
				break;
			case "ayudaCVC":
				Utils.WindowOpen ( URL_AYUDA_CVC, "CVC" );
				break;
			case "linkMenu1":
				top.location = URL_LINK_MENU1;
				break;

			default :
				break;
		}
	}

	function EnlaceFicha ( datos )
	{
		switch ( datos['Nivel'] )
		{
			case "Destacado" :
		
				if ( datos['Enlace'] != "" )
				{
					if ( datos['Enlace'].substring ( 0 , 4 ) == "http" )
					{
						Utils.WindowOpen ( datos['Enlace'] , "VentaExterna" );
						
					}else
					{
						EnlaceDestacado ( datos['Enlace'] );
					}
				}
				break;
			case "Recinto" :
				// vamos a Eventos

				Utils.Waiting ( );

				Accion.SeleccionarRecinto ( datos );

				document.all.TituloPanel.innerHTML = SetTituloDinamico ( );

				if ( Logica.Session.Evento.Id == "" )
				{
					// var item = Utils.DefineObjetoContenidos ( );
					// Accion.MostrarListaEventos ( item['Eventos'] );

					var item = Utils.DefineObjetoContenidos ( );
					Accion.MostrarListaEventos ( item.Eventos );
				}else
				{
					Logica.Procesar ( "Sesiones" , "" );
				}

				Utils.NoWaiting ( );


				break;

			case "Evento" :
				// vamos a Sesiones

				Utils.Waiting ( );

				Accion.SeleccionarEvento ( datos );
				document.all.TituloPanel.innerHTML = SetTituloDinamico ( );



				if ( ( datos['Recinto'].length == 1 ) || ( Logica.Session.Recinto.Id != "" ) )
				{

					Accion.GoToCalendarioSesiones ( datos );

				}else
				{
					var listaRecintos = Logica.GetRecintosEvento ( Logica.Session.Evento.Id );
					Accion.MostrarListaRecintos ( listaRecintos );
					Utils.NoWaiting ( );
				}

				break;

			case "Sesion":

				Utils.Waiting ( );

				Accion.SeleccionarSesion ( datos );

				document.all.TituloPanel.innerHTML = SetTituloDinamico ( );

				if ( datos['UrlVentaExterna'] != "" )
				{
					Utils.WindowOpen ( datos['UrlVentaExterna'] , "VentaExterna" );
					Utils.NoWaiting ( );
				}else
				{
					Logica.Procesar ( "DetalleAforo" , "" );
				}

				break;

			case "Buscador" :
				Utils.Waiting ( );

				Accion.SeleccionarEvento ( datos );

				document.all.TituloPanel.innerHTML = SetTituloDinamico ( );

				// Logica.Procesar ( "Sesiones" , "" );
				Accion.GoToCalendarioSesiones ( datos );

				break;


			default :
				break;
		}



	}
					



	function SetTituloBuscador ( )
	{
		var titulo = '<br><a class="enlace" href="#" onClick="ExecMenu(-1,\'' + NivelInicial + '\')">Home</a>';
		titulo += '&nbsp;|&nbsp;';
		titulo += Literal['ResultadoBuscador'];
		return titulo;
	}
	function SetTituloDinamico ( )
	{
		var titulo = "";
		var separador = '&nbsp;|&nbsp;';

		if ( Logica.Session.TipoE.Nombre != "" )
		{
			titulo += '<a class="enlace" href="#" onClick="EnlaceMenuDinamico(\'TipoE\')">' + Logica.Session.TipoE.Nombre + '</a>';
		}
		if ( Logica.Session.Recinto.Nombre != "" )
		{
			( titulo != "" ) ? titulo += separador : titulo += "";
			titulo += '<a class="enlace" href="#" onClick="EnlaceMenuDinamico(\'Recinto\')">' + Logica.Session.Recinto.Nombre + '</a>';
		}
		if ( Logica.Session.Evento.Titulo != "" )
		{
			( titulo != "" ) ? titulo += separador : titulo += "";
			titulo += '<a class="enlace" href="#" onClick="EnlaceMenuDinamico(\'Evento\')">' + Logica.Session.Evento.Titulo + '</a>';
		}
		if ( Logica.Session.Sesion.Id != "" )
		{
			( titulo != "" ) ? titulo += separador : titulo += "";
			titulo += Logica.Session.Sesion.Fecha + " ";
			titulo += Logica.Session.Sesion.Hora;
		}


		return titulo;

	}
	function EnlaceMenuDinamico ( opc )
	{

		Logica.ClearInformacion ( opc );
		Utils.Waiting ( );

		switch ( opc )
		{
			case "TipoE":
				var pos = -1;
				for ( var i=0; i < Logica.Contenido.TipoE.length; i ++ )
				{
					if ( Logica.Contenido.TipoE[i]['Id'] == Logica.Session.TipoE.Id )
					{
						pos = i;
						break;
					}
				}
				if ( pos >= 0 )
				{
					ExecActividades ( pos );
				}
				break;
			case "Recinto":

				var item = Utils.DefineObjetoContenidos ( );
				Accion.MostrarListaEventos ( item.Eventos );

				break;

			case "Evento":

				var datos = new Array ( );
				datos['UseCalendario'] = Logica.Session.Evento.UseCalendario;
				datos['DesdeFecha']    = Logica.Session.Evento.DesdeFecha;
				datos['HastaFecha']    = Logica.Session.Evento.HastaFecha;

				Accion.GoToCalendarioSesiones ( datos );

				//Logica.Procesar ( "Sesiones" , "" );

				break;

			default :
				break;
		}

		document.all.TituloPanel.innerHTML = SetTituloDinamico ( );
		Utils.NoWaiting ( );
	}
	function ExecActividades ( pos )
	{
		Utils.Waiting ( );


		Logica.Init ( );

		var idTipoE = Logica.Contenido.TipoE[pos]['Id'];
		var item = Logica.Contenido.Eventos;
		var j = 0;

		var tipoE = new Array ( );
		for ( var i=0; i < item.length; i++ )
		{
			if ( item[i]['IdTipoE'] == idTipoE )
			{
				tipoE[j] = item[i];
				j++;
			}
		}


		document.all.TituloPanel.innerHTML = Logica.Contenido.TipoE[pos]['Nombre'];

		Contenidos.DefineDatosPaginacion ( FILAS_PROGRAMACION , COLS_PROGRAMACION );
		Contenidos.DefineTipoContenido ( "Evento" );
		Contenidos.DefineContenedorContenido ( document.all.Panel );
		Contenidos.DefineEncabezado( "" );
		Contenidos.DefineContenido ( tipoE );
		Contenidos.Mostrar ( );

		Utils.NoWaiting ( );

	}

	function PreparaDatosEncabezadoBuscador ( )
	{


		var tipoE       = document.all.buscadorTipoE.value;
		var mesCompleto = document.all.checkBuscarMes.checked;
		var poblacion   = document.all.buscadorPoblacion.value;
		var recinto     = document.all.buscarRecinto.value;
		var evento      = document.all.buscarEvento.value;
		var fecha       = "";


		if ( tipoE != "" )
		{
			tipoE = Logica.Contenido.TipoE[tipoE]['Nombre'];
		}
		if ( mesCompleto )
		{
			fecha = document.all.calMesesAno.value;
			fecha += "/" + document.all.calAnos.value;
		}else
		{
			if ( objCalendario.diaMarcado.length > 0 )
			{
				dd = objCalendario.diaMarcado[0];
				fecha = dd.substring ( 6,8) + "/" + dd.substring ( 4,6) + "/" + dd.substring ( 0,4);
			}
		}


		if ( poblacion != "" )
		{
			if ( poblacion.charAt(0) == "@" ) 
			{
				poblacion  = poblacion.substring (1 , poblacion.length );
				poblacion  = poblacion.split("_");
				var idProv = poblacion[0];
				var idPob  = poblacion[1];

				poblacion = Logica.Contenido.Provincias[idProv]['Poblaciones'][idPob];
			}else
			{
				poblacion = Logica.Contenido.Provincias[poblacion]['Nombre'];
			}
		}

		if ( recinto != "" )
		{
			recinto = Logica.Contenido.Recintos[recinto]['Nombre'];
		}

		var obj = new Object ( );
		obj.TipoE = tipoE;
		obj.Fecha = fecha;
		obj.Poblacion = poblacion;
		obj.Recinto = recinto;
		obj.Evento = Utils.XSS_Check ( evento );

		return obj;

	}
	function ClosePopUp ( )
	{
		Utils.NoWaiting ( );
	}

	function ExecPago ( )
	{
    //atca.43840.Main.ExecPago
    // Si se han perdido las entradas, porque el Navegador no soporta ventanas modales
    if (Logica.Session.Operacion.Entradas=='' && Logica.Session.EntradasNoModal!='')
      {
        Logica.Session.Operacion.Entradas = Logica.Session.EntradasNoModal;
      }
    ///atca.43840.Main.ExecPago
    //atca.45924 Error 1 ticket en no numerados
    if (Logica.Session.Operacion.Entradas=='' && Logica.Session.Entradas!='')
    {
      Logica.Session.Operacion.Entradas = Logica.Session.Entradas;
    }
    ///atca.45924 Error 1 ticket en no numerados
    
    if ( Logica.ModoAgencia )
		{
			var verGastos = false;
		}else
		{
			var verGastos = true;
		}
		document.all.PanelPaginacion.innerHTML = "";

		document.all.Panel.innerHTML = Contenidos.SetPantallaPagos ( );

		document.all.bloqueEncabezado.innerHTML = Contenidos.Encabezado;
    document.all.bloqueEntradas.innerHTML   = Contenidos.EntradasReservadas ( Logica.Session.Operacion.Entradas , verGastos );
    
		var cadena = "<b>";


		if ( Logica.Session.Sesion.VerFecha )
		{
			cadena += Logica.Session.Sesion.Fecha  + "&nbsp;|&nbsp;";
		}
		if ( Logica.Session.Sesion.VerHora )
		{
			cadena += Logica.Session.Sesion.Hora + " h.";
		}



		cadena += "&nbsp;&nbsp;&nbsp;";
		cadena += "&nbsp;&nbsp;&nbsp;";
		cadena += "&nbsp;&nbsp;&nbsp;";
		if ( Logica.Session.Bloque.MultiZona )
		{
			cadena += Logica.Session.Bloque.Zona + " - ";
		}
		if ( Logica.Session.Bloque.MultiBloque )
		{
			cadena += Logica.Session.Bloque.Bloque;
		}
		cadena += "</b>";
		document.all.bloqueFechaSesion.innerHTML   = cadena;


		document.all.bloqueCambioSesion.innerHTML  = Contenidos.EnlaceCambiar ( "CambioDatosReserva()" , Literal['Cambiar'] );


		if ( Logica.ModoAgencia )
		{
			document.all.bloqueTarjeta.innerHTML    = Contenidos.DatosPagoAgencia ( );
			document.all.bloqueOpciones.innerHTML   = '<br>' + Utils.SetBoton ( "bContinuar" , "SetPagoAgencia()" , "&nbsp;&nbsp;" + Literal['Continuar'] + "&nbsp;&nbsp;" );
		}else
		{
			document.all.bloqueTarjeta.innerHTML    = Contenidos.DatosTarjeta ( );
			document.all.bloqueOpciones.innerHTML   = '<br>' + Utils.SetBoton ( "bContinuar" , "ModificarReserva()" , "&nbsp;&nbsp;" + Literal['Continuar'] + "&nbsp;&nbsp;" );
		}
	}

	function GoToPaginaTipoE ( desde, hasta )
	{
		Accion.SetActividades ( Logica.Contenido.TipoE, document.all.bloqueActividades, desde , hasta );
	}

	function ModificarReserva ( )
	{
	
		var datos = Utils.ControlDatosObligatoriosPago ( true, false );
		if ( datos['rc'] )
		{

			Logica.Session.Pago.Tarjeta   = datos['Tarjeta'];
			Logica.Session.Pago.Caduca    = datos['Caduca'];
			Logica.Session.Pago.Cvc       = datos['Cvc'];
			Logica.Session.Pago.Nombre    = document.all.nombre.value.toUpperCase();
			Logica.Session.Pago.Tlf 	  = document.all.tlf.value;
			Logica.Session.Pago.Email 	  = document.all.email.value;
			Logica.Session.Pago.Boletines = datos['Boletines'];


			Utils.Waiting ( );
			Logica.Procesar ( "ModificarReserva" , "" );
			

		}else
		{
			alert ( datos['msg'] );
			if ( datos['obj'] )
			{
				datos['obj'].select();
			}
		}
		
		
	}
	function RxModificacionReserva ( )
	{

		if ( Logica.ModoAgencia )
		{
			var verGastos = false;
		}else
		{
			var verGastos = true;
		}

		document.all.bloqueEntradas.innerHTML   = Contenidos.EntradasReservadas ( Logica.Session.Operacion.EntradasTarjeta , verGastos );

		document.all.tarjeta0.readonly = true;
		document.all.tarjeta1.readonly = true;
		document.all.tarjeta2.readonly = true;
		document.all.tarjeta3.readonly = true;
		document.all.mmCaduca.readonly = true;
		document.all.aaCaduca.readonly = true;
		document.all.cvc.readonly = true;

		document.all.tarjeta0.disabled = true;
		document.all.tarjeta1.disabled = true;
		document.all.tarjeta2.disabled = true;
		document.all.tarjeta3.disabled = true;
		document.all.mmCaduca.disabled = true;
		document.all.aaCaduca.disabled = true;
		document.all.cvc.disabled = true;


		var comisiones    = Logica.Session.Bloque.Comisiones;
		var comisionesApl = Logica.Session.Operacion.ComisionesAplicadasTarjeta;

		for ( var i=0; i < comisiones.length; i++ )
		{
			var rc = false;
			for ( var j=0; j < comisionesApl.length; j++ )
			{
				if ( ( comisiones[i]['Id'] == comisionesApl[j]['Id'] ) && ( ( ( comisiones[i]['BinInicial'] == comisionesApl[j]['BinInicial'] ) && ( comisiones[i]['BinFinal'] == comisionesApl[j]['BinFinal'] ) ) || ( comisiones[i]['IdAgrupacion'] == comisionesApl[j]['IdAgrupacion'] ) ) )
				{
					rc = true;
				}
				
			}

			var obj = eval ( "document.all.comis_" + i );
			if ( rc )
			{
				obj.innerHTML = '&nbsp;&nbsp;&nbsp<img src="../static/web/img/flag.gif">';
			}else
			{
				obj.innerHTML = '&nbsp;&nbsp;&nbsp<img src="../static/web/img/noflag.gif">';
			}
		}



		var cadena = '<br>';
		cadena += Utils.SetBoton ( "bCancelar" , "CambiarTarjeta()" , "&nbsp;&nbsp;" + Literal['CambiarTarjeta'] + "&nbsp;&nbsp;" );
		cadena += "&nbsp;&nbsp;";
		cadena += Utils.SetBoton ( "bPagar" , "SetPago()" , "&nbsp;&nbsp;" + Literal['Terminar'] + "&nbsp;&nbsp;" );

		document.all.bloqueOpciones.innerHTML = cadena;
	}

	function SetPago ( )
	{
		var datos = new Array ( );
		Logica.Session.Pago.Nombre 	= document.all.nombre.value.toUpperCase();
		Logica.Session.Pago.Tlf 	= document.all.tlf.value;
		Logica.Session.Pago.Email 	= document.all.email.value;
		
		if ( DEFINE_ENVIO_OFICINA )
		{
			if ( document.all.checkOficina.checked )
			{
				Logica.Session.Operacion.Oficina.Envio = true;
			}
		}


		var datos = new Array ( );
		datos['Tarjeta']   = Logica.Session.Pago.Tarjeta;
		datos['idRecinto'] = Logica.Session.Recinto.Id;
		datos['idEvento']  = Logica.Session.Evento.Id;
		datos['DataBack']  = "CHECK_PAGO";
		datos['RefRecogida']  = "";
		datos['Localizador']  = "";
		datos['Validador']  = "";


		Utils.Waiting ( );

		Logica.Procesar ( "MisCompras" , datos );

	}




	function ProcesarPago ( )
	{
		var datos = new Array ( );
		datos['Tarjeta']   = Logica.Session.Pago.Tarjeta;
		datos['Caduca']    = Logica.Session.Pago.Caduca;
		datos['Cvc']       = Logica.Session.Pago.Cvc;
		datos['idReserva'] = Logica.Session.Operacion.IdReserva;
		datos['Importe']   = Logica.Session.Operacion.Importe;

		datos['Nombre']  = Logica.Session.Pago.Nombre;
		datos['Tlf']  	 = Logica.Session.Pago.Tlf;
		datos['Email']   = Logica.Session.Pago.Email;
		datos['Oficina'] = Logica.Session.Operacion.Oficina.Codigo;

		datos['TipoFormaPago'] = "";
		datos['Nivel'] = NivelPago;

		Utils.Waiting ( );
		Logica.Procesar( "Pago" , datos );
	}


	function SetPagoAgencia ( )
	{

		var datos = Utils.ControlDatosObligatoriosPago ( false , true );
		if ( datos['rc'] )
		{

			Logica.Session.Pago.Tarjeta 			 = "";
			Logica.Session.Pago.Caduca  			 = "";
			Logica.Session.Pago.Cvc     			 = "";
			Logica.Session.Pago.Nombre  			 = document.all.nombre.value;
			Logica.Session.Pago.Tlf 				 = document.all.tlf.value;
			Logica.Session.Pago.Email 				 = document.all.email.value;

			Logica.Session.Operacion.Oficina.Envio = false;


			var datos = new Array ( );
			datos['Tarjeta']   = "";
			datos['Caduca']    = "";
			datos['Cvc']       = "";
			datos['idReserva'] = Logica.Session.Operacion.IdReserva;
			datos['Importe']   = Logica.Session.Operacion.Importe;


			datos['idAgencia']     = Logica.Session.Agencia.Id;
			datos['loginUsuario']  = document.all.loginUsuarioAgencia.value;
			datos['passwdUsuario'] = document.all.passwdUsuarioAgencia.value;
			datos['Nivel'] = "Pago"


			Utils.Waiting ( );
			Logica.Procesar ( "Pago" , datos );
			

		}else
		{
			alert ( datos['msg'] );
			if ( datos['obj'] )
			{
				datos['obj'].select();
			}
		}

	}


	



	function CambiarTarjeta ( )
	{

		Logica.Session.Operacion.Importe = Logica.Session.Operacion.ImporteSinTarjeta

		document.all.bloqueEntradas.innerHTML   = Contenidos.EntradasReservadas ( Logica.Session.Operacion.Entradas );

		document.all.tarjeta0.readonly = false;
		document.all.tarjeta1.readonly = false;
		document.all.tarjeta2.readonly = false;
		document.all.tarjeta3.readonly = false;
		document.all.mmCaduca.readonly = false;
		document.all.aaCaduca.readonly = false;
		document.all.cvc.readonly = false;

		document.all.tarjeta0.disabled = false;
		document.all.tarjeta1.disabled = false;
		document.all.tarjeta2.disabled = false;
		document.all.tarjeta3.disabled = false;
		document.all.mmCaduca.disabled = false;
		document.all.aaCaduca.disabled = false;
		document.all.cvc.disabled = false;

		document.all.bloqueOpciones.innerHTML   = '<br>' + Utils.SetBoton ( "bContinuar" , "ModificarReserva()" , "&nbsp;&nbsp;" + Literal['Continuar'] + "&nbsp;&nbsp;" );

	}


	function CambioDatosReserva ( )
	{
		Logica.Procesar('AnularReserva','');
		Logica.Procesar('DetalleAforo','');
	}

	function MisCompras ( )
	{

		var datos = new Array ( );
		datos['Tarjeta']   	 = "";
		datos['idRecinto'] 	 = "";
		datos['idEvento']  	 = "";
		datos['DataBack']  	 = "";
		datos['RefRecogida'] = "";
		datos['Localizador'] = "";
		datos['Validador']   = "";
		datos['IdValidador'] = "";

		var ticketRegalo = "";

		var refRecogida  = document.all.refRecogida.value;

		if ( DEFINE_TICKET_REGALO )
		{
			ticketRegalo = document.all.ticketRegalo.value;
		}



		if ( DEFINE_CONTROL_ROBOT )
		{
			var validador    = document.all.validador.value;
			if ( validador == "" )
			{
				alert ( Literal['ErrorValidador'] );
				return false;
			}

			datos['Validador']   = validador;
			datos['IdValidador'] = Logica.Session.IdImagenRobot;
		}



		var rc = false;

		if ( document.all.tipoMisCompras[0].checked )
		{
			var info = Utils.ControlNumTarjeta ( );
			if ( info.rc )
			{
				rc = true;
				datos['Tarjeta']   = info['Tarjeta'];
			}else
			{
				datos['msg'] = info['msg'];
				datos['obj'] = info['obj'];
			}
		}

		if ( document.all.tipoMisCompras[1].checked )
		{
			if ( refRecogida != "" )
			{
				datos['RefRecogida']   = refRecogida
				rc = true;
			}else
			{
				datos['msg'] = Literal['ErrorRefRecogida'];
				datos['obj'] = document.all.refRecogida
			}
		}

		if ( DEFINE_TICKET_REGALO )
		{
			if ( document.all.tipoMisCompras[2].checked )
			{
				if ( ticketRegalo != "" )
				{
					datos['Localizador']   = ticketRegalo
					rc = true;
				}else
				{
					datos['msg'] = Literal['ErrorTicketRegalo'];
					datos['obj'] = document.all.ticketRegalo;
				}
			}
		}


		if ( rc )
		{
			Utils.Waiting ( );

			Logica.Procesar ( "MisCompras" , datos );

		}else
		{
			alert ( datos['msg'] );
			if ( datos['obj'] )
			{
				datos['obj'].select();
			}
		}
	
	}

	function CheckWindowButacas ( comprar, modal )
	{
    if ( ! modal )
		{
    	//atca.43840.Main CheckWindowButacas
      // ORIGINAL
      //winAforo.close();
      // NUEVO
       try {
        if (!Logica.Session.winAforoClosed)
        {
          //Antes de cerrar la ventana de seleccion de Butacas,
          //se recupera el objeto que contiene las Entradas
          Logica.Session.EntradasNoModal = Logica.Session.Operacion.Entradas;
          //atca.45924 Error 1 ticket en no numerados
          Logica.Session.Entradas = Logica.Session.Operacion.Entradas;
          ///atca.45924 Error 1 ticket en no numerados
          winAforo.close();
          Logica.Session.winAforoClosed = true;
        }


      } catch (e) {
        alert("//atca.43840.Main CheckWindowButacas close() EXCEPCION " + e.name + " - "+e.message);

      }
      ///atca.43840.Main CheckWindowButacas
		}


		if ( comprar )
		{
			if ( Logica.Session.Operacion.IdReserva != "" )
			{	
				ExecPago ( );
			}	
		}else
		{
			if ( Logica.Session.Operacion.IdReserva != "" )
			{	
        Utils.Waiting ( );

				Logica.Procesar ( "AnularReserva" , "" );
				Logica.ClearInformacion ( "Operacion" );
				//Logica.Session.Operacion.IdReserva = "";
			}	
		}
         Utils.NoWaiting ( );


	}
	function ControlEnvioOficina ( )
	{
		if ( document.all.checkOficina.checked )
		{
			if ( Logica.Session.Operacion.Oficina.Envio )
			{
				document.all.bloqueOficinaSeleccionada.innerHTML = Contenidos.DatosOficina( );
			}else
			{
				Utils.AbrirSeleccionOficinas ( );
			}
		}else
		{
			document.all.bloqueOficinaSeleccionada.innerHTML = "";
		}
	}
	function CheckSeleccionOficina ( )
	{
		if ( ! PERMITE_MODAL )
		{
			winAforo.close();
		}

		document.all.checkOficina.checked = Logica.Session.Operacion.Oficina.Envio;
		ControlEnvioOficina ( );
	}

	function DemoSermepa ( )
	{
		Logica.Session.Pago.Tarjeta 	   = "4548812049400004";
		Logica.Session.Pago.Caduca 		   = "1212";
		Logica.Session.Pago.Cvc 		   = "123";
		Logica.Session.Operacion.IdReserva = "98765";
		Logica.Session.Operacion.Importe   = "125";
		
		var datos = new Array ( );
		datos['Nivel'] = "Sermepa3DS";

		Logica.Procesar( "Pago" , datos );

		

	}

	function CambioFechaCalendarioEvento ( fecha )
	{
		Logica.Procesar ( "CalendarioEvento" , fecha );
	}

	function BuscarSesionesEvento ( )
	{
		var desde = "";
		var hasta = "";
		var rc = false;

		if ( document.all.mesCompletoE.checked )
		{
			desde = objCalendarioE.fecha + "01";
			hasta = objCalendarioE.fecha + "31";
			rc = true;
		}else
		{
			if ( objCalendarioE.diaMarcado.length == 1 )
			{
				desde = objCalendarioE.diaMarcado[0];
				hasta = objCalendarioE.diaMarcado[0];
				rc = true;
			}

		}
		if ( rc )
		{

			Logica.Session.Calendario.FechaDesde = desde;
			Logica.Session.Calendario.FechaHasta = hasta;

			Logica.Procesar ( "Sesiones" , "" );

			

		}else
		{
			alert ( Literal['ErrorSelecDia'] );
		}

	}

  // (fbp) valoraciones
  function ProcesaValoracionTotal(datos)
  {
    var idEvento = datos["idEvento"];
    var valoracion = datos["ValoracionTotal"];
    var numValoraciones = datos["numValoraciones"];

    var indice = window.Contenidos.DaIndiceEvento(idEvento);
    if (indice != -1)
    {
      window.Contenidos.Item[indice].Valoracion = valoracion;
      window.Contenidos.Item[indice].numValoraciones = numValoraciones;

      var strNumValoraciones = numValoraciones == null || numValoraciones == ""  ?  ""  :  " ( " + numValoraciones + " )";
      window.estableceValoracionEvento(idEvento, valoracion,  strNumValoraciones)
    }
  }
