
(function($){$.fn.jScrollTouch=function(){if((navigator.userAgent.match(/iPhone/i))||(navigator.userAgent.match(/iPod/i))||(navigator.userAgent.match(/iPad/i))){var isTouchScreen=1;}else{var isTouchScreen=0;}
$(this).css({'overflow':'auto','position':'relative'});return this.each(function(){var cont=$(this);var height=0;var cpos=cont.scrollTop()
cont.scrollTop(100000);height=cont.scrollTop();cont.scrollTop(cpos);var fullheight=height+cont.outerHeight();var scrollbarV_length=cont.innerHeight()*(cont.innerHeight()/fullheight)+2;var width=0;var lpos=cont.scrollLeft();cont.scrollLeft(100000);width=cont.scrollLeft();cont.scrollLeft(lpos);var fullwidth=width+cont.outerWidth();var scrollbarH_length=cont.innerWidth()*(cont.innerWidth()/fullwidth)+2;if(isTouchScreen){var scrollbarV=$('<div></div>');scrollbarV.css({'display':'none','position':'absolute','width':'5px','height':scrollbarV_length+'px','left':cont.innerWidth()-7+'px','top':0,'background':'black','border':'1px white solid','-webkit-border-radius':'5px','opacity':'0.9'});var scrollbarH=$('<div></div>');scrollbarH.css({'display':'none','position':'absolute','height':'5px','width':scrollbarH_length+'px','top':cont.innerHeight()-7+'px','left':0,'background':'black','border':'1px white solid','-webkit-border-radius':'5px','opacity':'0.9'});if(height)cont.append(scrollbarV);if(width)cont.append(scrollbarH);}
cont.bind('mousedown touchstart',function(e){cpos=cont.scrollTop();if(isTouchScreen){e=e.originalEvent.touches[0];}
if(isTouchScreen){scrollbarV.show();scrollbarH.show();}
var sY=e.pageY;var sX=e.pageX;cont.bind('mousemove touchmove ',function(ev){if(isTouchScreen){ev.preventDefault();ev=ev.originalEvent.touches[0];}
var top=cpos-(ev.pageY-sY);var left=lpos-(ev.pageX-sX);cont.scrollTop(top);cpos=cont.scrollTop();sY=ev.pageY;cont.scrollLeft(left);lpos=cont.scrollLeft();sX=ev.pageX;if(isTouchScreen){scrollbarV.css({'left':Math.min(cont.innerWidth()-7+lpos,fullwidth)+'px','top':Math.min(cpos+cpos*cont.innerHeight()/fullheight,fullheight-scrollbarV_length)+'px'});scrollbarH.css({'top':Math.min(cont.innerHeight()-7+cpos,fullheight)+'px','left':Math.min(lpos+lpos*cont.innerWidth()/fullwidth,fullwidth-scrollbarH_length)+'px'});}});cont.bind('mouseup touchend',function(ev){cont.unbind('mousemove touchmove mouseup touchend');if(isTouchScreen){scrollbarV.fadeOut();scrollbarH.fadeOut();}});});});}})(jQuery);
