function Flickr(id)
{
	//-----------------------------------------------------------------------------------------------------------
	// Member variables
	//-----------------------------------------------------------------------------------------------------------

	// Public
	this.id = id;
	this.feed = null;
	this.currentPage = 1;
	this.maxPages = 8;
	this.numItemsPerPage = 16;
	this.containerId = 'photos';
	this.thumbWidth = 75;
	this.thumbHeight = 75;
	this.pagingHtml = '';
	
	// Private
	var mNumPages = 1;
	
	//-----------------------------------------------------------------------------------------------------------
	// Public functions
	//-----------------------------------------------------------------------------------------------------------

	this.showFeed = showFeed;
	this.showPage = showPage;
	
	//-----------------------------------------------------------------------------------------------------------
	// Functions
	//-----------------------------------------------------------------------------------------------------------
	
	function showFeed(data)
	{
		this.feed = data.items || [];
		mNumPages = Math.ceil(this.feed.length / this.numItemsPerPage);
		this.showPage(1);
	}
	
	function showPage(page)
	{
		if (page > mNumPages)
		{
			return;
		}
		
		this.currentPage = page;
		var html = '';

		var firstItem = (this.numItemsPerPage * (page - 1));
		var i;
		for (i = firstItem; i < firstItem + this.numItemsPerPage; i++)
		{
			if (i >= this.feed.length)
			{
				break;
			}
			
			var item = this.feed[i];
			
			html += '<div class="photo">'
				+ '<a href=' + item.link + ' target="_blank">'
				+ '<img class="image" src="' + BASE + "/thumbnails/phpThumb.php?src=" + item.media.m
					+ '&w=' + this.thumbWidth + '&h=' + this.thumbHeight + '&zc=1" />'
				+ '</a>\n'				
				+ '</div>\n';
		}
		
		$('#' + this.containerId).html('<div class="photos">' + html + '</div>');
		
		// Add paging
		// TODO refactor this code
		if (this.feed.length > this.numItemsPerPage)
		{
			var mPaging = new Paging(id);

			mPaging.numPages = mNumPages;
			mPaging.maxPages = this.maxPages;
			mPaging.numItemsPerPage = this.numItemsPerPage;
			mPaging.currentPage = this.currentPage;
			mPaging.containerId = this.containerId;
			mPaging.pagingHtml = this.pagingHtml;
			
			mPaging.addPaging();
		}
	}
}
