function PaginatedGallery(elem, page, width)
{
	if(!elem) return;
	
	elem.scroller = elem.select('.pagination_scroller')[0];
	elem.pagination_window = $(elem).select('.pagination_window')[0];
	elem.curPage = page;
	elem.pageWidth = width;
	elem.maxPage = $(elem).select('.pagination_page').length;

	elem.MoveGallery = function(page) 
	{

		if(page > elem.maxPage)
			page = 1;
			
		if(page < 1)
			page = elem.maxPage;			
		
		var pos = -1 * ((elem.pageWidth * page) - (elem.pageWidth));
		//elem.scroller.setStyle({ left: '-' + pos + 'px' });
		new Effect.Move(elem.scroller, { x: pos, y: 0, mode: 'absolute' });

		elem.curPage = page;
		
		elem.select('.pagination_page').invoke('removeClassName', 'selected');
		$(elem.select('.pagination_page')[page-1]).addClassName('selected');
	}
	
	elem.NextPage = function()
	{
		var page = elem.curPage + 1;
		elem.MoveGallery(page);
	}
	
	elem.PrevPage = function()
	{
		var page = elem.curPage - 1;
		elem.MoveGallery(page);
	}
	
		
	elem.PageClick = function(e)
	{
		e.stop();
		var page = parseInt(this.readAttribute("data"));

		elem.MoveGallery(page);
	}
	
	elem.NextClick = function(e)
	{

		e.stop();
		elem.NextPage();
	}
	
	elem.PrevClick = function(e)
	{
		e.stop();
		elem.PrevPage();
	}
	
	elem.select('.pagination_page').invoke('observe', 'click', elem.PageClick);
	elem.select('.pagination_next').invoke('observe', 'click', elem.NextClick);
	elem.select('.pagination_prev').invoke('observe', 'click', elem.PrevClick);
	
	
	
}
