/* * swiper 2.1 - mobile touch slider * http://www.idangero.us/sliders/swiper/ * * copyright 2012-2013, vladimir kharlampidi * the idangero.us * http://www.idangero.us/ * * licensed under gpl & mit * * updated on: august 22, 2013 */ var swiper=function(f,b){function g(a){return document.queryselectorall?document.queryselectorall(a):jquery(a)}function h(){var c=y-l;b.freemode&&(c=y-l);b.slidesperview>a.slides.length&&(c=0);0>c&&(c=0);return c}function n(){function c(c){var d=new image;d.onload=function(){a.imagesloaded++;if(a.imagesloaded==a.imagestoload.length&&(a.reinit(),b.onimagesready))b.onimagesready(a)};d.src=c}a.browser.ie10?(a.h.addeventlistener(a.wrapper,a.touchevents.touchstart,z,!1),a.h.addeventlistener(document,a.touchevents.touchmove, a,!1),a.h.addeventlistener(document,a.touchevents.touchend,b,!1)):(a.support.touch&&(a.h.addeventlistener(a.wrapper,"touchstart",z,!1),a.h.addeventlistener(a.wrapper,"touchmove",a,!1),a.h.addeventlistener(a.wrapper,"touchend",b,!1)),b.simulatetouch&&(a.h.addeventlistener(a.wrapper,"mousedown",z,!1),a.h.addeventlistener(document,"mousemove",a,!1),a.h.addeventlistener(document,"mouseup",b,!1)));b.autoresize&&a.h.addeventlistener(window,"resize",a.resizefix,!1);t();a._wheelevent=!1;if(b.mousewheelcontrol){void 0!== document.onmousewheel&&(a._wheelevent="mousewheel");try{wheelevent("wheel"),a._wheelevent="wheel"}catch(d){}a._wheelevent||(a._wheelevent="dommousescroll");a._wheelevent&&a.h.addeventlistener(a.container,a._wheelevent,n,!1)}b.keyboardcontrol&&a.h.addeventlistener(document,"keydown",o,!1);if(b.updateonimagesready){document.queryselectorall?a.imagestoload=a.container.queryselectorall("img"):window.jquery&&(a.imagestoload=g(a.container).find("img"));for(var e=0;e=h&&(r[0]<=h+m&&r[1]>=g&&r[1]<=g+l)&&(e=!0)}if(!e)return}if(k){if(37==b||39==b)c.preventdefault?c.preventdefault():c.returnvalue=!1;39==b&&a.swipenext();37==b&&a.swipeprev()}else{if(38==b||40==b)c.preventdefault?c.preventdefault():c.returnvalue=!1;40==b&&a.swipenext();38==b&&a.swipeprev()}}function n(c){var d=a._wheelevent,e;c.detail?e=-c.detail:"mousewheel"==d?e=c.wheeldelta:"dommousescroll"== d?e=-c.detail:"wheel"==d&&(e=math.abs(c.deltax)>math.abs(c.deltay)?-c.deltax:-c.deltay);b.freemode?(k?a.getwrappertranslate("x"):a.getwrappertranslate("y"),k?(d=a.getwrappertranslate("x")+e,e=a.getwrappertranslate("y"),0e?a.swipenext():a.swipeprev();b.autoplay&&a.stopautoplay(); c.preventdefault?c.preventdefault():c.returnvalue=!1;return!1}function t(a){for(var d=!1;!d;)-1math.abs(d-a.touches.startx)));"undefined"!==typeof x||k||(x=!!(x||math.abs(e-a.touches.starty)c?l/2:a.positions.current*c),a.positions.current<-h()&&(d=(a.touches.current-a.touches.start)*b.touchratio+ (h()+a.positions.start),c=(l+d)/l,d=a.positions.current-d*(1-c)/2,e=-h()-l/2,a.positions.current=d=c?e:d));b.resistance&&"100%"==b.resistance&&(0b.movestartthreshold||m?(m=!0,k?a.setwrappertranslate(a.positions.current,0,0):a.setwrappertranslate(0, a.positions.current,0)):a.positions.current=a.positions.start:k?a.setwrappertranslate(a.positions.current,0,0):a.setwrappertranslate(0,a.positions.current,0);(b.freemode||b.watchactiveindex)&&a.updateactiveslide(a.positions.current);b.grabcursor&&(a.container.style.cursor="move",a.container.style.cursor="grabbing",a.container.style.cursor="-moz-grabbin",a.container.style.cursor="-webkit-grabbing");d||(d=a.touches.current);h||(h=(new date).gettime());a.velocity=(a.touches.current-d)/((new date).gettime()- h)/2;2>math.abs(a.touches.current-d)&&(a.velocity=0);d=a.touches.current;h=(new date).gettime();a.callplugins("ontouchmoveend");if(b.ontouchmove)b.ontouchmove(a);return!1}}}}function b(c){x&&a.swipereset();if(!b.onlyexternal&&a.istouched){a.istouched=!1;b.grabcursor&&(a.container.style.cursor="move",a.container.style.cursor="grab",a.container.style.cursor="-moz-grab",a.container.style.cursor="-webkit-grab");a.positions.current||0===a.positions.current||(a.positions.current=a.positions.start);b.followfinger&& (k?a.setwrappertranslate(a.positions.current,0,0):a.setwrappertranslate(0,a.positions.current,0));a.times.end=(new date).gettime();a.touches.diff=a.touches.current-a.touches.start;a.touches.abs=math.abs(a.touches.diff);a.positions.diff=a.positions.current-a.positions.start;a.positions.abs=math.abs(a.positions.diff);var d=a.positions.diff,e=a.positions.abs;c=a.times.end-a.times.start;5>e&&(300>c&&!1==a.allowlinks)&&(b.freemode||0==e||a.swipereset(),b.preventlinks&&(a.allowlinks=!0),b.onslideclick&& (a.allowslideclick=!0));settimeout(function(){b.preventlinks&&(a.allowlinks=!0);b.onslideclick&&(a.allowslideclick=!0)},100);if(a.ismoved){a.ismoved=!1;var f=h();if(0m&&(d=m),f=0,g=g=!0):d=0);0!=a.velocity&&(e=math.abs((d-a.positions.current)/a.velocity));k?a.setwrappertranslate(d,0,0):a.setwrappertranslate(0,d,0);a.setwrappertransition(e);b.momentumbounce&&g&&a.wrappertransitionend(function(){if(g){if(b.onmomentumbounce)b.onmomentumbounce(a);k?a.setwrappertranslate(f,0,0):a.setwrappertranslate(0,f,0);a.setwrappertransition(300)}});a.updateactiveslide(d)}(!b.freemodefluid||300<=c)&&a.updateactiveslide(a.positions.current)}else{e=0>d?"tonext": "toprev";"tonext"==e&&300>=c&&(30>e||!b.shortswipes?a.swipereset():a.swipenext(!0));"toprev"==e&&300>=c&&(30>e||!b.shortswipes?a.swipereset():a.swipeprev(!0));f=0;if("auto"==b.slidesperview){for(var d=math.abs(k?a.getwrappertranslate("x"):a.getwrappertranslate("y")),q=g=0;qd){f=m;break}f>l&&(f=l)}else f=p*b.slidesperview;"tonext"==e&&300=0.5*f?a.swipenext(!0):a.swipereset());"toprev"==e&&300=0.5*f? a.swipeprev(!0):a.swipereset())}if(b.ontouchend)b.ontouchend(a);a.callplugins("ontouchend")}else{a.ismoved=!1;if(b.ontouchend)b.ontouchend(a);a.callplugins("ontouchend");a.swipereset()}}}function i(c,d,e){function f(){g+=m;if(p="tonext"==l?g>c:gc?"tonext":"toprev",p="tonext"==l?g>c:gl){for(w=0;w<=math.floor(t/(l+a.wrapperleft));w++)0=== w?a.snapgrid.push(m+a.wrapperleft):a.snapgrid.push(m+a.wrapperleft+l*w);a.slidesgrid.push(m+a.wrapperleft)}else a.snapgrid.push(q),a.slidesgrid.push(q);q+=t/2+u/2}else{if(t>l)for(w=0;w<=math.floor(t/l);w++)a.snapgrid.push(m+l*w);else a.snapgrid.push(m);a.slidesgrid.push(m)}m+=t;g+=f;h+=s}b.calculateheight&&(a.height=n);k?(y=g+a.wrapperright+a.wrapperleft,e.style.width=g+"px",e.style.height=a.height+"px"):(y=h+a.wrappertop+a.wrapperbottom,e.style.width=a.width+"px",e.style.height=h+"px")}else if(b.scrollcontainer)e.style.width= "",e.style.height="",n=a.slides[0].getwidth(!0),g=a.slides[0].getheight(!0),y=k?n:g,e.style.width=n+"px",e.style.height=g+"px",p=k?n:g;else{if(b.calculateheight){g=n=0;k||(a.container.style.height="");e.style.height="";for(r=0;r=a.snapgrid[e]&&-ca.snapgrid[e]&&-c=a.snapgrid[e]&&-c=a.snapgrid[a.snapgrid.length-1]&&(d=-a.snapgrid[a.snapgrid.length-1]);c<=-h()&&(d=-h())}else d=0>c?math.round(c/d)*d:0;b.scrollcontainer&&(d=0>c?c:0);d<-h()&& (d=-h());b.scrollcontainer&&l>p&&(d=0);if(d==c)return!1;i(d,"reset");return!0};a.swipeto=function(c,d,e){c=parseint(c,10);a.callplugins("onswipeto",{index:c,speed:d});b.loop&&(c+=a.loopedslides);var f=k?a.getwrappertranslate("x"):a.getwrappertranslate("y");if(!(c>a.slides.length-1||0>c)){var g;g="auto"==b.slidesperview?-a.slidesgrid[c]:-c*p;g<-h()&&(g=-h());if(g==f)return!1;i(g,"to",{index:c,speed:d,runcallbacks:!1===e?!1:!0});return!0}};a._queuestartcallbacks=!1;a._queueendcallbacks=!1;a.updateactiveslide= function(c){if(a.initialized&&0!=a.slides.length){a.previousindex=a.activeindex;0a.activeindex){for(var d=0;da.slidesgrid[d]&&-ca.activeindex&&(a.activeindex=0);if(a.slides[a.activeindex]){a.calcvisibleslides(c);e=regexp("\\s*"+b.slideactiveclass);f=regexp("\\s*"+b.slidevisibleclass);for(d=0;d=a.slides.length-2*d&&(a.activeloopindex=a.slides.length-2*d-a.activeloopindex),0>a.activeloopindex&&(a.activeloopindex=a.slides.length-2*d+a.activeloopindex)):a.activeloopindex=a.activeindex;b.pagination&&a.updatepagination(c)}}};a.createpagination=function(c){b.paginationclickable&&a.paginationbuttons&&u();var d="",e=a.slides.length;b.loop&&(e-=2*a.loopedslides);for(var f=0;f";a.paginationcontainer=b.pagination.nodetype?b.pagination:g(b.pagination)[0];a.paginationcontainer.innerhtml=d;a.paginationbuttons=[];document.queryselectorall?a.paginationbuttons=a.paginationcontainer.queryselectorall("."+b.paginationelementclass):window.jquery&&(a.paginationbuttons=g(a.paginationcontainer).find("."+b.paginationelementclass));c||a.updatepagination();a.callplugins("oncreatepagination");if(b.paginationclickable)for(c=a.paginationbuttons,d=0;da.slides.length)){if(document.queryselectorall)var d=a.paginationcontainer.queryselectorall("."+b.paginationactiveclass);else window.jquery&&(d=g(a.paginationcontainer).find("."+b.paginationactiveclass));if(d&&(d=a.paginationbuttons,0!=d.length)){for(var e=0;eh&&(h=a.slides.length-2*a.loopedslides+h);b.loop&&h>=a.slides.length-2*a.loopedslides&&(h=a.slides.length-2*a.loopedslides-h,h=math.abs(h));c.push(h)}for(e=0;e=-c&&g<=-c+l&&(m=!0),e<=-c&&g>=-c+l&&(m=!0)):(g>-c&&g<=-c+l&&(m=!0),e>=-c&&e<-c+l&&(m=!0),e<-c&&g>-c+l&&(m=!0));m&& d.push(a.slides[h])}0==d.length&&(d=[a.slides[a.activeindex]]);a.visibleslides=d};a.autoplayintervalid=void 0;a.startautoplay=function(){if("undefined"!==typeof a.autoplayintervalid)return!1;b.autoplay&&!b.loop&&(a.autoplayintervalid=setinterval(function(){a.swipenext(!0)||a.swipeto(0)},b.autoplay));b.autoplay&&b.loop&&(a.autoplayintervalid=setinterval(function(){a.swipenext()},b.autoplay));a.callplugins("onautoplaystart")};a.stopautoplay=function(){a.autoplayintervalid&&clearinterval(a.autoplayintervalid); a.autoplayintervalid=void 0;a.callplugins("onautoplaystop")};a.loopcreated=!1;a.removeloopedslides=function(){if(a.loopcreated)for(var b=0;b=a.slides.length-a.loopedslides)&&a.slides[e].setdata("looped",!0);a.callplugins("oncreateloop")}};a.fixloop=function(){if(a.activeindexa.slides.length-2*b.slidesperview&&(c=-a.slides.length+a.activeindex+a.loopedslides,a.swipeto(c,0,!1))};a.loadslides=function(){var c="";a.activeloaderindex=0;for(var d=b.loader.slides, e=b.loader.loadallslides?d.length:b.slidesperview*(1+b.loader.surroundgroups),f=0;f'+d[f]+"");a.wrapper.innerhtml=c;a.calcslides(!0);b.loader.loadallslides||a.wrappertransitionend(a.reloadslides,!0)};a.reloadslides=function(){var c=b.loader.slides,d=parseint(a.activeslide().data("swiperindex"),10);if(!(0>d||d>c.length-1)){a.activeloaderindex=d;var e=math.max(0, d-b.slidesperview*b.loader.surroundgroups),f=math.min(d+b.slidesperview*(1+b.loader.surroundgroups)-1,c.length-1);0'+c[d]+"";a.wrapper.innerhtml=g}else{for(var g=1e3,h=0,d=0;df?a.wrapper.removechild(a.slides[d]):(g=math.min(l,g),h=math.max(l,h))}for(d=e;d<=f;d++)dh&&(e=document.createelement(b.slideelement),e.classname=b.slideclass,e.setattribute("data-swiperindex",d),e.innerhtml=c[d],a.wrapper.appendchild(e))}a.reinit(!0)}};a.calcslides();0f}(),ie10:window.navigator.mspointerenabled}};(window.jquery||window.zepto)&&function(f){f.fn.swiper=function(b){b=new swiper(f(this)[0],b);f(this).data("swiper",b);return b}}(window.jquery||window.zepto); "undefined"!==typeof module&&(module.exports=swiper);