// brscPicasa v1.1 - jQuery plugin for displaying photos from Google Picasa Web Albums.
// c) 2010-2011 Maciej 'barszcz' Marczewski - www.barszcz.info - maciej@marczewski.net.pl
// Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
(function(a){a.fn.brscPicasa=function(e){var d="brscPicasa",f={user:"",album_id:"",album_name:"",photo_id:"",authkey:"",albums_thumbsize:"32c",albums_titles:true,photos_thumbsize:"32c",photos_linkedsize:"800",photos_titles:false,photo_displaysize:"640",photo_linkedsize:"d",photo_title:false,mode:"from_link",from_link_target:"",classes:{link_replacer:"",container:"",album_list:"",photos_list:"",list_item:"",single_item:"",link_with_image:"",photo:"",title:""},callback:false},g=a.extend(true,{},f,a.fn.brscPicasa.defaults,e),b="http://picasaweb.google.com/data/feed/base/user/",h="http://picasaweb.google.com/data/entry/base/user/",c=0;return this.each(function(){var k=this;function j(){if(!g.mode||!g.user||!i[g.mode]){g.mode="from_link"}i[g.mode].apply(k,[g]);if(a.isFunction(g.callback)){var l;l=setInterval(function(){if(c<=0){clearInterval(l);g.callback.call(k)}},100)}}var i={albums:function(n){c++;var m=a(this),l={kind:"album",alt:"json",thumbsize:n.albums_thumbsize,fields:"entry(title,link[@rel='alternate'],media:group/media:thumbnail)",visibility:"all"},p="";if(n.authkey){l.authkey=n.authkey}if(!a.support.cors){p="?callback=?";l.alt="json-in-script"}a.getJSON(b+n.user+p,l,function(q){var o=q.feed.entry||[],r=a('<ul class="'+d+"List "+d+"Albums "+n.classes.album_list+'"></ul>');for(var s=0;s<o.length;++s){var t=o[s];$item=a('<li class="'+d+"ListItem "+n.classes.list_item+'"><a class="'+d+"LinkWithImage "+n.classes.link_with_image+'" href="'+t.link[0].href+'"><img class="'+d+"Photo "+n.classes.thumbnail+'" src="'+t.media$group.media$thumbnail[0].url+'" width="'+t.media$group.media$thumbnail[0].width+'" height="'+t.media$group.media$thumbnail[0].height+'" /></a></li>');if(n.albums_titles){$item.children().append('<span class="'+d+"Title "+n.classes.title+'">'+t.title.$t+"</span>")}r.append($item)}r.wrap('<div class="'+d+"Container "+n.classes.container+'" />').parent().appendTo(m);c--})},photos:function(p){c++;var n=a(this),l="",m={kind:"photo",alt:"json",thumbsize:p.photos_thumbsize,fields:"entry(title,media:group(media:thumbnail, media:content))",visibility:"all"},q="";if(p.authkey){m.authkey=p.authkey}if(p.photos_linkedsize!=="none"){m.imgmax=p.photos_linkedsize}if(!a.support.cors){q="?callback=?";m.alt="json-in-script"}if(p.album_id){l="/albumid/"+p.album_id}else{if(p.album_name){l="/album/"+p.album_name}}a.getJSON(b+p.user+l+q,m,function(r){var o=r.feed.entry||[],s=a('<ul class="'+d+"List "+d+"Photos "+p.classes.photos_list+'"></ul>');for(var t=0;t<o.length;++t){var u=o[t];$item=a('<li class="'+d+"ListItem "+p.classes.list_item+'"><img class="'+d+"Photo "+p.classes.thumbnail+'" src="'+u.media$group.media$thumbnail[0].url+'" width="'+u.media$group.media$thumbnail[0].width+'" height="'+u.media$group.media$thumbnail[0].height+'" /></li>');if(p.photos_linkedsize!=="none"){$item.children().wrap('<a class="'+d+"LinkWithImage "+p.classes.link_with_image+'" href="'+u.media$group.media$content[0].url+'"></a>')}if(p.photos_titles){$item.find("img").after('<span class="'+d+"Title "+p.classes.title+'">'+u.title.$t+"</span>")}s.append($item)}s.wrap('<div class="'+d+"Container "+p.classes.container+'" />').parent().appendTo(n);c--})},photo:function(p){c++;var n=a(this),l="",m={kind:"photo",alt:"json",thumbsize:p.photo_displaysize,fields:"title,media:group(media:thumbnail, media:content)",visibility:"all"},q="";if(p.authkey){m.authkey=p.authkey}if(p.photo_linkedsize!=="none"){m.imgmax=p.photo_linkedsize}if(!a.support.cors){q="?callback=?";m.alt="json-in-script"}if(!p.photo_id){a.error("photo_id option is not set for jQuery."+d);return}if(p.album_id){l="/albumid/"+p.album_id}else{if(p.album_name){l="/album/"+p.album_name}else{a.error("album_id or album_name option must be set for jQuery."+d);return}}a.getJSON(h+p.user+l+"/photoid/"+p.photo_id+q,m,function(r){var s=r.entry||{},o=a('<div class="'+d+"SingleItem "+p.classes.single_item+'"><img class="'+d+"Photo "+p.classes.photo+'" src="'+s.media$group.media$thumbnail[0].url+'" width="'+s.media$group.media$thumbnail[0].width+'" height="'+s.media$group.media$thumbnail[0].height+'" /></div>');if(p.photo_linkedsize!=="none"){o.children().wrap('<a class="'+d+"LinkWithImage "+p.classes.link_with_image+'" href="'+s.media$group.media$content[0].url+'"></a>')}if(p.photo_title){o.find("img").after('<span class="'+d+"Title "+p.classes.title+'">'+s.title.$t+"</span>")}o.wrap('<div class="'+d+"Container "+p.classes.container+'" />').parent().appendTo(n);c--})},from_link:function(m){var l=a(this),n;if(l.is('a[href^="http://picasaweb.google."]')||l.is('a[href^="https://picasaweb.google."]')){n=l}else{n=l.find('a[href^="http://picasaweb.google."], a[href^="https://picasaweb.google."]')}n.each(function(){m.authkey="";if(this.search){var q=this.search.replace("?","").split("&");for(var o=0;o<q.length;o++){param=q[o].split("=");if(param[0]==="authkey"){m.authkey=param[1];break}}}var p=this.pathname;if(p.substr(0,1)==="/"){p=p.substr(1,p.length)}var r=p.split("/");if(r.length==2){m.user=r[0];m.album_name=r[1];if(this.hash){m.photo_id=this.hash.replace("#","");m.mode="photo"}else{m.mode="photos"}}else{if(r.length==1&&r[0]!=""){m.user=r[0];m.mode="albums"}else{return}}if(!m.from_link_target){$target=a('<div class="'+d+"LinkReplacer "+m.classes.link_replacer+'"></div>');a(this).replaceWith($target)}else{$target=a(m.from_link_target)}return i[m.mode].apply($target,[m])})}};j()})};a.fn.brscPicasa.defaults={}})(jQuery);
