
/////////////////////////////////////////////////////////////////////////////////////////////////////
/////							CLASE IMAGEN										////
///////////////////////////////////////////////////////////////////////////////////////////////////

function Imagen(_src,_thumb,_mini,_titulo,_descripcion) {

	this.src 			= _src;
	this.thumb			= _thumb;
	this.mini			= _mini;
	this.titulo 		=_titulo;
	this.descripcion	=_descripcion;
}

//getters
Imagen.prototype.getSrc = function()
{
  return (this.src);
}
Imagen.prototype.getThumb = function()
{
  return (this.thumb);
}
Imagen.prototype.getMini = function()
{
  return (this.mini);
}
Imagen.prototype.getTitulo = function()
{
   return (this.titulo);
}
Imagen.prototype.getDescripcion = function()
{
   return (this.descripcion);
}


//setters
Imagen.prototype.setSrc = function(_src)
{
	this.src = _src;
}
Imagen.prototype.setThumb = function(_thumb)
{
  this.thumb  = _thumb;
}
Imagen.prototype.setMini = function(_mini)
{
	this.mini = _mini;
}
Imagen.prototype.setDescripcion = function(_descripcion)
{
	this.descripcion = _descripcion;
}
/*
img = new Imagen();
img.setSrc("esta es la ruta");
alert(img.getSrc());
*/

/////////////////////////////////////////////////////////////////////////////////////////////////////
/////							CLASE PROYECTO									////
///////////////////////////////////////////////////////////////////////////////////////////////////


function Proyecto(_id,_titulo,_descripcion) {

	this.lista_imagenes = [];
	this.id	= _id;
	this.pos_thumb = 0;
	this.pos_imagen = 0;
	this.titulo  = _titulo;
	this.descripcion = _descripcion;
}
//setter
Proyecto.prototype.setId = function(_id)
{
	this.id = _id;
}
//GETER
Proyecto.prototype.getId = function()
{
	return this.id;
}
Proyecto.prototype.addImagen = function(_imagen)
{
	this.lista_imagenes.push(_imagen);
}
Proyecto.prototype.getImagen = function ()
{
		return this.lista_imagenes[0];
}
Proyecto.prototype.getImagenByPos = function (_pos )
{
		return this.lista_imagenes[_pos];
}
Proyecto.prototype.devuelveSrcThumb = function()
{
		return this.lista_imagenes[0].getThumb()+"?x="+Math.random();
}
Proyecto.prototype.getNumImages = function()
{
		return this.lista_imagenes.length;
}
Proyecto.prototype.getPrevThumbBySrc = function(_src)
{
	
	for ( var i in this.lista_imagenes)
	{
			if ( _src.indexOf(this.lista_imagenes[i].getThumb()) != -1  )
			{
					if ( i == 0)
						return this.lista_imagenes[this.lista_imagenes.length-1].getThumb();
					else
						return this.lista_imagenes[i-1].getThumb();
			}
	}
}
Proyecto.prototype.getPrevThumbByPos = function()
{
	
	if ( this.pos_thumb == 0 )
	{
			this.pos_thumb = this.lista_imagenes.length -1;
			return this.lista_imagenes[this.pos_thumb].getThumb();
	}
	else
	{
		this.pos_thumb = this.pos_thumb -1;
		return this.lista_imagenes[this.pos_thumb ].getThumb();
	}
}
Proyecto.prototype.getPrevImagenByPos = function()
{
	
	if ( this.pos_imagen == 0 )
	{
			this.pos_imagen = this.lista_imagenes.length -1;
			return this.lista_imagenes[this.pos_imagen];
	}
	else
	{
		this.pos_imagen = this.pos_imagen -1;
		return this.lista_imagenes[this.pos_imagen ];
	}
}
Proyecto.prototype.getNextThumbByPos = function()
{
	
	if ( this.pos_thumb ==  this.lista_imagenes.length -1)
	{
			this.pos_thumb = 0;
			return this.lista_imagenes[this.pos_thumb].getThumb();
	}
	else
	{
		this.pos_thumb = this.pos_thumb +1;
		return this.lista_imagenes[this.pos_thumb ].getThumb();
	}
}
Proyecto.prototype.getNextImagenByPos = function()
{
	
	if ( this.pos_imagen ==  this.lista_imagenes.length -1)
	{
			this.pos_imagen = 0;
			return this.lista_imagenes[this.pos_imagen];
	}
	else
	{
		this.pos_imagen = this.pos_imagen +1;
		return this.lista_imagenes[this.pos_imagen ];
	}
}
Proyecto.prototype.getNextThumbBySrc = function(_src)
{
	
	for ( var i in this.lista_imagenes)
	{
			if ( _src.indexOf(this.lista_imagenes[i].getThumb()) != -1  )
			{
			
					if ( i == this.lista_imagenes.length-1)
						return this.lista_imagenes[0].getThumb();
					else
						return this.lista_imagenes[++i].getThumb();
			}
	}
}
Proyecto.prototype.getMiniList	 = function()
{
		var minis = [];
		for ( var i = 0 in this.lista_imagenes )
			minis.push(this.lista_imagenes[i].mini);
		return minis;
}
Proyecto.prototype.devuelveArrayImagenesParaPrecarga = function ()
{
	var lista = [];
	for ( var j in this.lista_imagenes)
	{
		lista.push(this.lista_imagenes[j].getSrc());
	}
	return lista;
}

