var Gallery = new Class({
	
	Implements: Options,
	
	options:
	{
		
	},
	
	__container: 	false,
	__thumbs: 		false,
	__bigImage: 	false,
	__allContainersFound: false,
	
	initialize: function(options)
	{
		this.setOptions(options);
		this.__getContainer();
		this.__getThumbs();
		this.__getBigImage();
		
		if(this.__container && this.__thumbs && this.__bigImage)
		{
			this.__allContainersFound = true;
			this.__setEvents();
		}
	},
	
	__getContainer: function()
	{
		var content = $('content');
		
		if(content)
			var container = content.getElement('.gallery');
		else
			var container = false;

		if(container)
		{
			this.__container = container;
		}
	},
	
	__getThumbs: function()
	{
		if(this.__container)
		{
			var thumbs = this.__container.getElement('.thumbs');
			this.__thumbs = thumbs;
		}
	},
	
	__getBigImage: function()
	{
		if(this.__container)
		{
			var bigImage = this.__container.getElement('.bigImage');
			this.__bigImage = bigImage;
		}
	},
	
	__setEvents: function()
	{
		if(this.__allContainersFound == true)
		{
			var lis = this.__thumbs.getElements('li');
			lis.each(function(item, index){
				var thumb = item.getElement('img');
				var text = item.getElement('span').get('html');
				
				var src = thumb.getProperty('src').split('/thumb/');
				var newSrc = src[0]+'/large/'+src[1];
				item.addEvent('click', function(){
					var myImage = new Asset.image(newSrc, {});
					var div = new Element('div', {
						'class': 'description',
						'html': text
					});

					this.__bigImage.empty();
					myImage.inject(this.__bigImage);
					div.inject(this.__bigImage);
					
				}.bind(this));
			}.bind(this));
		}
	}
});
