/*! barrita - v0.0.1 - Build: 2014-04-29 
Copyright (c) 2014 Javier Alejandro Alvarez <neiker@gmail.com> 
Licensed under the MIT License */
!function(a){"function"==typeof define&&define.amd&&define("barrita",["jQuery"],a),window.jQuery&&a(window.jQuery)}(function(a){"use strict";function b(b,c){if("object"!==a.type(c))throw new Error("Options should be an object");var d={};this.set=function(a,b){return d[a]=b},this.get=function(a){return d[a]||void 0},this.$el=b,this.set("options",c),this.init()}var c={resize:"auto",hoverTimeout:500},d=function(){try{return parseInt(navigator.userAgent.match(/MSIE (\d+)\.(\d+)/)[1],10)}catch(a){return null}}();b.prototype={init:function(){this.get("initialized")||(this.initDom(),this.setEvents(),this.setBarHeight(),this.set("initialized",!0),this.$el.trigger("barrita:init",this))},destroy:function(){this.get("initialized")&&(this.removeEvents(),this.restoreDom(),this.set("initialized",!1),this.$el.trigger("barrita:destroy"))},initDom:function(){this.$el=this.$el.addClass("barrita"),this.$viewPort=a("<div/>").addClass("barritaViewport"),this.$content=a("<div />").addClass("barritaContent"),this.$scrollRail=a("<div />").addClass("barritaRail"),this.$scrollBar=a("<div />").addClass("barritaHandler"),this.$content.append(this.$el.children().detach()),this.$viewPort.append(this.$content),this.$scrollRail.append(this.$scrollBar),this.$el.empty().append(this.$viewPort).append(this.$scrollRail),a.isNumeric(this.get("options").hoverTimeout)||this.$scrollRail.addClass("barritaHover")},restoreDom:function(){this.$el.removeClass("barrita");var a=this.$content.children().detach();this.$viewPort.remove(),this.$scrollRail.remove(),this.$el.empty().append(a)},active:function(b){if(void 0!==b){if(this.get("active")===b)return;this.set("active",b),this.$scrollRail.toggleClass("barritaActive",this.get("active")),a("body").toggleClass("barritaActive",this.get("active"))}return this.get("active")},hover:function(b){if(void 0!==b){var c=function(){this.get("hover")!==b&&(this.set("hover",b),this.$scrollRail.toggleClass("barritaHover",this.get("hover")))}.bind(this);clearTimeout(this.get("hoverTimeout"));var d=this.get("options").hoverTimeout;this.get("hover")&&0!==d?a.isNumeric(d)&&this.set("hoverTimeout",setTimeout(c,d)):c()}return this.get("hover")},setBarHeight:function(){var a=100/this.$content.height()*this.$el.height();a?a>=100?this.$scrollRail.addClass("hide"):this.get("scrollBarHeight")!==a&&(this.set("scrollBarHeight",a),this.$scrollRail.removeClass("hide"),this.$scrollBar.css({height:""+a+"%"}),this.setBarPosition()):this.destroy()},setBarPosition:function(a){var b;void 0===a?b=100/this.$content.height()*this.$viewPort.scrollTop():(a+this.$scrollBar.height()>this.$scrollRail.height()&&(a=this.$scrollRail.height()-this.$scrollBar.height()),b=100/this.$scrollRail.height()*a),this.$scrollBar.css({top:String(b+"%")}),this.$el.trigger("barrita:positionChange",{scrollTop:this.$viewPort.scrollTop(),onTop:!Math.floor(b),onBottom:100===Math.ceil(b+this.get("scrollBarHeight"))})},setContentPosition:function(a){void 0===a&&(a=100/this.$scrollRail.height()*this.$scrollBar.position().top,a=this.$content.height()/100*a),this.$viewPort.get(0).scrollTop=a},draggableStart:function(){this.active(!0);var b=this.set("draggable",{});return b.scrollHeight=this.$scrollRail.height(),b.bottomLimit=this.$scrollRail.get(0).offsetHeight-this.$scrollBar.height(),d&&a(document).on("selectstart",!1),a(d?document:window).on("mousemove",this.drag=this.draggableDrag.bind(this)).on("mouseup",this.stopDrag=this.draggableStop.bind(this)),!1},draggableDrag:function(a){var b=this.get("draggable"),c=a.pageY;return b.toTop=parseInt(this.$scrollBar.css("top"),10),b.lastPosition&&(b.toTop+=c-b.lastPosition),b.toTop<0||b.toTop>b.bottomLimit?void 0:(b.lastPosition=c,this.setBarPosition(b.toTop),this.setContentPosition(),!1)},draggableStop:function(){return this.active(!1),this.set("draggable",{}),d&&a(document).on("selectstart",!0),a(d?document:window).off("mousemove",this.drag).off("mouseup",this.stopDrag),!1},setEvents:function(){return this.$el.on("mouseenter",this.hover.bind(this,!0)).on("mouseleave",this.hover.bind(this,!1)),this.$scrollBar.on("mousedown",this.draggableStart.bind(this)),this.$viewPort.on("scroll",function(){this.active()||this.setBarPosition()}.bind(this)),"auto"===this.get("options").resize&&this.set("resizeInterval",setInterval(this.setBarHeight.bind(this),100)),!0},removeEvents:function(){clearInterval(this.get("resizeInterval")),a(d?document:window).off("mousemove",this.drag).off("mouseup",this.stopDrag)}};var e={resize:function(a){a.setBarHeight()},destroy:function(a){a.destroy()},setPosition:function(a,b,c){a.setContentPosition(b),a.setBarPosition(),c&&(a.hover(!0),a.hover(!1))},setContent:function(a,b){a.$content.html(b)},addContent:function(a,b){a.$content.append(b)}};a.fn.extend({barrita:function(d,f,g){var h;return void 0===d||"object"===a.type(d)?d=a.extend({},c,d):(h=d,d=void 0),a(this).each(function(){var c=a(this),i=c.data("barrita");if(i){if("string"!==a.type(h)||!e[h])throw new Error("Invalid action");e[h](i,f,g)}else c.data("barrita",new b(c,d)),c.on("barrita:destroy",function(){c.removeData("barrita")});return i})}})});
@@ -5156,16 +5156,18 @@
 d)),c.on
+ce
 (%22barrit

Build current version