// VARIABLES CONTROL OBJETOS
Obj_List = new Object(); //Contendrá la colección de objetos
var IndiceObj = 0; //Apunta al último objeto
//FUNCIONES Y UTILIDADES
CreaLink=function(texto,enlace){document.write(texto.link(enlace))}
function TimeOut(funcion,tiempo){//setTimeout redefinido para objetos
setTimeout('Obj_List['+this.id_Obj+'].'+funcion,tiempo)}
function Intervalo(funcion,tiempo){//setInterval redefinido para objetos
this.flashing=setInterval('Obj_List['+this.id_Obj+'].'+funcion,tiempo) //flashing =ID del intervalo a destruir}
}
function isDefined(variable) {
return (typeof(window[variable]) == "undefined")?  false: true;}
function BuscaID(nom){ //Busca el objeto que se identifica con ese nombre
return document.getElementById(nom)}
function DameID(nom){//Nos da una ID no repetida en la hoja
var Key=''
var SubKey
if (arguments.length>0) Key=nom
do { SubKey=Math.round(Math.random()*10000) } //10000 identidades para nom
while (BuscaID(Key+SubKey)); //Bucle de busqueda por si existe
return Key+SubKey}
linea=function(texto){document.write(texto+'<br />')}
Opacidad=function(id,valor){//Valor de 0..1 0=invisible 1=visible total
	var obj=BuscaID(id)
	if (obj) {obj.style.filter='alpha(opacity='+(valor*100)+')'; //En DIV
	obj.style.MozOpacity=valor;
	obj.style.opacity=valor}}
//************ EL OBJETO BASE ***************
function ObjetoBase(){//Creacion del objeto base
IndiceObj++ //Incrementamos el indice
this.id_Obj= IndiceObj //Identificador para el objeto o posición en el array de objetos
Obj_List[IndiceObj]=this; // La instancia se guarda a sí misma en la colección
this.flashing= null //Id de Intervalo
this.Run = null //Función de ejecución
//Funciones conflictivas de temporización o llamadas así misma
this.Intervalo = Intervalo
this.TimeOut = TimeOut}

