(function($) {
  $.declare('slideIndicators', {

    defaults: {
      element: '<div/>',
      activeClass: 'slide-indicator-active',
      itemClass: 'slide-indicator',
      containerClass: 'slide-indicators',
      offsetY: 10,
      allowClick: true
    },

    init: function() {
      this.sliderContainer = this.el.slide('getContainer');
      this.pageCount = this.el.slide('getPageCount');

      this.indicatorContainer = 
        $(this.element)
          .addClass(this.containerClass)
          .css({
            'position':'absolute',
            'bottom': (this.offsetY < 0) ? -this.offsetY : 0,
            'width': '100%',
            'overflow':'hidden',
            'text-align':'center',
            'clear':'both'
          })
          .appendTo(this.el);


      this.createIndicators();
      this.indicators = $('.'+this.itemClass);

      if (this.allowClick) {
        this.indicators.bind('click', this.proxy(this.indicatorClicked));
      }

      this.el.on('slide.slide', this.proxy(function(e, currentPage){
        this.indicators.removeClass(this.activeClass);
        this.indicators.eq(currentPage - 1).addClass(this.activeClass);
      }));

    },

    createIndicators: function() {
      var indicator;
      var indicators = [];

      for (var i=1, j = this.pageCount; i<=j; i++) {
        indicator = '<span class="'+this.itemClass+'" data-slide-index="'+i+'"></span>';
        indicators.push(indicator);
      }
      this.indicatorContainer
        .css({
          bottom: this.offsetY
        })
        .append(indicators);

    },

    indicatorClicked: function(e) {
      var index = $(e.currentTarget).data('slide-index');
      this.el.slide('go', index);
    }

  });
})(jQuery);

@@ -966,16 +966,39 @@
      %7D%0A%0A
+      var self = this;%0A
       th
@@ -1007,17 +1007,23 @@
 .el.on('
-s
+beforeS
 lide.sli
@@ -1031,47 +1031,178 @@
 e', 
-this.proxy(function(e, currentPage)%7B%0A  
+function(e, from, to)%7B%0A        self.setIndicators(to);%0A      %7D);%0A%0A      self.setIndicators(this.el.slide('getCurrentPage'));%0A%0A    %7D,%0A%0A    setIndicators: function(page) %7B%0A
     
@@ -1252,26 +1252,24 @@
 ass);%0A      
-  
 this.indicat
@@ -1279,16 +1279,9 @@
 .eq(
-currentP
+p
 age 
@@ -1317,20 +1317,8 @@
 s);%0A
-      %7D));%0A%0A
     

update indicator before finishing the slide