|
@@ -36,15 +36,15 @@ body:b.doc.contents().find("body")[0]};b.getContentSize=function(){return{w:Math
|
|
|
"contentWindow"in this?b.bind(this.contentWindow,"scroll",b.onscroll):b.bind(c,"scroll",b.onscroll);b.bind(c,"mouseup",b.onmouseup);b.bind(c,"mousewheel",b.onmousewheel);b.bind(c,b.isopera?"keypress":"keydown",b.onkeypress);if(b.cantouch||b.opt.touchbehavior){b.bind(c,"mousedown",b.onmousedown);b.cursorgrabvalue&&b.css(e(c.body),{cursor:b.cursorgrabvalue})}b.bind(c,"mousemove",b.onmousemove);if(b.zoom){b.opt.dblclickzoom&&b.bind(c,"dblclick",b.doZoom);b.ongesturezoom&&b.bind(c,"gestureend",b.ongesturezoom)}};
|
|
|
this.doc[0].readyState&&this.doc[0].readyState=="complete"&&setTimeout(function(){f.call(b.doc[0],false)},500);b.bind(this.doc,"load",f)}};this.showCursor=function(c){if(b.cursortimeout){clearTimeout(b.cursortimeout);b.cursortimeout=0}if(b.rail){b.autohidedom&&b.autohidedom.stop().css({opacity:b.opt.cursoropacitymax});if(typeof c!="undefined")b.scroll.y=Math.round(c*1/b.scrollratio.y);b.cursor.css({height:b.cursorheight,top:b.scroll.y});b.zoom&&b.zoom.stop().css({opacity:b.opt.cursoropacitymax})}};
|
|
|
this.hideCursor=function(c){if(!b.cursortimeout&&b.rail&&b.autohidedom)b.cursortimeout=setTimeout(function(){if(!b.rail.active){b.autohidedom.stop().animate({opacity:b.opt.cursoropacitymin});b.zoom&&b.zoom.stop().animate({opacity:b.opt.cursoropacitymin})}b.cursortimeout=0},c||400)};this.noticeCursor=function(c,d){b.showCursor(d);b.hideCursor(c)};this.getContentSize=b.ispage?function(){return{w:Math.max(document.body.scrollWidth,document.documentElement.scrollWidth),h:Math.max(document.body.scrollHeight,
|
|
|
-document.documentElement.scrollHeight)}}:b.haswrapper?function(){return{w:b.doc.outerWidth()+parseInt(b.win.css("paddingLeft"))+parseInt(b.win.css("paddingRight")),h:b.doc.outerHeight()+parseInt(b.win.css("paddingTop"))+parseInt(b.win.css("paddingBottom"))}}:function(){return{w:b.docscroll[0].scrollWidth,h:b.docscroll[0].scrollHeight}};this.resize=this.onResize=function(c,d){if(!b.haswrapper&&!b.ispage){if(b.win.css("display")=="none"){b.visibility&&b.hideRail();return false}!b.visibility&&b.getScrollTop()==
|
|
|
-0&&b.doScrollTo(Math.floor(b.scroll.y*b.scrollratio.y));!b.hidden&&!b.visibility&&b.showRail()}var e=b.page.maxh,h=b.page.maxw,f=b.view.w;b.view={w:b.ispage?b.win.width():parseInt(b.win[0].clientWidth),h:b.ispage?b.win.height():parseInt(b.win[0].clientHeight)};b.page=d?d:b.getContentSize();b.page.maxh=Math.max(0,b.page.h-b.view.h);b.page.maxw=Math.max(0,b.page.w-b.view.w);if(b.page.maxh==e&&b.page.maxw==h&&b.view.w==f){if(b.ispage)return b;e=b.win.offset();if(b.lastposition){h=b.lastposition;if(h.top==
|
|
|
-e.top&&h.left==e.left)return b}b.lastposition=e}if(b.page.maxh==0){b.hideRail();b.scrollvaluemax=0;b.scroll.y=0;b.scrollratio={x:0,y:0};b.cursorheight=0;b.locked=true;b.setScrollTop(0);return false}if(!b.hidden&&!b.visibility){b.showRail();b.locked=false}if(b.istextarea&&b.win.css("resize")&&b.win.css("resize")!="none")b.view.h=b.view.h-20;b.ispage||b.updateScrollBar(b.view);b.cursorheight=Math.min(b.view.h,Math.round(b.view.h*(b.view.h/b.page.h)));b.cursorheight=Math.max(b.opt.cursorminheight,b.cursorheight);
|
|
|
-b.scrollvaluemax=b.view.h-b.cursorheight-b.cursor.hborder;b.scrollratio={x:0,y:b.page.maxh/b.scrollvaluemax};if(b.getScrollTop()>b.page.maxh)b.doScroll(b.page.maxh);else{b.scroll.y=Math.round(b.getScrollTop()*(1/b.scrollratio.y));b.noticeCursor()}return b};this.lazyResize=function(){b.delayed("resize",b.resize,250)};this._bind=function(c,d,e,h){b.events.push({e:c,n:d,f:e});c.addEventListener?c.addEventListener(d,e,h||false):c.attachEvent?c.attachEvent("on"+d,e):c["on"+d]=e};this.bind=function(c,d,
|
|
|
-e,h){var f="jquery"in c?c[0]:c;if(f.addEventListener){b.cantouch&&/mouseup|mousedown|mousemove/.test(d)&&b._bind(f,d=="mousedown"?"touchstart":d=="mouseup"?"touchend":"touchmove",function(b){if(b.touches){if(b.touches.length<2){var c=b.touches.length?b.touches[0]:b;c.original=b;e.call(this,c)}}else if(b.changedTouches){c=b.changedTouches[0];c.original=b;e.call(this,c)}},h||false);b._bind(f,d,e,h||false);d=="mousewheel"&&b._bind(f,"DOMMouseScroll",e,h||false);b.cantouch&&d=="mouseup"&&b._bind(f,"touchcancel",
|
|
|
-e,h||false)}else b._bind(f,d,function(c){if((c=c||window.event||false)&&c.srcElement)c.target=c.srcElement;return e.call(f,c)===false||h===false?b.cancelEvent(c):true})};this._unbind=function(b,d,e){b.removeEventListener?b.removeEventListener(d,e,false):b.detachEvent?b.detachEvent("on"+d,e):b["on"+d]=false};this.unbindAll=function(){for(var c=0;c<b.events.length;c++){var d=b.events[c];b._unbind(d.e,d.n,d.f)}};this.cancelEvent=function(b){b=b.original?b.original:b?b:window.event||false;if(!b)return false;
|
|
|
-b.preventDefault&&b.preventDefault();b.stopPropagation&&b.stopPropagation();b.preventManipulation&&b.preventManipulation();b.cancelBubble=true;b.cancel=true;return b.returnValue=false};this.showRail=function(){if(b.page.maxh!=0&&(b.ispage||b.win.css("display")!="none")){b.visibility=true;b.rail.css("display","block")}return b};this.hideRail=function(){b.visibility=false;b.rail.css("display","none");return b};this.show=function(){b.hidden=false;b.locked=false;return b.showRail()};this.hide=function(){b.hidden=
|
|
|
-true;b.locked=true;return b.hideRail()};this.remove=function(){b.doZoomOut();b.unbindAll();b.observer!==false&&b.observer.disconnect();b.events=[];b.rail.remove();b.zoom&&b.zoom.remove();b.cursor=false;b.rail=false;b.zoom=false;for(var c=0;c<b.saved.css.length;c++){var d=b.saved.css[c];d[0].css(d[1],typeof d[2]=="undefined"?"":d[2])}b.saved=false;b.me.data("__nicescroll","");return b};this.isScrollable=function(b){for(b=b.target?b.target:b;b&&b.nodeName&&!/BODY|HTML/.test(b.nodeName);){var d=e(b),
|
|
|
-d=d.css("overflowY")||d.css("overflow")||"";if(/scroll|auto/.test(d))return b.clientHeight!=b.scrollHeight;b=b.parentNode?b.parentNode:false}return false};this.onmousewheel=function(c){if(b.locked&&b.page.maxh==0)return true;if(b.opt.preservenativescrolling&&b.checkarea){b.checkarea=false;b.nativescrollingarea=b.isScrollable(c)}if(b.nativescrollingarea)return true;if(b.locked||b.rail.drag)return b.cancelEvent(c);var d=0;if(d=c.detail?c.detail*-1:c.wheelDelta/40){b.scrollmom&&b.scrollmom.y.stop();
|
|
|
+document.documentElement.scrollHeight)}}:b.haswrapper?function(){return{w:b.doc.outerWidth()+parseInt(b.win.css("paddingLeft"))+parseInt(b.win.css("paddingRight")),h:b.doc.outerHeight()+parseInt(b.win.css("paddingTop"))+parseInt(b.win.css("paddingBottom"))}}:function(){return{w:b.docscroll[0].scrollWidth,h:b.docscroll[0].scrollHeight}};this.resize=this.onResize=function(c,d){if(b.rail==false)return false;if(!b.haswrapper&&!b.ispage){if(b.win.css("display")=="none"){b.visibility&&b.hideRail();return false}!b.visibility&&
|
|
|
+b.getScrollTop()==0&&b.doScrollTo(Math.floor(b.scroll.y*b.scrollratio.y));!b.hidden&&!b.visibility&&b.showRail()}var e=b.page.maxh,h=b.page.maxw,f=b.view.w;b.view={w:b.ispage?b.win.width():parseInt(b.win[0].clientWidth),h:b.ispage?b.win.height():parseInt(b.win[0].clientHeight)};b.page=d?d:b.getContentSize();b.page.maxh=Math.max(0,b.page.h-b.view.h);b.page.maxw=Math.max(0,b.page.w-b.view.w);if(b.page.maxh==e&&b.page.maxw==h&&b.view.w==f){if(b.ispage)return b;e=b.win.offset();if(b.lastposition){h=b.lastposition;
|
|
|
+if(h.top==e.top&&h.left==e.left)return b}b.lastposition=e}if(b.page.maxh==0){b.hideRail();b.scrollvaluemax=0;b.scroll.y=0;b.scrollratio={x:0,y:0};b.cursorheight=0;b.locked=true;b.setScrollTop(0);return false}if(!b.hidden&&!b.visibility){b.showRail();b.locked=false}if(b.istextarea&&b.win.css("resize")&&b.win.css("resize")!="none")b.view.h=b.view.h-20;b.ispage||b.updateScrollBar(b.view);b.cursorheight=Math.min(b.view.h,Math.round(b.view.h*(b.view.h/b.page.h)));b.cursorheight=Math.max(b.opt.cursorminheight,
|
|
|
+b.cursorheight);b.scrollvaluemax=b.view.h-b.cursorheight-b.cursor.hborder;b.scrollratio={x:0,y:b.page.maxh/b.scrollvaluemax};if(b.getScrollTop()>b.page.maxh)b.doScroll(b.page.maxh);else{b.scroll.y=Math.round(b.getScrollTop()*(1/b.scrollratio.y));b.noticeCursor()}return b};this.lazyResize=function(){b.delayed("resize",b.resize,250)};this._bind=function(c,d,e,h){b.events.push({e:c,n:d,f:e});c.addEventListener?c.addEventListener(d,e,h||false):c.attachEvent?c.attachEvent("on"+d,e):c["on"+d]=e};this.bind=
|
|
|
+function(c,d,e,h){var f="jquery"in c?c[0]:c;if(f.addEventListener){b.cantouch&&/mouseup|mousedown|mousemove/.test(d)&&b._bind(f,d=="mousedown"?"touchstart":d=="mouseup"?"touchend":"touchmove",function(b){if(b.touches){if(b.touches.length<2){var c=b.touches.length?b.touches[0]:b;c.original=b;e.call(this,c)}}else if(b.changedTouches){c=b.changedTouches[0];c.original=b;e.call(this,c)}},h||false);b._bind(f,d,e,h||false);d=="mousewheel"&&b._bind(f,"DOMMouseScroll",e,h||false);b.cantouch&&d=="mouseup"&&
|
|
|
+b._bind(f,"touchcancel",e,h||false)}else b._bind(f,d,function(c){if((c=c||window.event||false)&&c.srcElement)c.target=c.srcElement;return e.call(f,c)===false||h===false?b.cancelEvent(c):true})};this._unbind=function(b,d,e){b.removeEventListener?b.removeEventListener(d,e,false):b.detachEvent?b.detachEvent("on"+d,e):b["on"+d]=false};this.unbindAll=function(){for(var c=0;c<b.events.length;c++){var d=b.events[c];b._unbind(d.e,d.n,d.f)}};this.cancelEvent=function(b){b=b.original?b.original:b?b:window.event||
|
|
|
+false;if(!b)return false;b.preventDefault&&b.preventDefault();b.stopPropagation&&b.stopPropagation();b.preventManipulation&&b.preventManipulation();b.cancelBubble=true;b.cancel=true;return b.returnValue=false};this.showRail=function(){if(b.page.maxh!=0&&(b.ispage||b.win.css("display")!="none")){b.visibility=true;b.rail.css("display","block")}return b};this.hideRail=function(){b.visibility=false;b.rail.css("display","none");return b};this.show=function(){b.hidden=false;b.locked=false;return b.showRail()};
|
|
|
+this.hide=function(){b.hidden=true;b.locked=true;return b.hideRail()};this.remove=function(){b.doZoomOut();b.unbindAll();b.observer!==false&&b.observer.disconnect();b.events=[];b.rail.remove();b.zoom&&b.zoom.remove();b.cursor=false;b.rail=false;b.zoom=false;for(var c=0;c<b.saved.css.length;c++){var d=b.saved.css[c];d[0].css(d[1],typeof d[2]=="undefined"?"":d[2])}b.saved=false;b.me.data("__nicescroll","");return b};this.isScrollable=function(b){for(b=b.target?b.target:b;b&&b.nodeName&&!/BODY|HTML/.test(b.nodeName);){var d=
|
|
|
+e(b),d=d.css("overflowY")||d.css("overflow")||"";if(/scroll|auto/.test(d))return b.clientHeight!=b.scrollHeight;b=b.parentNode?b.parentNode:false}return false};this.onmousewheel=function(c){if(b.locked&&b.page.maxh==0)return true;if(b.opt.preservenativescrolling&&b.checkarea){b.checkarea=false;b.nativescrollingarea=b.isScrollable(c)}if(b.nativescrollingarea)return true;if(b.locked||b.rail.drag)return b.cancelEvent(c);var d=0;if(d=c.detail?c.detail*-1:c.wheelDelta/40){b.scrollmom&&b.scrollmom.y.stop();
|
|
|
b.lastdelta=b.lastdelta+d*b.opt.mousescrollstep;b.synched("mousewheel",function(){if(!b.rail.drag){var c=b.lastdelta;b.lastdelta=0;b.doScrollBy(c)}})}return b.cancelEvent(c)};this.stop=function(){b.cancelScroll();b.scrollmon&&b.scrollmon.stop();b.cursorfreezed=false;b.scroll.y=Math.round(b.getScrollTop()*(1/b.scrollratio.y));b.noticeCursor();return b};b.ishwscroll&&b.hastransition&&b.opt.usetransition?(this.prepareTransition=function(c){var d=Math.round(b.opt.scrollspeed*10),c=Math.min(d,Math.round(c/
|
|
|
20*b.opt.scrollspeed)),d=c>20?b.prefixstyle+"transform "+c+"ms ease-out 0s":"";if(!b.lasttransitionstyle||b.lasttransitionstyle!=d){b.lasttransitionstyle=d;b.doc.css(b.transitionstyle,d)}return c},this.doScroll=function(c,d){var e=b.getScrollTop();if(c<0&&e<=0)return b.noticeCursor();if(c>b.page.maxh&&e>=b.page.maxh){b.checkContentSize();return b.noticeCursor()}b.newscrolly=c;b.newscrollspeed=d||false;if(b.timer)return false;if(!b.scrollendtrapped){b.scrollendtrapped=true;b.bind(b.doc,b.transitionend,
|
|
|
b.onScrollEnd,false)}b.timer=setTimeout(function(){var c=b.getScrollTop(),c=b.newscrollspeed?b.newscrollspeed:Math.abs(c-b.newscrolly),d=b.prepareTransition(c);b.timer=setTimeout(function(){if(b.newscrolly<0&&!b.opt.bouncescroll)b.newscrolly=0;else if(b.newscrolly>b.page.maxh&&!b.opt.bouncescroll)b.newscrolly=b.page.maxh;if(b.newscrolly==b.getScrollTop()){b.timer=0;b.onScrollEnd()}else{var c=b.getScrollTop();b.timerscroll&&b.timerscroll.tm&&clearInterval(b.timerscroll.tm);if(d>0){b.timerscroll={ts:(new Date).getTime(),
|