(function(c){var b,a={};c.fn.pwi=function(k){var o,r={};k=c.extend({},c.fn.pwi.defaults,k);b=this;function u(){r=k;ts=new Date().getTime();r.id=ts;o=c("<div id='pwi_"+ts+"'/>").appendTo(b);o.addClass("pwi_container");p();return false}function p(){if(r.username===""){alert("Make sure you specify at least your username.\nSee http://pwi.googlecode.com for more info");return}switch(r.mode){case"latest":q();break;case"album":d();break;case"keyword":d();break;default:h();break}}function j(w){var x=new Date(Number(w)),v=x.getUTCFullYear();if(v<1000){v+=1900}return(r.months[(x.getUTCMonth())]+" "+x.getUTCDate()+", "+v)}function l(v){return v.replace(/\n/g,"<br />\n")}function f(v){var w=new Date(Number(v));$year=w.getUTCFullYear();if($year<1000){$year+=1900}if(w=="Invalid Date"){return v}else{return(w.getUTCDate()+"-"+(w.getUTCMonth()+1)+"-"+$year+" "+w.getUTCHours()+":"+(w.getUTCMinutes()<10?"0"+w.getUTCMinutes():w.getUTCMinutes()))}}function e(x){var v,y="",A="",z=x.content.src,w=x.gphoto$id.$t;A=l(x.summary?x.summary.$t:"");if(r.showPhotoDate){if(x.exif$tags.exif$time){y=f(x.exif$tags.exif$time.$t)}else{if(x.gphoto$timestamp){y=f(x.gphoto$timestamp.$t)}else{y=f(x.published.$t)}}y+=" "}y+=A.replace(new RegExp("'","g"),"&#39;");v=c("<div class='pwi_photo' style='height:"+(r.thumbSize+1)+"px;cursor: pointer;'/>");v.append("<a href='"+z+"?imgmax="+r.photoSize+"' rel='lb-"+r.username+"' title='"+y+"'><img src='"+z+"?imgmax="+r.thumbSize+"&crop="+r.thumbCrop+"'/></a>");if(r.showPhotoCaption){if(r.showPhotoCaptionDate&&r.showPhotoDate){A=y}if(A>r.showCaptionLength){A=A.substring(0,r.showCaptionLength)}v.find("a").append("<br/>"+A)}if(typeof(r.onclickThumb)==="function"){var B=x;v.bind("click.pwi",B,g)}return v}function i(A){var H=c("<div/>"),B=0;var z=0,w="";B=r.albumsPerPage*(r.albumPage-1);z=A.feed.entry.length;while(B<r.albumMaxResults&&B<z&&B<(r.albumsPerPage*r.albumPage)){var F=A.feed.entry[B].gphoto$name.$t,C=j(A.feed.entry[B].gphoto$timestamp.$t),G=A.feed.entry[B].media$group.media$thumbnail[0].url.replace(new RegExp("/s160-c/","g"),"/");if(c.inArray(F,r.albums)>-1||r.albums.length===0){$scAlbum=c("<div class='pwi_album'/>");var D=A.feed.entry[B];$scAlbum.bind("click.pwi",D,function(I){I.stopPropagation();r.page=1;r.album=I.data.gphoto$name.$t;if(typeof(r.onclickAlbumThumb)==="function"){r.onclickAlbumThumb(I);return false}else{d();return false}});if(r.showAlbumThumbs){$scAlbum.append("<img src='"+G+"?imgmax="+r.albumThumbSize+"&crop="+r.albumCrop+"'/>")}if(r.showAlbumTitles){$scAlbum.append("<br/>"+A.feed.entry[B].title.$t+"<br/>"+(r.showAlbumdate?C:"")+(r.showAlbumPhotoCount?"&nbsp;&nbsp;&nbsp;&nbsp;"+A.feed.entry[B].gphoto$numphotos.$t+" "+r.labels.photos:""))}H.append($scAlbum)}B++}H.append("<div style='clear: both;height:0px;'/>");if(z>r.albumsPerPage){var y=(z/r.albumsPerPage);var E=c("<div class='pwi_prevpage'/>").text(r.labels.prev),v=c("<div class='pwi_nextpage'/>").text(r.labels.next);$navRow=c("<div class='pwi_pager'/>");if(r.albumPage>1){E.addClass("link").bind("click.pwi",function(I){I.stopPropagation();r.albumPage=(parseInt(r.albumPage,10)-1);i(A);return false})}$navRow.append(E);for(var x=1;x<y+1;x++){if(x==r.albumPage){tmp="<div class='pwi_pager_current'>"+x+"</div> "}else{tmp=c("<div class='pwi_pager_page'>"+x+"</div>").bind("click.pwi",x,function(I){I.stopPropagation();r.albumPage=I.data;i(A);return false})}$navRow.append(tmp)}if(r.albumPage<y){v.addClass("link").bind("click.pwi",function(I){I.stopPropagation();r.albumPage=(parseInt(r.albumPage,10)+1);i(A);return false})}$navRow.append(v);$navRow.append("<div style='clear: both;height:0px;'/>");if($navRow.length>0&&(r.showPager==="both"||r.showPager==="top")){H.append($navRow)}if($navRow.length>0&&(r.showPager==="both"||r.showPager==="bottom")){H.prepend($navRow.clone(true))}}r.albumstore=A;s(false,H)}function n(C){var L,H,E="",I=C.feed.openSearch$totalResults.$t,w="",y="",z=C.feed.gphoto$location===undefined?"":C.feed.gphoto$location.$t,J=C.feed.subtitle===undefined?"":C.feed.subtitle.$t,G=j(C.feed.gphoto$timestamp===undefined?"":C.feed.gphoto$timestamp.$t),B=(I=="1")?false:true;w=(C.feed.title==="undefined"||r.albumTitle.length>0)?r.albumTitle:C.feed.title.$t;L=c("<div/>");if(r.mode!="album"&&r.mode!="keyword"){E=c("<div class='pwi_album_backlink'>"+r.labels.albums+"</div>").bind("click.pwi",function(M){M.stopPropagation();h();return false});L.append(E)}if(r.showAlbumDescription){H=c("<div class='pwi_album_description'/>");H.append("<div class='title'>"+w+"</div>");H.append("<div class='details'>"+I+" "+(B?r.labels.photos:r.labels.photo)+(r.showAlbumdate?", "+G:"")+(r.showAlbumLocation&&z?", "+z:"")+"</div>");H.append("<div class='description'>"+J+"</div>");if(r.showSlideshowLink){if(r.mode==="keyword"||r.keyword!==""){}else{H.append("<div><a href='http://picasaweb.google.com/"+r.username+"/"+C.feed.gphoto$name.$t+""+((r.authKey!=="")?"?authkey="+r.authKey:"")+"#slideshow/"+C.feed.entry[0].gphoto$id.$t+"' rel='gb_page_fs[]' target='_new' class='sslink'>"+r.labels.slideshow+"</a></div>")}}L.append(H)}if(I>r.maxResults){$pageCount=(I/r.maxResults);var K=c("<div class='pwi_prevpage'/>").text(r.labels.prev),v=c("<div class='pwi_nextpage'/>").text(r.labels.next);y=c("<div class='pwi_pager'/>");if(r.page>1){K.addClass("link").bind("click.pwi",function(M){M.stopPropagation();r.page=(parseInt(r.page,10)-1);d();return false})}y.append(K);for(var x=1;x<$pageCount+1;x++){if(x==r.page){E="<div class='pwi_pager_current'>"+x+"</div> "}else{E=c("<div class='pwi_pager_page'>"+x+"</div>").bind("click.pwi",x,function(M){M.stopPropagation();r.page=M.data;d();return false})}y.append(E)}if(r.page<$pageCount){v.addClass("link").bind("click.pwi",function(M){M.stopPropagation();r.page=(parseInt(r.page,10)+1);d();return false})}y.append(v);y.append("<div style='clear: both;height:0px;'/>")}if(y.length>0&&(r.showPager==="both"||r.showPager==="top")){L.append(y)}var D=((r.page-1)*r.maxResults);while(D<(r.maxResults*r.page)&&D<I){var A=e(C.feed.entry[D]);L.append(A);D++}if(y.length>0&&(r.showPager==="both"||r.showPager==="bottom")){L.append(y.clone(true))}r.photostore[r.album]=C;var F=c(".pwi_photo",L).css(r.thumbCss);if(typeof(r.popupExt)==="function"){r.popupExt(F.find("a[rel='lb-"+r.username+"']"))}else{if(typeof(r.onclickThumb)!="function"&&c.slimbox){F.find("a[rel='lb-"+r.username+"']").slimbox(r.slimbox_config)}}s(false,L)}function t(y){var w=c("<div/>"),x=y.feed?y.feed.entry.length:0,A=0;while(A<r.maxResults&&A<x){var z=e(y.feed.entry[A]);w.append(z);A++}w.append("<div style='clear: both;height:0px;'> </div>");var v=c("div.pwi_photo",w).css(r.thumbCss);if(typeof(r.popupExt)==="function"){r.popupExt(v.find("a[rel='lb-"+r.username+"']"))}else{if(typeof(r.onclickThumb)!="function"&&c.slimbox){v.find("a[rel='lb-"+r.username+"']").slimbox(r.slimbox_config)}}s(false,w)}function m(v){v.stopPropagation();v.preventDefault();r.onclickAlbumThumb(v)}function g(v){v.stopPropagation();v.preventDefault();r.onclickThumb(v)}function h(){if(r.albumstore.feed){i(r.albumstore)}else{s(true,"");var v="http://picasaweb.google.com/data/feed/api/user/"+r.username+"?kind=album&access="+r.albumTypes+"&alt=json";c.getJSON(v,"callback=?",i)}return o}function d(){if(r.photostore[r.album]){n(r.photostore[r.album])}else{var v=((r.page-1)*r.maxResults)+1;var w="http://picasaweb.google.com/data/feed/api/user/"+r.username+"/album/"+r.album+"?kind=photo&alt=json"+((r.authKey!=="")?"&authkey="+r.authKey:"")+((r.keyword!=="")?"&tag="+r.keyword:"");s(true,"");c.getJSON(w,"callback=?",n)}return o}function q(){s(true,"");var v="http://picasaweb.google.com/data/feed/api/user/"+r.username+(r.album!==""?"/album/"+r.album:"")+"?kind=photo&max-results="+r.maxResults+"&alt=json&q="+((r.authKey!=="")?"&authkey="+r.authKey:"")+((r.keyword!=="")?"&tag="+r.keyword:"");c.getJSON(v,"callback=?",t);return o}function s(w,v){if(w){document.body.style.cursor="wait"}else{document.body.style.cursor="default";o.html(v)}}u()};c.fn.pwi.defaults={mode:"albums",username:"",album:"",authKey:"",albums:[],keyword:"",albumCrop:1,albumTitle:"",albumThumbSize:160,albumMaxResults:999,albumsPerPage:999,albumPage:1,albumTypes:"public",page:1,photoSize:800,maxResults:50,showPager:"bottom",thumbSize:72,thumbCrop:0,thumbCss:{margin:"5px"},onclickThumb:"",onclickAlbumThumb:"",popupExt:"",showAlbumTitles:true,showAlbumThumbs:true,showAlbumdate:true,showAlbumPhotoCount:true,showAlbumDescription:true,showAlbumLocation:true,showSlideshowLink:true,showPhotoCaption:false,showPhotoCaptionDate:false,showCaptionLength:9999,showPhotoDownload:false,showPhotoDate:true,labels:{photo:"photo",photos:"photos",albums:"Back to albums",slideshow:"Display slideshow",loading:"PWI fetching data...",page:"Page",prev:"Previous",next:"Next",devider:"|"},months:["January","February","March","April","May","June","July","August","September","October","November","December"],slimbox_config:{loop:false,overlayOpacity:0.6,overlayFadeDuration:400,resizeDuration:400,resizeEasing:"swing",initialWidth:250,initlaHeight:250,imageFadeDuration:400,captionAnimationDuration:400,counterText:"{x}/{y}",closeKeys:[27,88,67,70],prevKeys:[37,80],nextKeys:[39,83]},blockUIConfig:{message:"<div class='lbLoading pwi_loader'>loading...</div>",css:"pwi_loader"},albumstore:{},photostore:{},token:""}})(jQuery);
