Galleria.requires(1.25,"The Picasa Plugin requires Galleria version 1.2.5 or later.");(function(c){var a=Galleria.utils.getScriptPath();Galleria.Picasa=function(){this.options={max:30,imageSize:"medium",thumbSize:"thumb",description:false,complete:function(){}}};Galleria.Picasa.prototype={constructor:Galleria.Picasa,search:function(d,e){return this._call("search","all",{q:d},e)},user:function(e,d){return this._call("user","user/"+e,d)},useralbum:function(f,d,e){return this._call("useralbum","user/"+f+"/album/"+d,e)},setOptions:function(d){c.extend(this.options,d);return this},_call:function(f,e,h,i){e="https://picasaweb.google.com/data/feed/api/"+e+"?";if(typeof h=="function"){i=h;h={}}var d=this;h=c.extend({kind:"photo",access:"public","max-results":this.options.max,thumbsize:this._getSizes().join(","),alt:"json-in-script",callback:"?"},h);c.each(h,function(j,k){e+="&"+j+"="+k});var g=false;Galleria.utils.wait({until:function(){return g},success:function(){d._parse.call(d,g.feed.entry,i)},error:function(){var j="";if(f=="user"){j="user not found."}else{if(f=="useralbum"){j="album or user not found."}}Galleria.raise("Picasa request failed"+(j?": "+j:"."))},timeout:5000});c.getJSON(e,function(j){g=j});return d},_getSizes:function(){var d=this,f={small:"72c",thumb:"104u",medium:"640u",big:"1024u",original:"1600u"},i=d.options,e={},h,g=[32,48,64,72,94,104,110,128,144,150,160,200,220,288,320,400,512,576,640,720,800,912,1024,1152,1280,1440,1600];c(["thumbSize","imageSize"]).each(function(){if(i[this] in f){e[this]=f[i[this]]}else{h=Galleria.utils.parseValue(i[this]);if(h>1600){h=1600}else{c.each(g,function(j){if(h<this){h=g[j-1];return false}})}e[this]=h}});return[e.thumbSize,e.imageSize,"1280u"]},_parse:function(g,h){var f=this,d=[],e;c.each(g,function(){e=this.media$group.media$thumbnail;d.push({thumb:e[0].url,image:e[1].url,big:e[2].url,title:this.title.$t,description:f.options.description?this.summary.$t:""})});h.call(this,d)}};var b=Galleria.prototype.load;Galleria.prototype.load=function(){if(arguments.length||typeof this._options.picasa!=="string"){b.apply(this,Galleria.utils.array(arguments));return}var g=this,h=Galleria.utils.array(arguments),f=this._options.picasa.split(":"),j,i=c.extend({},g._options.picasaOptions),e=typeof i.loader!=="undefined"?i.loader:c("<div>").css({width:48,height:48,opacity:0.7,background:"#000 url("+a+"loader.gif) no-repeat 50% 50%"});if(f.length){if(typeof Galleria.Picasa.prototype[f[0]]!=="function"){Galleria.raise(f[0]+" method not found in Picasa plugin");return b.apply(this,h)}if(!f[1]){Galleria.raise("No picasa argument found");return b.apply(this,h)}window.setTimeout(function(){g.$("target").append(e)},100);j=new Galleria.Picasa();if(typeof g._options.picasaOptions==="object"){j.setOptions(g._options.picasaOptions)}var d=[];if(f[0]=="useralbum"){d=f[1].split("/");if(d.length!=2){Galleria.raise("Picasa useralbum not correctly formatted (should be [user]/[album])");return}}else{d.push(f[1])}d.push(function(k){g._data=k;e.remove();g.trigger(Galleria.DATA);j.options.complete.call(j,k)});j[f[0]].apply(j,d)}else{b.apply(this,h)}}}(jQuery));
