/* Loads when included */
(function () {
  Norrona.BlogPaginator = function () {
    var $this = this;
    this.button = $("#load_more_blog_posts");
    
    this.currentLastLoadedPostID =  $("#load_more_blog_posts").attr("data-last");
	  this.currentBlogFilter =  $("#load_more_blog_posts").attr("data-filter");
	  
	  this.button.click(function () {
	    $this.paginate();
	    return false;
	  });
  }
  
  Norrona.BlogPaginator.prototype = {
    paginate: function () {
      var $this = this;
      if (this.button.hasClass("disabled")) {
        return;
      }
      
      this.button.addClass("disabled");
      
      $.ajax({
        url: "/blog/more_posts",
        dataType: "json",
        data: {last_loaded: $this.currentLastLoadedPostID, filter: $this.currentBlogFilter, language: Norrona.currentLanguage},
        success: function (posts) {
          $this.button.removeClass("disabled");
          
          if (posts.length == 0) {
            // No more posts!
          } else {
            $this.currentLastLoadedPostID = posts[posts.length - 1].id

            $.each(posts, function (i, post) {
              $("#more_blog_posts_here").append(post.body);
            });
          }
        }
      });
    }
  }
  
  $(function () {
    new Norrona.BlogPaginator();
  })
}());