/*
 * Name:   EmbedPicasaGallery
 * Author: Tobias Oetiker <tobi@oetiker.ch>
 * Demo:   http://tobi.oetiker.ch/photo/
 * $Id: jquery.EmbedPicasaGallery.js 474 2011-06-16 09:02:45Z oetiker $
 */
(function(a){var b="EmbedPicasaGallery",c;a[b]={defaultOptions:{matcher:RegExp(".+"),size:72,msg_loading_list:"Loading album list from PicasaWeb",msg_back:"back",msg_more:"more",album_title_tag:"<h2/>",auto_open:false,thumb_id_prefix:"pThumb_",thumb_tuner:null,thumb_finalizer:null,loading_animation:null,show_more:null,hide_back:false,link_mapper:function(a){return[a.href,'<a href="'+a.href+'">'+a.title+"</a>"]}}};a.fn[b]=function(d,e){function i(b,e,f,i,j){function r(b){var c=b.feed.entry;var d=[];for(var h=0;h<c.length;h++){var i=q(h,c[h]);if(!e.show_more||h<e.show_more){i.show()}else{i.hide();d.push(i)}l.append(i);if(e.show_more&&h==e.show_more){var j=p(e.msg_more);l.append(j.click(function(){var a=0;jQuery.each(d,function(b,c){window.setTimeout(function(){c.fadeIn("fast")},50*a++)});j.hide()}))}}if(a.fn.fancybox){a("a",l).fancybox(e.boxOpts)}if(e.thumb_callback){a("a",l).each(e.thumb_callback)}g[f]=l}function q(b,c){var d=c.media$group.media$description.$t||c.media$group.media$title.$t;var f=m[b]||o();var g=a("<img/>").css("borderWidth","0px").hide().load(function(){if(e.thumb_tuner){e.thumb_tuner(this,c)}g.show()});var h=c.media$group.media$thumbnail;var i=false;for(var b=0;b<h.length;b++){if(h[b].width==e.size&&h[b].height==e.size){g.attr("src",h[b].url);i=true;break}}if(!i){g.attr("alt","Sorry, no matching thumbnail found.")}var j=a("<a/>").attr("href",c.content.src).attr("title",d).attr("rel","picasa"+e.albumid+"").append(g);f.attr("id",e.thumb_id_prefix+c.gphoto$id.$t).append(j);return f}function p(b){return a("<div/>").addClass("pic-thumb").width(e.size).height(e.size).css({borderWidth:"0px","float":"left",marginRight:"10px",marginBottom:"10px",cursor:"pointer"}).append(a("<div/>").html("<br/>"+b).css({borderStyle:"outset",borderWidth:"1px",textAlign:"center",width:e.size-2+"px",height:e.size-2+"px"}))}function o(){var b=a("<div/>").css({"float":"left",marginRight:"10px",marginBottom:"10px",width:e.size+"px",height:e.size+"px"});if(e.loading_animation){b.css("background","url("+e.loading_animation+") no-repeat center center")}return b}if(g[f]){g[f].show();return}var k,l,m=[],n;l=a("<div/>").addClass("album").css("position","relative").css("overflow","hidden");if(i){l.append(a(e.album_title_tag).text(i))}if(g.__overview&&!e.hide_back){l.append(p(e.msg_back).click(function(){l.hide();h()}))}b.prepend(l);if(j){for(k=0;k<j&&(!e.show_more||k<e.show_more);k++){n=o();l.append(n);m.push(n)}}c="";if(e.authkey){c="&authkey="+e.authkey}a.getJSON("http://picasaweb.google.com/data/feed/api/user/"+d+"/albumid/"+f+"?kind=photo&access=visible"+c+"&alt=json-in-script&thumbsize="+e.size+"c&imgmax=800&callback=?",r)}function h(){function l(e){var f,i=0;h.empty();if(e.feed&&e.feed.entry){a.each(e.feed.entry,k)}else{b.text("Warning: No picasa albums found for user "+d)}g.__overview=h;f=h.children();if(c.auto_open){f.eq(0).click();return}a(".album-title",h).each(function(){var b=a(this).outerHeight();if(b>i){i=b}}).each(function(){a(this).height(i)})}function k(d,f){var g,j,k;g=f.media$group.media$title.$t;if(g.match(c.matcher)){e++;k=a("<img/>").attr("title",g).attr("src",f.media$group.media$thumbnail[0].url);j=a("<div/>").addClass("album-cover").css({"float":"left",marginRight:"10px",marginBottom:"10px"}).click(function(){h.hide();i(b,c,f.gphoto$id.$t,g,f.gphoto$numphotos.$t)}).hover(function(){a(this).css("cursor","pointer")},function(){a(this).css("cursor","default")}).append(k).append(a("<div/>").addClass("album-title").css({"font-size":"10px"}).text(g).width(c.size));h.append(j)}}var b,c,e,h,j="";if(g.__overview){g.__overview.show();return}b=a(this);b.empty();c=f;if(a.meta){c=a.extend({},f,b.data())}e=0;h=a("<div/>").addClass("album-list").css("position","relative").css("overflow","hidden").append(a("<div/>").text(c.msg_loading_list));if(c.authkey){j="&authkey="+c.authkey}if(c.albumid){i(b,c,c.albumid)}else{b.prepend(h);a.getJSON("http://picasaweb.google.com/data/feed/api/user/"+d+"?kind=album&access=visible"+j+"&alt=json-in-script&thumbsize="+c.size+"c&callback=?",l)}}var f,g={};f=a.extend({},a[b].defaultOptions,e);return this.each(h)}})(jQuery)
