| Current Path : /home/lejardintz/www/media/foundry/3.1/scripts/ |
| Current File : /home/lejardintz/www/media/foundry/3.1/scripts/tinyscrollbar.min.js |
!function(){var moduleFactory=function($){var module=this,exports=function(){var jQuery=$;!function($){function Scrollbar(root,options){function initialize(){return oSelf.update(),setEvents(),oSelf}function setSize(){var sCssSize=sSize.toLowerCase();oThumb.obj.css(sDirection,iScroll/oScrollbar.ratio),oContent.obj.css(sDirection,-iScroll),iMouse.start=oThumb.obj.offset()[sDirection],oScrollbar.obj.css(sCssSize,oTrack[options.axis]),oTrack.obj.css(sCssSize,oTrack[options.axis]),oThumb.obj.css(sCssSize,oThumb[options.axis])
}function setEvents(){touchEvents?oViewport.obj[0].ontouchstart=function(event){1===event.touches.length&&(start(event.touches[0]),event.stopPropagation())}:(oThumb.obj.bind("mousedown",start),oTrack.obj.bind("mouseup",drag)),options.scroll&&window.addEventListener?(oWrapper[0].addEventListener("DOMMouseScroll",wheel,!1),oWrapper[0].addEventListener("mousewheel",wheel,!1)):options.scroll&&(oWrapper[0].onmousewheel=wheel)}function start(event){var oThumbDir=parseInt(oThumb.obj.css(sDirection),10);iMouse.start=sAxis?event.pageX:event.pageY,iPosition.start="auto"==oThumbDir?0:oThumbDir,touchEvents?(document.ontouchmove=function(event){event.preventDefault(),drag(event.touches[0])
},document.ontouchend=end):($(document).bind("mousemove",drag),$(document).bind("mouseup",end),oThumb.obj.bind("mouseup",end))}function wheel(event){if(oContent.ratio<1){var oEvent=event||window.event,iDelta=oEvent.wheelDelta?oEvent.wheelDelta/120:-oEvent.detail/3;iScroll-=iDelta*options.wheel,iScroll=Math.min(oContent[options.axis]-oViewport[options.axis],Math.max(0,iScroll)),oThumb.obj.css(sDirection,iScroll/oScrollbar.ratio),oContent.obj.css(sDirection,-iScroll),(options.lockscroll||iScroll!==oContent[options.axis]-oViewport[options.axis]&&0!==iScroll)&&(oEvent=$.event.fix(oEvent),oEvent.preventDefault())
}}function drag(event){oContent.ratio<1&&(iPosition.now=touchEvents?Math.min(oTrack[options.axis]-oThumb[options.axis],Math.max(0,iPosition.start+(iMouse.start-(sAxis?event.pageX:event.pageY)))):Math.min(oTrack[options.axis]-oThumb[options.axis],Math.max(0,iPosition.start+((sAxis?event.pageX:event.pageY)-iMouse.start))),iScroll=iPosition.now*oScrollbar.ratio,oContent.obj.css(sDirection,-iScroll),oThumb.obj.css(sDirection,iPosition.now))}function end(){$(document).unbind("mousemove",drag),$(document).unbind("mouseup",end),oThumb.obj.unbind("mouseup",end),document.ontouchmove=document.ontouchend=null
}var oSelf=this,oWrapper=root,oViewport={obj:$(".viewport",root)},oContent={obj:$(".overview",root)},oScrollbar={obj:$(".scrollbar",root)},oTrack={obj:$(".track",oScrollbar.obj)},oThumb={obj:$(".thumb",oScrollbar.obj)},sAxis="x"===options.axis,sDirection=sAxis?"left":"top",sSize=sAxis?"Width":"Height",iScroll=0,iPosition={start:0,now:0},iMouse={},touchEvents="ontouchstart"in document.documentElement?!0:!1;return this.update=function(sScroll){oViewport[options.axis]=oViewport.obj[0]["offset"+sSize],oContent[options.axis]=oContent.obj[0]["scroll"+sSize],oContent.ratio=oViewport[options.axis]/oContent[options.axis],oScrollbar.obj.toggleClass("disable",oContent.ratio>=1),oTrack[options.axis]="auto"===options.size?oViewport[options.axis]:options.size,oThumb[options.axis]=Math.min(oTrack[options.axis],Math.max(0,"auto"===options.sizethumb?oTrack[options.axis]*oContent.ratio:options.sizethumb)),oScrollbar.ratio="auto"===options.sizethumb?oContent[options.axis]/oTrack[options.axis]:(oContent[options.axis]-oViewport[options.axis])/(oTrack[options.axis]-oThumb[options.axis]),iScroll="relative"===sScroll&&oContent.ratio<=1?Math.min(oContent[options.axis]-oViewport[options.axis],Math.max(0,iScroll)):0,iScroll="bottom"===sScroll&&oContent.ratio<=1?oContent[options.axis]-oViewport[options.axis]:isNaN(parseInt(sScroll,10))?iScroll:parseInt(sScroll,10),setSize()
},initialize()}$.tiny=$.tiny||{},$.tiny.scrollbar={options:{axis:"y",wheel:40,scroll:!0,lockscroll:!0,size:"auto",sizethumb:"auto"}},$.fn.tinyscrollbar=function(params){var options=$.extend({},$.tiny.scrollbar.options,params);return this.each(function(){$(this).data("tsb",new Scrollbar($(this),options))}),this},$.fn.tinyscrollbar_update=function(sScroll){return $(this).data("tsb").update(sScroll)}}(jQuery)};exports(),module.resolveWith(exports)};FD31.module("tinyscrollbar",moduleFactory)}();