var Thumbs = Class.create({
	initialize: function(data, thumbClass, url)
	{
  		this.data = data;
  		this.thumbClass = thumbClass;
  		this.url = url;
  		this.thumbs = [];
  	},
  	
  	init: function(target)
  	{
  		
  		if(this.data.gallery)
  		{
  			for (var i = 0; i<this.data.gallery.items.length; i++)
			{
				var id = i;
				var thumb = this.data.gallery.items[i].thumb;
				var link = this.data.gallery.items[i].link;
				var desc = this.data.gallery.items[i].description;
				
				this.thumbs[i] = new Thumb(id, thumb, desc, this.thumbClass, this.url);
				this.thumbs[i].init(target);
			}
  		}
    }
});

var Thumb = Class.create({
	initialize: function(id, link, desc, cl, url)
	{
  		this.id = id;
  		this.link = link;
  		this.desc = desc;
  		this.cl = cl;
  		this.url = url;
  		this.div = new Element('div', {'id': 'thumb_'+this.id, 'class': this.cl});
  	},
  	
  	init: function(target)
  	{
  		Element.extend(this.div);
    	document.getElementById(target).appendChild(this.div);
    	
    	var a = new Element('a', {'href': this.url+'&image='+this.id});
    	
    	var img = new Element('img', {'src': this.link, 'alt': this.desc, 'border': 'none'});
    	
    	a.update(img)
    	
  		this.div.update(a);
    }
});

var Image = Class.create({
	initialize: function(id, link, desc, cl, url, total)
	{
		this.id = id;
  		this.link = link;
  		this.desc = desc;
  		this.cl = cl;
  		this.div = new Element('div', {'id': 'image_'+this.id, 'class': this.cl});
  		this.url = url;
  		this.total = total;
  		this.prev = new Element('div', {'id': 'prev', 'class': 'backButton'});
  		this.next = new Element('div', {'id': 'next', 'class': 'nextButton'});
	},
	
	init: function(target)
	{
		Element.extend(this.div);
    	document.getElementById(target).appendChild(this.div);
    	document.getElementById(target).appendChild(this.prev);
    	document.getElementById(target).appendChild(this.next);
    	
    	var img = new Element('img', {'src': this.link, 'alt': this.desc, 'border': 'none'});
    	
  		this.div.update(img);
  		
  		var current = parseInt(this.id);
  		
  		if(current == this.total-1)
  		{
  			var next = 0;
  		}else{
  			var next = current+1;
  		}
  		
  		if(current == 0)
  		{
  			var prev = this.total-1;
  		}else{
  			var prev = current-1;
  		}
  		
  		var preva = new Element('a', {'href': this.url+'&image='+prev}).update('Previous');
  		var nexta = new Element('a', {'href': this.url+'&image='+next}).update('Next');
  		
  		$('prev').update(preva);
  		$('next').update(nexta);
	}
})