/*
Proyecto.prototype.getDescripcion = function()
{
  return (this.descripcion);
}
Proyecto.prototype.getTitulo = function()
{
  return (this.titulo);
}
*/
/////////////////////////////////////////////////////////////////////////////////////////////////////
/////							CLASE GESTOR										////
///////////////////////////////////////////////////////////////////////////////////////////////////

function Gestor()
{
		this.lista_proyectos 	= [];
		this.lista_thumbs		= [];
}
Gestor.prototype.addProyecto = function (_proyecto)
{
	this.lista_proyectos.push(_proyecto);
}
Gestor.prototype.getProyecto = function(_id)
{
		return this.lista_proyectos[0];
}
Gestor.prototype.getNumProyectos = function()
{
		return this.lista_proyectos.length;
}
Gestor.prototype.getArrayThumbs = function()
{
		if ( this.lista_thumbs.length == 0)
		{
			for ( var i = 0 in this.lista_proyectos )
			{
				this.lista_thumbs.push(this.lista_proyectos[i].devuelveSrcThumb());
			}
		}
		return  this.lista_thumbs;
}
Gestor.prototype.getIdProyecto = function(num_proyecto)
{
		//return typeof(this.lista_proyectos[num_proyecto]);
		if( typeof(this.lista_proyectos[num_proyecto]) != 'undefined')
		return this.lista_proyectos[num_proyecto].getId();
}
Gestor.prototype.getDescripcionProyecto = function (_id )
{
		for ( var i = 0 in this.lista_proyectos ) 
		{
				if ( this.lista_proyectos[i].getId() == _id )
					return this.lista_proyectos[i].descripcion;
		}
}
Gestor.prototype.getTituloProyecto = function (_id )
{
		for ( var i = 0 in this.lista_proyectos ) 
		{
				if ( this.lista_proyectos[i].getId() == _id )
					return this.lista_proyectos[i].titulo;
		}
}
Gestor.prototype.getProyectoById = function (_id)
{
		for ( var i = 0;i<this.lista_proyectos.length;i++ ) 
		{
				if ( this.lista_proyectos[i].getId() == _id )
					return this.lista_proyectos[i];
		}
}
/*
var img = new Imagen();
img.setSrc("toma ya");
var p = new Proyecto();
p.addImagen(img);
var g = new Gestor();
g.addProyecto(p);
alert(g.getProyecto().getImagen().getSrc())
*/





