(function($) {
	$.picasa = {
		defaults : {
			user		: "ivan.bozhanov",
			imgsize		: 640,
			thumbsize	: '48c'
		},
		instances : { },
		show_albums : function (container, opts) {
			container.children('.picasa_gallery').hide();
			if(container.children(".picasa_albums").size() == 0) {
				var $pa = $('<div class="picasa_albums"></div>');
				$.ajax({
					type:		'GET',
					url:		"http://picasaweb.google.com/data/feed/api/user/" + opts.user + "?kind=album&alt=json&thumbsize=" + opts.thumbsize,
					dataType:	"jsonp",
					cache:		true,
					success:	function(data) {
						var albums	= data["feed"]["entry"];
						var str = "";
						$.each(albums, function (i) {
							str  = "<a class='image' href='#/" + data["feed"]["entry"][i]["gphoto$id"]["$t"] + "' rel='" + data["feed"]["entry"][i]["gphoto$id"]["$t"] + "' title='" + data["feed"]["entry"][i]["title"]["$t"] + "'>";
							str += "<div class='img' style='background-image:url(" + data["feed"]["entry"][i]["media$group"]["media$thumbnail"][0]["url"] + ")'>&nbsp;</div>";
							str += "<p>" + data["feed"]["entry"][i]["title"]["$t"] + "</p>";
							str += "</a>";
							$pa.append(str);
						});
						container.children().not(".picasa_gallery").remove();
						container.append($pa).find(".image p").each(function() {
							if(this.offsetHeight < 20) this.style.marginTop = "18px";
							else if(this.offsetHeight < 40) this.style.marginTop = "9px";
							else this.style.marginTop = "0px";
						}).parent().bind("click", function () { $.picasa.show_album(container, opts, $(this).attr("rel")); });
					}
				});
			}
			else {
				container.children('.picasa_albums').show();
			}
		},
		show_album : function (container, opts, u, image_id) {
			var $pg = container.find(".picasa_gallery[rel=" + u + "]");
			if($pg.size() > 0) { 
				container.find(".picasa_albums, .picasa_gallery").hide();
				$pg.show();
			}
			else {
				var $pg = $("<div class='picasa_gallery' rel='" + u + "'></div>");
				$pg.html("<p>&nbsp;</p><p>&nbsp;</p><p style='text-align:center;'>Галерията се зарежда ...</p><p>&nbsp;</p><p>&nbsp;</p>");
				container.children().not(".picasa_albums, .picasa_gallery").remove();
				container.find(".picasa_albums, .picasa_gallery").hide().end().append($pg);
				var uu = "http://picasaweb.google.com/data/feed/api/user/" + opts.user + "/albumid/" + u + "/?kind=photo&alt=json&thumbsize=" + opts.thumbsize + "&max-results=100000000";
				$.ajax({
					type: 'GET',
					url: uu,
					success: function (data) {
						// $(".post > h2").html("<a href='#gallery' onclick='this.blur(); $.picasa.instances[\"" + container.attr("id") + "\"].show_albums();'>Снимки</a>&nbsp;&raquo&nbsp;" + data["feed"]["title"]["$t"]);
						$pg.empty().append("<p><strong>" + data["feed"]["title"]["$t"] + "</strong><br /><a style='font-size:0.8em;' href='#' onclick='this.blur(); $.picasa.instances[\"" + container.attr("id") + "\"].show_albums();'>&laquo;&nbsp;обратно към албумите</a></p>");
						var str = "";
						$.each(data["feed"]["entry"], function (i) {
							var descr = data["feed"]["entry"][i]["media$group"]["media$description"]["$t"] || data["feed"]["entry"][i]["title"]["$t"];
							str  = "<a class='image' id='i" + data["feed"]["entry"][i]["gphoto$id"]["$t"] + "' href='" + data["feed"]["entry"][i]["media$group"]["media$content"][0]["url"] + "?imgmax=" + opts.imgsize + "' title='" + descr + "'>";
							str += "<div class='img' style='background-image:url(" + data["feed"]["entry"][i]["media$group"]["media$thumbnail"][0]["url"] + ");'>&nbsp;</div>";
							str += "</a>";
							$pg.append(str);
						});
						$pg.find(".image").bind("click", function () {
								document.location.hash = document.location.hash.toString().replace(/\/i\d+$/,"") + "/" + this.id;
							}).lightBox();
						if(image_id) $("#" + image_id).click();
					},
					dataType:	"jsonp",
					cache:		true
				});
			}
		}
	};
	$.fn.picasa = function (hashes, opts) {
		return this.each(function() {
			$.picasa.instances[this.id] = {
				container : $(this),
				opts : $.extend({},$.picasa.defaults, opts),
				show_albums : function() { $.picasa.show_albums(this.container, this.opts); },
				show_album : function(i, j) { $.picasa.show_album(this.container, this.opts, i, j); }
			}
			if(hashes[1]) $.picasa.instances[this.id].show_album(hashes[1], hashes[2]);
			else $.picasa.instances[this.id].show_albums();
		});
	};
})(jQuery);

$(function() {
	var hashes = document.location.hash ? document.location.hash.split("/") : ["#"];
	$("#post-10 .entry").attr("id","picasa").picasa(hashes);
});