(function(a,b){window.touchslider=function(c){function s(a){n.removeclass(c.currentclass).eq(a).addclass(c.currentclass)}function t(a,c){var d=f.current;d!==a&&(a=a!==b?a:d+1,q.to(a,{complete:c}))}function u(a){q.to(f.current+1,{dirx:1,complete:a})}function v(a){q.to(f.current-1,{dirx:-1,complete:a})}function z(){x&&a()}function a(){return x=!0,w||(cleartimeout(y),y=settimeout(function(){!q.moving&&!w&&u()},c.delay)),c.container}function b(){return cleartimeout(y),x=!1,c.container}function c(){var b=a(document),c,e,f=!1,m,n,o,p,s,t,u,v,w,x,y,z=function(a){if(a.which>1)return;f&&b.triggerhandler(j+"."+d),f=!0,e=!1,c=a.timestamp,s=x=0,m=[0,0,0,c];if(a.originalevent.touches){b.one(h,a);return}a.preventdefault(),o=p=a.pagex,v=w=a.pagey,u=l[0].offsetleft,n=[0,0,0,o],b.bind(i,b),b.one(j+"."+d,c),q.movestart(a)},a=function(a){if(a.originalevent.touches.length!==1)return;o=p=a.pagex=a.originalevent.touches[0].pagex,v=w=a.pagey=a.originalevent.touches[0].pagey,t=y=0,u=(new webkitcssmatrix(window.getcomputedstyle(l[0]).webkittransform)).e,n=[0,0,0,o],b.bind(i,b),b.one(j,c),q.movestart(a)},b=function(b){var c,d;if(b.originalevent.touches&&g){if(b.originalevent.touches.length!==1)return;c=b.pagex=b.originalevent.touches[0].pagex,d=b.pagey=b.originalevent.touches[0].pagey,t+=math.abs(c-p),y+=math.abs(d-w);if(math.abs(t-y)>50){var f=t;t=math.min(100,math.max(0,t-y)),y=math.min(100,math.max(0,y-f))}if(c===p)return;e||(t>y?(b.preventdefault(),e=!0):c(b))}else{c=b.pagex,d=b.pagey;if(c===p)return;a.browser.msie&&b.preventdefault()}s+=math.abs(c-p),x+=math.abs(d-w),m.shift(),m.push(b.timestamp),n.shift(),n.push(c),q.move(b,p),p=c,w=d},c=function(a){f=!1;if(!a.originalevent||a.originalevent.touches)a.pagex=p,a.pagey=w;b.unbind(i,b);var d=m.length,e=0,g=0;while(--d>0)if(m[d-1]){var h=n[d]-n[d-1];e+=math.abs(h)/(m[d]-m[d-1]),h!==0&&(g=h>0?-1:1)}e/=m.length,q.moveend(a,e,g,c,s,x),r=!1,s+x>4&&k.one("click",function(a){a.preventdefault()})};k.bind(h,z)}c=c||{};var d=c.namespace||"touchslider",e=a(c.container);if(e.length!==1){e.each(function(){touchslider({container:this})});return}c=a.extend({autoplay:!1,delay:3e3,margin:5,viewport:"."+d+"-viewport",prev:"."+d+"-prev",next:"."+d+"-next",pagination:"."+d+"-nav-item",currentclass:d+"-nav-item-current",duration:350,mousetouch:!0},c);var f={current:0,step:t,next:u,prev:v,start:a,stop:b},g="ontouchstart"in window&&"webkitcssmatrix"in window,h="touchstart",i="touchmove",j="touchend",k=a(c.viewport,e),l=c.scroller?a(c.scroller,e):k.children(),m=l.children(),n=a(c.pagination,e);if(l.css("position")!=="absolute"){var o=k.height();k.css({/*height:o,*/position:"relative"}),l.css({position:"absolute",left:0,/*height:o,*/width:'100%'})}g||(h="mousedown",i="mousemove",j="mouseup"),m.css("position","absolute");var p=g?function(a,c,d){if(c===b)return parseint((a.jquery?a[0]:a).style.left,10);a.css({webkittransitionduration:d?d+"ms":"0",'left':(typeof c=="number"?c:c.call(this,a))})}:function(a,c){if(c===b)return parseint((a.jquery?a[0]:a).style.left,10);a.css("left",c)};g&&m.css({webkittransitionproperty:"-webkit-transform",webkittransitiontimingfunction:"cubic-bezier(0,0,0.25,1)"}),p(m.not(m[0]),1e4),p(m.eq(0),0);var q=function(){var d=[0],e=[0],h=a.noop;return{moving:!1,init:function(){l.bind("webkittransitionend",function(){h()})},to:function(i,j){j=j||{},i>=m.length?i=0:i<0&&(i=m.length-1);var k=c.duration,n=m.eq(i),o=a.inarray(i,d),r=0;l.stop(),q.moving=!0,cleartimeout(y);if(o!==-1)r=e[o];else{var t,u=m.index(n);o=b;if(j.dirx===-1)e.unshift(0),d.unshift(u);else if(j.dirx===1)e.push(0),d.push(u);else{for(t=d.length-1;t>=0;t--)if(d[t]=0;t--)w-=m.eq(d[t]).outerwidth()+c.margin,e[t]=w;var a=r;for(t=o+1;t0&&(q.leftcount=b+(e[0]+b)*3):d[d.length-1]===m.length-1&&(c=e[d.length-1]+b,c<0&&(q.leftcount=b+c*3))},move:function(a,b){var f=a.pagex-b,g=p(l),h=m.eq(d[0]),i=d.length-1,j=m.eq(d[i]),n,o,r;q.leftcount+=f;if(f>0)while(d[0]!==0&&g+e[0]+f>c.margin)n=m.eq(d[0]-1),o=e[0]-n.outerwidth()-c.margin,p(n,o),e.unshift(o),d.unshift(d[0]-1),i++,h=n;(f>0&&g+e[0]+f>0||f<0&&g+e[0]>0)&&d[0]===0&&(r=math.min(math.round((q.leftcount+e[0])/4),k.innerwidth()/2),f=r-(g+e[0]));if(f<0)while(!j.is(m.last())&&g+e[i]+f+j.outerwidth()+c.margin0&&g+e[i]<0||f<0&&g+e[i]+f<0)&&j.is(m.last())&&(r=math.max(math.round((q.leftcount+e[i])/4),-k.innerwidth()/2),f=r-(g+e[i])),p(l,g+f)},moveend:function(a,b,c,f,g,h){var i=d.length,j=p(l),n=i-1,o;if(e[0]+j>0)n=0;else if(!(e[d.length-1]+j<0)){o={pxinms:b};var s,t,u=i-1,v=k.innerwidth();for(s=0;s0&&t>v-(e[s+1]+j)){u=s;break}}if(r)n=u;else{var w=i-1,x=math.round(l.offset().left);for(s=0;sa.pagex){w=s-1;break}n=u,u===w&&a.timestamp-f<1e3&&g+h>math.sqrt(math.pow(k.height(),2)+math.pow(v,2))*.05&&(n=math.max(0,math.min(i-1,n+c)))}}n=d[n],q.to(n,o)}}}();q.init();if(g){var r=!1;l.bind("webkittransitionstart",function(){r=!0}),l.bind("webkittransitionend",function(){r=!1})}var w=!1,x=!1,y;k.hover(function(){cleartimeout(y),w=!0},function(){w=!1,z()}),n.click(function(){t(n.index(this))}),a(c.prev,e).click(function(){v()}),a(c.next,e).click(function(){u()}),c.mousetouch&&c(),c.autoplay&&a(),e.data(d,f)},a.fn.touchslider=function(a){return a=a||{},a.container=this,touchslider(a),this}})(jquery);