// Archivo JScript
/*
 * @class
 * @param {String} nombre El nombre del control
 * @param {String} id El identificador del control
 * @param {Element} o El objeto
 * @param {String} tipo El tipo de objeto
 */
function Control(/*String*/nombre,/*String*/id,/*Element*/o,/*String*/tipo)
{
	this.id=id;
	this.o=o;
	this.tipo=tipo;
	this.nombre=nombre;
}
/*
 * @class
 */
function Controlador()
{
    this.Controles=new Array();
    this.RegistrarControl=function (id,nombre,tipoControl)
	{
		this.Controles.push(new Control(nombre,id,Funcion.GetElementById(id),tipoControl))
	};
	/*
	 * Registra cada objeto directamente sin utilizar la clase Control.
	 * Por lo anterior se debe iterar sobre el atributo Controles.
	 * @param o Es el objeto que se va a registrar.
	 */
    this.RegistrarControl2=function (o)
	{
		this.Controles.push(o);
	};
    /*
     * @return {Element}
     */
    this.EncontrarControl=function (nombre)
	{
		for(var i=0;i<this.Controles.length;i++)
		{
			if(this.Controles[i].nombre==nombre)
				return this.Controles[i].o;
		}
	    return null;
	};
    this.EncontrarControlPorTipo=function (nombre,tipo)
	{
		var o=null;
		for(var i=0;i<this.Controles.length;i++)
		{
			if(this.Controles[i].nombre==nombre&&this.Controles[i].tipo==tipo)
			{
				o=this.Controles[i].o;
				break;
			}
		}
		//alert("Desde js "+o+" \nBuscando\nnombre: "+nombre+"\ntipo: "+tipo);
	    return o;
	};
    this.RegistrarControlObj=function (o,i,tipoControl)
	{
		var id="No definida!";
	    if(typeof(o.id)!="undefined")
	        id=o.id;
		this.Controles.push(new Control(i,id,o,tipoControl));
	};
    this.ExisteObjetoControl=function (o)
	{
	
		for(var i=0;i<this.Controles.length;i++)
			if(this.Controles[i].o==o)
				return true;
	    return false;
	};
    this.EncontrarControlesPorTipo=function (tipoControl)
	{
		var ControlesR=new Array();
		var j=0;
		for(var i=0;i<this.Controles.length;i++)
			if(this.Controles[i].tipo==tipoControl)
				ControlesR.push(this.Controles[i].o);
		return ControlesR;
	};
	this.EncontrarControlesObjPorTipo=function (tipoControl)
	{
		var ControlesR=new Array();
		var j=0;
		for(var i=0;i<this.Controles.length;i++)
			if(this.Controles[i].tipo==tipoControl)
				ControlesR.push(this.Controles[i]);
		return ControlesR;
	};
}





