(function(a){a.fn.jScrollTouch=function(d){if(!d){d={}}if((navigator.userAgent.match(/iPhone/i))||(navigator.userAgent.match(/iPod/i))||(navigator.userAgent.match(/iPad/i))){var b=1}else{var b=0}if(b){optionDefault={ease:650,displayScrollBar:true,wrapperClass:"",wrapperStyle:{}};var c=a.extend(optionDefault,d);a(this).css({overflow:"hidden"});if(a(this).css("position")!="relative"&&a(this).css("position")!="absolute"){a(this).css({position:"relative"})}return this.each(function(){var k=a("<div class='jScrollTouch "+c.wrapperClass+"' style ='-webkit-transition-property: -webkit-transform; -webkit-transition-duration: "+c.ease+"ms; -webkit-transition-timing-function: ease-out; -webkit-transition-delay: initial; -webkit-transform: translate3d(0px, 0px, 0px); '/>");k.css(c.wrapperStyle);a(this).wrapInner(k);var f=a(this);var p=0;var v=0;var t=0;var s=0;var j=0;var l=0;var e=0;var h=0;var g=0;var x=0;var w=0;var n=0;var u=0;var m=false;var y=0;var i=0;var o=a('<div style="-webkit-transition-property: top; -webkit-transition-duration: '+c.ease+'ms; -webkit-transition-timing-function: ease-out; -webkit-transition-delay: initial;"></div>');var r=a('<div style="-webkit-transition-property: left; -webkit-transition-duration: '+c.ease+'ms; -webkit-transition-timing-function: ease-out; -webkit-transition-delay: initial"></div>');f.append(o);f.append(r);function q(){j=0;a(".jScrollTouch",f).children().each(function(){j=j+a(this).outerHeight()});j=Math.max(j,a(".jScrollTouch",f).outerHeight());l=j>f.height();e=j;h=f.innerHeight()*(f.innerHeight()/e)+2;s=e-f.height();n=(Math.max.apply(Math,a(".jScrollTouch",f).children().map(function(){return a(this).width()}).get()));m=n>f.width();y=n;u=n-f.width();i=f.innerWidth()*(f.innerWidth()/y)+2;o.css({display:"none",position:"absolute",width:"5px",height:h+"px",background:"black",border:"1px white solid","-webkit-border-radius":"5px",opacity:"0.9"});r.css({display:"none",position:"absolute",height:"5px",width:i+"px",background:"black",border:"1px white solid","-webkit-border-radius":"5px",opacity:"0.9"});f.unbind("mousemove touchmove mouseup touchend")}f.bind("mousedown touchstart",function(A){if(b&&A.originalEvent.touches){A=A.originalEvent.touches[0]}var z=A.pageY;var B=A.pageX;q();if(l&&c.displayScrollBar){o.fadeIn(300)}if(m&&c.displayScrollBar){r.fadeIn(300)}f.bind("mousemove touchmove ",function(D){if(b&&D.originalEvent.touches){D.preventDefault();D=D.originalEvent.touches[0]}p=(D.pageY-z);g=(D.pageX-B);var C=(m)?x+g:0;var E=(l)?(v+p):0;a(".jScrollTouch",f).css({"-webkit-transform":"translate3d("+C+"px, "+E+"px, 0px)"});if(l){o.css({left:(f.innerWidth()-7)+"px",top:(-E*f.innerHeight()/e)+"px"})}if(m){r.css({top:(f.innerHeight()-7)+"px",left:(-C*f.innerWidth()/y)+"px"})}});f.bind("mouseup touchend",function(C){f.unbind("mousemove touchmove mouseup touchend");v=v+p;x=x+g;v=(l)?Math.max(Math.min(v,t),-s):0;x=(m)?Math.max(Math.min(x,w),-u):0;a(".jScrollTouch",f).css({"-webkit-transform":"translate3d("+x+"px, "+v+"px, 0px)"});if(l){o.css({left:(f.innerWidth()-7)+"px",top:(-v*f.innerHeight()/e)+"px"})}if(m){r.css({top:(f.innerHeight()-7)+"px",left:(-x*f.innerWidth()/y)+"px"})}if(l){o.fadeOut(300,function(){a(this).hide()})}if(m){r.fadeOut(300,function(){a(this).hide()})}})})})}}})(jQuery);
