/*

	jQuery.bva_photohandler_flickr
	
	Boy van Amstel - Copyright 2009
	http://www.boyvanamstel.nl

*/

jQuery.bva_photohandler_flickr = 
{
	full_url : null
	,
	image_size : null
	,
	build : function(args)
	{
		var obj = this;
		
		var plugin = jQuery.bva_photohandler_flickr;
		
		var settings = {
			user_id: "23353282%40N05",
			tags: "fotolog",
			image_size: "medium",
			api_key: "b4078a0d636861bf5b51cd0a2da4c1cf",
			api_url: "http://api.flickr.com/services/rest/",
			api_method: "flickr.photos.search",
			api_format: "json"
		};
		if(args) {
			jQuery.extend(settings, args);
		}
		
		plugin.full_url = 
			settings.api_url + 
			"?method=" + settings.api_method + 
			"&api_key=" + settings.api_key + 
			"&user_id=" + settings.user_id + 
			"&tags=" + settings.tags + 
			"&format=" + settings.api_format;
		
		plugin.image_size = settings.image_size;
		
		return plugin;
	}
	,
	getUrl : function()
	{
		return jQuery.bva_photohandler_flickr.full_url;
	}
	,
	getImageSize : function()
	{
		return jQuery.bva_photohandler_flickr.image_size;
	}
	,
	getPreviews : function(obj, url, page, per_page)
	{		
		jQuery.getJSON(url + "&page=" + page + "&per_page=" + per_page + "&jsoncallback=?", function(data)
		{	
			page = data.photos.page;
			pages = data.photos.pages;
			
			var photoArray = new Array();
			jQuery.each(data.photos.photo, function(i,item)
			{
				var photo = new jQuery.bva_photohandler.Photo();
				photo.id = item.id;
				photo.thumbnail = "http://farm" + item.farm + ".static.flickr.com/" + item.server + "/" + item.id + "_" + item.secret + "_s.jpg";
				photo.medium = "http://farm" + item.farm + ".static.flickr.com/" + item.server + "/" + item.id + "_" + item.secret + ".jpg";
				photo.large = "http://farm" + item.farm + ".static.flickr.com/" + item.server + "/" + item.id + "_" + item.secret + "_b.jpg";
				photo.title = item.title;
				photoArray[i] = photo;
 			});	
			jQuery.bva_photohandler.onGetPreviews(obj, {
												photos : photoArray, 
												current_page : page, 
												total_pages : pages
												});
		});	
	}		
};

jQuery.fn.extend
({
	bva_photohandler_flickr : jQuery.bva_photohandler_flickr.build
});
