(function(e){var c={init:function(r){return this.each(function(){r=r||{};var x=e(this),w=x.data("slider");var s=e(this);var v=x.children();var t=s.parent();var u=e.extend({},e.fn.html5Slider.defaults,r||{});var y=u.startFrom?parseInt(u.startFrom):0;u.target=x;u.startX=0;u.startY=0;u.lastOffsetX=0;u.lastOffsetY=0;u.lastTime=u.currentTime=Math.round((new Date()).getTime());u.currentX=0;u.currentY=0;u.currentOffsetX=0;u.currentOffsetY=0;u.offsetX=0;u.offsetY=0;u.slideCount=v.length;u.currSlide=y;u.totalWidth=0;u.totalHeight=0;u.parentWidth=t.width();u.parentHeight=t.height();u.currPage=0;u.pageSize=(u.pageSize||parseInt(u.pageSize>0))?u.pageSize:1;u.pageCount=Math.ceil(u.slideCount/u.pageSize);u.before=u.before?[u.before]:[];u.after=u.after?[u.after]:[];if(!w){q(u);e(this).data("slider",u);d(u);if(u.pagination!=null){o(u.pagination,u)}if(u.previous!=null){i(u.previous,u)}if(u.next!=null){m(u.next,u)}e(this).data("slider",u)}})},goTo:function(r){return this.each(function(){var v=e(this),u=v.data("slider");var t=e.extend({},u,{startFrom:r});var s=Math.floor(t.startFrom/t.pageSize);l(s,true,t);e(this).data("slider",t)})},sliderData:function(){var s=e(this),r=s.data("slider");return r},currSlideData:function(){var s=e(this),r=s.data("slider");return r.slides[r.currSlide].element},pagination:function(r){return this.each(function(){var u=e(this),t=u.data("slider"),s=t;s=e.extend(s,{pagination:r});o(r,s)})}};e.fn.html5Slider=function(r){if(c[r]){return c[r].apply(this,Array.prototype.slice.call(arguments,1))}else{if(typeof r==="object"||!r){return c.init.apply(this,arguments)}else{e.error("Method "+r+" does not exist on jQuery.html5Slider")}}};function m(s,v){if(e(s).length){var t=e(s);var r=v.target;var w,u;t.bind("touchstart",function(){event.preventDefault();v=r.data("slider");w=v.currSlide;totalSlides=v.slideCount;if((w+1)<totalSlides){u=w+1;l(u,true,v);r.data("slider",v);return false}})}}function i(s,v){if(e(s).length){var t=e(s);var r=v.target;var w,u;t.bind("touchstart",function(){event.preventDefault();v=r.data("slider");w=v.currSlide;if(w>0){u=w-1;l(u,true,v);r.data("slider",v);return false}})}}function o(y,r){if(e(y).length){var v=e(y),u=Math.ceil(r.slideCount/r.pageSize);var s=r.target;r=e.extend(r,{pagination:y,pageCount:u});var x=0,w;var t="<ul>";while(x<u){w=Math.round(x*r.pageSize);t+='<li class="slide_page" rel="'+x+'"></li>';x=x+1}t+="</ul>";e(v).html("").append(t);var z=e(v).find(".slide_page");z.bind("touchstart",function(){event.preventDefault();var A=e(this).attr("rel");l(A,true,r);s.data("slider",r);return false});p(r)}}function b(u,v,s,t,r){this.element=u;this.elementWidth=v;this.elementHeight=s;this.startX=t;this.startY=r}function q(r){var v=r.target;var s=e(v).children(),t=new Array(),w,z,y=0,u=0;e.each(s,function(B,A){if(r.scrollDirection=="horizontal"){y=y+e(A).outerWidth();u=(u>e(v).height())?u:e(v).height()}else{y=(y>e(v).width())?y:e(v).width();u=u+e(A).outerHeight()}});r.totalWidth=y;r.totalHeight=u;e(v).width(y).height(u);e(v).css("padding-left",r.maxLeft+"px").css("padding-top",r.maxTop+"px").css("padding-right",r.maxRight+"px").css("padding-bottom",r.maxBottom+"px");e.each(s,function(B,A){z=e(A).position();w=new b(e(A),e(A).width(),e(A).height(),z.left,z.top);t.push(w);if(r.cacheResources==1){e(A).css("-webkit-transform","translate3d(0,0,0)")}});r.slides=t;r.currSlide=r.startFrom;r.currSlideData=r.slides[r.currSlide].element;var x=Math.floor(r.startFrom/r.pageSize);l(x,false,r)}function d(s){var r=s.target;e(r).bind("touchstart",function(t){s=e(r).data("slider");var u=t.originalEvent.touches?t.originalEvent.touches[0]:t;s.startX=s.currentX=u.clientX;s.startY=s.currentY=u.clientY;s.lastOffsetX=s.currentOffsetX=s.offsetX;s.lastOffsetY=s.currentOffsetY=s.offsetY;e(this).css("-webkit-transition","none")}).bind("touchmove",function(t){t.preventDefault();var u=t.originalEvent.touches?t.originalEvent.touches[0]:t;s.currentX=u.clientX;s.currentY=u.clientY;g(u.clientX,u.clientY,this,s);t.stopPropagation()}).bind("touchend",function(t){s.offsetX=s.currentOffsetX;s.offsetY=s.currentOffsetY;a(s);e(r).data("slider",s)})}function g(s,z,u,v){var t,r,w;if(v.scrollDirection=="vertical"){t=parseInt(v.maxLeft)*-1;r=z-v.startY+v.offsetY;if((r+v.maxTop)>0){w=(r+v.maxTop);r=r-Math.round(w/2)}if(v.totalHeight>=v.parentHeight){if(Math.abs(parseInt(r))+(parseInt(v.parentHeight)-parseInt(v.maxTop))>v.totalHeight){w=(Math.abs(parseInt(r))+v.parentHeight-parseInt(v.maxTop))-v.totalHeight;r=r+Math.round(w/2)}}}if(v.scrollDirection=="horizontal"){r=parseInt(v.maxTop)*-1;t=s-v.startX+v.offsetX;if((t+v.maxLeft)>0){w=(t+v.maxLeft);t=t-Math.round(w/2)}if(v.totalWidth>=v.parentWidth){if(Math.abs(parseInt(t)-parseInt(v.parentWidth)+parseInt(v.maxLeft))>v.totalWidth){w=Math.abs(parseInt(t)-parseInt(v.parentWidth)+parseInt(v.maxLeft))-v.totalWidth;t=t+Math.round(w/2)}}}v.lastOffsetX=v.currentOffsetX;v.lastOffsetY=v.currentOffsetY;v.lastTime=v.currentTime;v.currentTime=Math.round((new Date()).getTime());v.currentOffsetX=t;v.currentOffsetY=r;e(u).css("-webkit-transform","translate3d("+t+"px, "+r+"px, 0)")}function a(s){var r=s.target;switch(s.scrollMode){case"page":j(s);break;case"free":k(s);break;default:j(s)}}function k(r){var s,u,t;if(r.scrollDirection=="vertical"){u=r.currentOffsetY-r.lastOffsetY}if(r.scrollDirection=="horizontal"){u=r.currentOffsetX-r.lastOffsetX}s=Math.abs(u);var v=Math.abs(r.currentTime-r.lastTime);var z=s/v;var A=0;var w=r.speed*1.6;var D=Math.ceil(((z+A)*w)/2);var C=r.currentOffsetX,B=r.currentOffsetY;if(u!=Math.abs(u)){D=D*-1}if(r.scrollDirection=="vertical"){B=(B+D);if((B+r.maxTop)>0){B=(r.maxTop)*-1}if(r.totalHeight>=r.parentHeight){if(Math.abs(parseInt(B))+(parseInt(r.parentHeight)-parseInt(r.maxTop))>r.totalHeight){B=(parseInt(r.totalHeight)+parseInt(r.maxTop)-parseInt(r.parentHeight))*-1}}else{B=(r.maxTop)*-1}}if(r.scrollDirection=="horizontal"){C=(C+D);if((C+r.maxLeft)>0){C=r.maxLeft}if(r.totalWidth>=r.parentWidth){if(Math.abs(parseInt(C)-parseInt(r.parentWidth)+parseInt(r.maxLeft))>r.totalWidth){s=Math.abs(parseInt(C)-parseInt(r.parentWidth)+parseInt(r.maxLeft))-r.totalWidth;C=(parseInt(r.totalWidth)-parseInt(r.parentWidth)+parseInt(r.maxLeft))*-1}}else{C=r.maxLeft}}if(r.before.length){r.before[0].apply(curr,[curr,next,element,r])}n(C,B,(w/1000),r);if(r.after.length){r.after[0].apply(next,[curr,next,element,r])}}function j(r){var y=parseInt(r.totalWidth)*-1;var s=0;var t=0;var u,B;if(r.scrollDirection=="vertical"){t=r.currentOffsetY-r.lastOffsetY}if(r.scrollDirection=="horizontal"){t=r.currentOffsetX-r.lastOffsetX}distance=Math.abs(t);var w=Math.abs(r.currentTime-r.lastTime);var x=distance/w;var z=0;var v=r.speed*1.6;var A=Math.ceil(((x+z)*v)/2);if(r.scrollDirection=="vertical"){B=(parseInt(r.parentHeight)*0.25);t=r.currentY-r.startY}if(r.scrollDirection=="horizontal"){B=(parseInt(r.parentWidth)*0.25);t=r.currentX-r.startX}u=(Math.abs(A)>Math.abs(B)||Math.abs(t)>Math.abs(B))?true:false;pageNumber=Math.ceil(r.currSlide/r.pageSize);if(u){if(t>0){pageNumber=pageNumber-1}else{pageNumber=pageNumber+1}if(pageNumber<0){pageNumber=0}if(pageNumber>=r.pageTotal){pageNumber=r.pageTotal-1}}l(pageNumber,true,r)}function l(s,v,u){var t=u.target,r;if(s>=u.pageCount){s=u.pageCount-1}r=parseInt(s)*parseInt(u.pageSize);if(r<0){r=0}u.currPage=s;f(r,v,u)}function f(w,z,r){var u=r.target;var C,v;C=r.currSlideData;if(w>=r.slideCount){w=r.slideCount-1}var s=Math.abs(w-r.currSlide)/r.pageSize;var t=0;if(s==0||s>r.pageSize){t=r.speed}else{t=r.speed*s}t=t/1000;childOptions=r.slides[w];r.currSlide=w;if(r.pagination!=null){p(r)}var B=(childOptions.startX*-1),A=(childOptions.startY*-1);r.currSlideData=v=r.slides[r.currSlide].element;if(z==false){t=0}if(r.before.length){r.before[0].apply(C,[C,v,u,r])}n(B,A,t,r);if(r.after.length){r.after[0].apply(v,[C,v,u,r])}}function n(r,v,u,t){var s=t.target;if(u==0){e(s).css("-webkit-transition","none")}else{e(s).css("-webkit-transition","all "+u+"s cubic-bezier(0,0,.2,1)")}t.startX=0;t.startY=0;t.currentOffsetX=t.offsetX=r;t.currentOffsetY=t.offsetY=v;t.currentX=0;t.currentY=0;e(s).css("-webkit-transform","translate3d("+r+"px, "+v+"px, 0)")}function p(s){if(e(s.pagination).length){var r=e(s.pagination).find(".slide_page");r.removeClass("current");e.each(r,function(u,t){if(e(t).attr("rel")==s.currPage){e(t).addClass("current")}})}}function h(r){e.each(r,function(t,s){console.log(t+" : "+s)})}e.fn.html5Slider.defaults={scrollDirection:"horizontal",maxLeft:0,maxTop:0,maxRight:0,maxBottom:0,startFrom:0,pageSize:1,speed:500,before:null,after:null,previous:null,next:null,pagination:null,scrollMode:"page",cacheResources:0}})(jQuery);
