(function($) {
  $.picasa = {
    albums: function(user, options, callback ) {
      var settings = $.extend({}, $.fn.picasaSettings, options);
      var picasa_url = "http://picasaweb.google.com/data/feed/base/user/:user_id?alt=json-in-script&kind=album&hl=en_US&access=visible&thumbsize="+settings.thumbsize;
      if( options.authKey ) picasa_url += "&authkey=" + authKey;
      picasa_url = picasa_url.replace(/:user_id/, user);
      $.ajax( {
      	url: picasa_url,
      	dataType: 'jsonp',
      	success: function(data) {
        var album = null;
        var albums = [];
        $.each(data.feed.entry, function(i, element) {
          album = {
            id: element.id["$t"].split("?")[0].split("albumid/")[1],
            title: element["media$group"]["media$title"]["$t"],
            description: element["media$group"]["media$description"]["$t"],
            thumb: element["media$group"]["media$thumbnail"][0]["url"],
            thumbX: element["media$group"]["media$thumbnail"][0]["width"],
            thumbY: element["media$group"]["media$thumbnail"][0]["height"]
          }
          album.images = function(callback) {
            $.picasa.images(user, album.id, setings, callback );
          }
          albums.push(album);
        });
        callback(albums);
      },
      async: false
      });
    },

images: function(user, album, options, callback ) {
	var settings = $.extend({}, $.fn.picasaSettings, options);
	var baseUrl = "http://picasaweb.google.com/data/feed/base/user/"+user+"/albumid/"+album+"?hl=en_US&kind=photo";
	if( settings.authKey ) {
		baseUrl += "&authkey=" + settings.authKey;
	}
	var url = baseUrl + "&alt=json-in-script&fields=entry(title,gphoto:numphotos,media:group(media:content,media:thumbnail)),title,subtitle&thumbsize="+settings.thumbsize+"&imgmax="+settings.imgMax;
	var image = null;
	var images = [];
	$.ajax( {
		url: url,
		dataType: 'jsonp',
		success: function(data) {
			images.albumTitle = data.feed.title.$t;
			images.albumSubTitle = data.feed.subtitle.$t;
			$.each(data.feed.entry, function(i, element) {
				image = element["media$group"]["media$content"][0];
				image.title = element.title["$t"];
				image.thumb = element["media$group"]["media$thumbnail"][0]["url"];
				image.thumbX = element["media$group"]["media$thumbnail"][0]["width"];
				image.thumbY = element["media$group"]["media$thumbnail"][0]["height"];
				images.push(image);
			});
			callback(images);
		}
	});
}
};  

})(jQuery);

  $.fn.picasaSettings =
  {
  	thumbsize: '150u', //32, 48, 64, 72, 104, 144, 150, 160 (u/c)
  	imgMax: $(window).height() - 70,
  	titleMatch: ''
  };
