 (function ($) {

  Drupal.behaviors.bimage = {
    attach: function (context, settings) {
        var bimage_rotator = $('#bimage_rotator');
        bimage_rotator.width(bimage_rotator.children().length * 243);
        var step = 5;
        var timeout = 100;
        var minValue = 0;
        var maxValue = 0 -bimage_rotator.width() + $('#bimage_presenter').width();
        var stop = false;
        var moveRight = true;
        var lastX= 1;
        $('#bimage_presenter').mouseenter(function() {
            stop = true;
        });
         $('#bimage_presenter').mouseleave(function() {
            stop = false;
            lastX = -1;
            move();
        });
        $('#bimage_presenter').mousedown(function(e) {
            lastX = e.pageX;
        });
        $('#bimage_presenter').mouseup(function(e) {
           if(lastX != -1){
             var diff = lastX -e.pageX;
             if(diff < -20)
                moveRight = false;
             else if(diff > 20)
                moveRight = true; 
           }
        });
        function move(){
            if(!stop){
                var position = bimage_rotator.position();
                if(position){
                    var left  = position.left;
                    left += moveRight ?(-step) : step;
                    bimage_rotator.css('left',left + 'px')
                }
                if(moveRight && left < maxValue)
                   moveRight = false;
                else if(!moveRight && left > minValue)
                   moveRight = true;
            setTimeout(function(){move();},timeout);
          }
        }
        
        move();
    }
  };
 
})(jQuery);
;

