//---------------------------------------------------------------
// Funciones y objetos para el control de los eventos JavaScript
//---------------------------------------------------------------

function Evento(funcion)
{
	this.funcion = funcion;
	this.realizado = false;
}

var eventos=new Array;
var numeroEventos=0;
var reintentos =0;
var timerId =null;

function lanzarEventos()
{
	if (reintentos<5)
	{
		for(i=0;i<numeroEventos;i++)
		{     
			if (!eventos[i].realizado)
			{
				
								
				if (typeof eventos[i].funcion=="function")				
					eventos[i].funcion();
				else
					eval(eventos[i].funcion);
											
				eventos[i].realizado = true;                          
			}
		}
		timerId = setTimeout("lanzarEventos()",1400);
	}
	else
	{
		clearTimeout(timerId);
	}        
	reintentos++;
}

function AnotarEvento(funcion){
	var evento = new Evento(funcion);        
	eventos[numeroEventos]=evento;
	numeroEventos++;
}      


var eventosFinalizacion =new Array;			
var numeroEventosFinalizacion=0;

function LanzarEventosFinalizacion()
{   
	
	for(i=0;i<numeroEventosFinalizacion;i++)
	{
		eval(eventosFinalizacion[i]);
	}      
}
function AnotarEventoFinalizacion(funcion)
{
	eventosFinalizacion[numeroEventosFinalizacion]=funcion;
	numeroEventosFinalizacion++;
}


//------------------------------------------------------
//------------------------------------------------------

