$.fn.fbPhotos = function(album, limit) {

     function base_append(obj) {
		
         $(base).append(obj);
     }

     function getPhoto(obj) {
    
         var id = obj.id;
         var img = obj.img;
         var link = obj.link;

         var wrap = $('<div></div>').attr({
                 'class' : 'fb-photo',
                 'id' : id
             });


         var avatar = new Image();
             avatar.src = img;

         var _avatar = $('<a></a>')
             .attr('href', link)
             .attr('target', '_blank')
             .attr('class', 'avatar')
             .html(avatar);

         $(wrap).append($(_avatar));
		
         return wrap;

     }
     function init() {
        fetch();
     }
// url: 'http://graph.facebook.com/' + albumId + '/photos?limit='+topLimit,

















     function fetch() {
         var r;
		//https://graph.facebook.com/185087378180461/albums
         var data = {};
		 var topLimit = 400;
         $.ajax({
             url: 'http://graph.facebook.com/' + albumId + '/photos?limit='+topLimit,
             type : 'GET',
             dataType : 'jsonp',
             data : data,
             success: function(obj) {   
              //  console.log(obj);
                 if (obj.error) {
                /*       var img = new Image();
                         img.src = theme_url + '/images/ico_fail_bird.png';
                         wipe(img); *///images[2].source
                     return false;
                 } else {
                         // loop de data
                        var results = {};
                        for (var k = 0; k < obj.data.length; k++) {
                                 if (obj.data[k].images) { 
                                        results[k] =  {
                                            'id' : obj.data[k].id,
                                            'img': obj.data[k].images[1].source,
                                            'link': obj.data[k].link
                                        };
											
                              }
                                    
                            
                                
                         }

                         k = 0;
                        for (var key in results) { 
                             base_append(getPhoto(results[key]));
                             k++;
							
                             if (k >= topLimit) {   
                                 break;
                             }
                            
                        }
                         (function showNext(jq){
                            jq.eq(0).show("slide", null, 500, function(){
                                (jq=jq.slice(1)).length && showNext(jq);
                            });
                         })($('div.fb-photo')); 

                     return true;
                 }
             },
             error : function (obj) {
                // @todo: do something like append an error message or an error image
                 /*  var img = new Image();
                     img.src = '/images/fail.png';
                     wipe(img); */
                 return false;
             }
         });



     }

     if ($(this).size() > 0) {
         var base = $(this);
         var topLimit = (limit ? limit : 15);
		 
         var albumId = (album ? album : ($(this).attr("fbAlbum") ? $(this).attr("fbAlbum") : '0'));
        
         init();
     }

 };

 

