/*
* jQuery RefineSlide plugin v0.4.1
* http://github.com/alexdunphy/refineslide
* Requires: jQuery v1.8+
* MIT License (http://www.opensource.org/licenses/mit-license.php)
*/
/*
** Modified for use in QbSlider - DM
** @date 11-7-2013
*/
(function(e,t,n){"use strict";function i(t,n){this.$slider=e(t).addClass("rs-slider");this.settings=e.extend({},r,n);this.$slides=this.$slider.find("> li");this.totalSlides=this.$slides.length;this.cssTransitions=o.cssTransitions();this.cssTransforms3d=o.cssTransforms3d();this.currentPlace=this.settings.startSlide;this.$currentSlide=this.$slides.eq(this.currentPlace);this.inProgress=false;this.$sliderWrap=this.$slider.wrap('
').parent();this.$sliderBG=this.$slider.wrap('').parent();this.settings.slider=this;this.init()}function s(t,n,r){this.RS=t;this.RS.inProgress=true;this.forward=r;this.transition=n;if(this.transition==="custom"){this.customAnims=this.RS.settings.customTransitions;this.isCustomTransition=true}if(this.transition==="custom"){var i=this;e.each(this.customAnims,function(t,n){if(e.inArray(n,i.anims)===-1){i.customAnims.splice(t,1)}})}this.fallback3d=this.RS.settings.fallback3d;this.init()}var r={maxWidth:800,transition:"cubeV",customTransitions:[],fallback3d:"sliceV",perspective:1e3,useThumbs:true,useArrows:false,thumbMargin:3,autoPlay:false,delay:5e3,transitionDuration:800,startSlide:0,keyNav:true,captionWidth:50,arrowTemplate:'',onInit:function(){},onChange:function(){},afterChange:function(){}};i.prototype={cycling:null,$slideImages:null,init:function(){this.settings.onInit();this.captions();if(this.settings.transition==="custom"){this.nextAnimIndex=-1}if(this.settings.useArrows){this.setArrows()}if(this.settings.keyNav){this.setKeys()}for(var n=0;n').appendTo(this.$sliderWrap);for(var r=0;r").css({width:n,marginLeft:this.settings.thumbMargin+"%"}).attr("href","#").data("rs-num",r);this.$slideImages.eq(r).clone().removeAttr("style").appendTo(this.$thumbWrap).wrap(i)}this.$thumbWrapLinks=this.$thumbWrap.find("a");this.$thumbWrap.children().last().css("margin-right",-10);this.$thumbWrapLinks.eq(this.settings.startSlide).addClass("active");this.$thumbWrap.on("click","a",function(n){n.preventDefault();t.transition(parseInt(e(this).data("rs-num")))})},captions:function(){var t=this,n=this.$slides.find(".rs-caption");n.css({width:t.settings.captionWidth+"%",opacity:0});this.$currentSlide.find(".rs-caption").css("opacity",1);n.each(function(){e(this).css({transition:"opacity "+t.settings.transitionDuration+"ms linear",backfaceVisibility:"hidden"})})},transition:function(e,t){console.log("transition called");if(!this.inProgress){if(e!==this.currentPlace){if(typeof t==="undefined"){t=e>this.currentPlace?true:false}if(this.settings.useThumbs){this.$thumbWrapLinks.eq(this.currentPlace).removeClass("active");this.$thumbWrapLinks.eq(e).addClass("active")}this.$nextSlide=this.$slides.eq(e);this.currentPlace=e;this.settings.onChange();new s(this,this.settings.transition,t)}}}};s.prototype={fallback:"fade",anims:["cubeH","cubeV","fade","sliceH","sliceV","slideH","slideV","scale","blockScale","kaleidoscope","fan","blindH","blindV"],customAnims:[],init:function(){this[this.transition]()},before:function(t){var n=this;this.RS.$currentSlide.css("z-index",2);this.RS.$nextSlide.css({opacity:1,"z-index":1});if(this.RS.cssTransitions){this.RS.$currentSlide.find(".rs-caption").css("opacity",0);this.RS.$nextSlide.find(".rs-caption").css("opacity",1)}else{this.RS.$currentSlide.find(".rs-caption").animate({opacity:0},n.RS.settings.transitionDuration);this.RS.$nextSlide.find(".rs-caption").animate({opacity:1},n.RS.settings.transitionDuration)}if(typeof this.setup==="function"){var r=this.setup();setTimeout(function(){t(r)},20)}else{this.execute()}if(this.RS.cssTransitions){e(this.listenTo).one("webkitTransitionEnd transitionend otransitionend oTransitionEnd mstransitionend",e.proxy(this.after,this))}},after:function(){this.RS.$sliderBG.removeAttr("style");this.RS.$slider.removeAttr("style");this.RS.$currentSlide.removeAttr("style");this.RS.$nextSlide.removeAttr("style");this.RS.$currentSlide.css({zIndex:1,opacity:0});this.RS.$nextSlide.css({zIndex:2,opacity:1});if(typeof this.reset==="function"){this.reset()}if(this.RS.settings.autoPlay&&t.stop_slide!=true){clearTimeout(this.RS.cycling);this.RS.setAutoPlay()}this.RS.$currentSlide=this.RS.$nextSlide;this.RS.inProgress=false;this.RS.settings.afterChange()},fade:function(){var t=this;if(this.RS.cssTransitions){this.setup=function(){t.listenTo=t.RS.$currentSlide;t.RS.$currentSlide.css("transition","opacity "+t.RS.settings.transitionDuration+"ms linear")};this.execute=function(){t.RS.$currentSlide.css("opacity",0)}}else{this.execute=function(){t.RS.$currentSlide.animate({opacity:0},t.RS.settings.transitionDuration,function(){t.after()})}}this.before(e.proxy(this.execute,this))},cube:function(t,n,r,i,s,o,u){if(!this.RS.cssTransitions||!this.RS.cssTransforms3d){return this[this["fallback3d"]]()}var a=this;this.setup=function(){a.listenTo=a.RS.$slider;this.RS.$sliderBG.css("perspective",1e3);a.RS.$currentSlide.css({transform:"translateZ("+t+"px)",backfaceVisibility:"hidden"});a.RS.$nextSlide.css({opacity:1,backfaceVisibility:"hidden",transform:"translateY("+r+"px) translateX("+n+"px) rotateY("+s+"deg) rotateX("+i+"deg)"});a.RS.$slider.css({transform:"translateZ(-"+t+"px)",transformStyle:"preserve-3d"})};this.execute=function(){a.RS.$slider.css({transition:"all "+a.RS.settings.transitionDuration+"ms ease-in-out",transform:"translateZ(-"+t+"px) rotateX("+o+"deg) rotateY("+u+"deg)"})};this.before(e.proxy(this.execute,this))},cubeH:function(){var t=e(this.RS.$slides).width()/2;if(this.forward){this.cube(t,t,0,0,90,0,-90)}else{this.cube(t,-t,0,0,-90,0,90)}},cubeV:function(){var t=e(this.RS.$slides).height()/2;if(this.forward){this.cube(t,0,-t,90,0,-90,0)}else{this.cube(t,0,t,-90,0,90,0)}},grid:function(t,n,r,i,s,o,u){if(!this.RS.cssTransitions){return this[this["fallback"]]()}var a=this;this.setup=function(){function o(t,n,i,s,o,u,f,l,c){var h=(l+c)*r;return e('').css({width:t,height:n,top:i,left:s,backgroundImage:"url("+o+")",backgroundPosition:"-"+s+"px -"+i+"px",backgroundSize:u+"px "+f+"px",transition:"all "+a.RS.settings.transitionDuration+"ms ease-in-out "+h+"ms",transform:"none"})}var r=a.RS.settings.transitionDuration/(t+n);a.$img=a.RS.$currentSlide.find("img.rs-slide-image");a.$grid=e("").addClass("rs-grid");a.RS.$currentSlide.prepend(a.$grid);var u=a.$img.width(),f=a.$img.height(),l=a.$img.attr("src"),c=Math.floor(u/t),h=Math.floor(f/n),p=u-t*c,d=Math.ceil(p/t),v=f-n*h,m=Math.ceil(v/n),g=0;i=i==="auto"?u:i;i=i==="min-auto"?-u:i;s=s==="auto"?f:s;s=s==="min-auto"?-f:s;for(var y=0;y0){var E=p>=d?d:p;w+=E;p-=E}for(var S=0;S0){E=T>=m?m:v;x+=E;T-=E}a.$grid.append(o(w,x,b,g,l,u,f,y,S));b+=x}g+=w}a.listenTo=a.$grid.children().last();a.$grid.show();a.$img.css("opacity",0);a.$grid.children().first().addClass("rs-top-left");a.$grid.children().last().addClass("rs-bottom-right");a.$grid.children().eq(n-1).addClass("rs-bottom-left");a.$grid.children().eq(-n).addClass("rs-top-right")};this.execute=function(){a.$grid.children().css({opacity:u,transform:"rotate("+r+"deg) translateX("+i+"px) translateY("+s+"px) scale("+o+")"})};this.before(e.proxy(this.execute,this));this.reset=function(){a.$img.css("opacity",1);a.$grid.remove()}},sliceH:function(){this.grid(1,8,0,"min-auto",0,1,0)},sliceV:function(){this.grid(10,1,0,0,"auto",1,0)},slideV:function(){var e=this.forward?"min-auto":"auto";this.grid(1,1,0,0,e,1,1)},slideH:function(){var e=this.forward?"min-auto":"auto";this.grid(1,1,0,e,0,1,1)},scale:function(){this.grid(1,1,0,0,0,1.5,0)},blockScale:function(){this.grid(8,6,0,0,0,.6,0)},kaleidoscope:function(){this.grid(10,8,0,0,0,1,0)},fan:function(){this.grid(1,10,45,100,0,1,0)},blindV:function(){this.grid(1,8,0,0,0,.7,0)},blindH:function(){this.grid(10,1,0,0,0,.7,0)},random:function(){this[this.anims[Math.floor(Math.random()*this.anims.length)]]()},custom:function(){if(this.RS.nextAnimIndex<0){this.RS.nextAnimIndex=this.customAnims.length-1}if(this.RS.nextAnimIndex===this.customAnims.length){this.RS.nextAnimIndex=0}this[this.customAnims[this.RS.nextAnimIndex]]()}};var o={browserVendors:["","-webkit-","-moz-","-ms-","-o-","-khtml-"],domPrefixes:["","Webkit","Moz","ms","O","Khtml"],testDom:function(e){var t=this.domPrefixes.length;while(t--){if(typeof n.body.style[this.domPrefixes[t]+e]!=="undefined"){return true}}return false},cssTransitions:function(){if(typeof t.Modernizr!=="undefined"&&Modernizr.csstransitions!=="undefined"){return Modernizr.csstransitions}return this.testDom("Transition")},cssTransforms3d:function(){if(typeof t.Modernizr!=="undefined"&&Modernizr.csstransforms3d!=="undefined"){return Modernizr.csstransforms3d}if(typeof n.body.style["perspectiveProperty"]!=="undefined"){return true}return this.testDom("Perspective")}};e.fn["refineSlide"]=function(t){return this.each(function(){if(!e.data(this,"refineSlide")){e.data(this,"refineSlide",new i(this,t))}})}})(window.jQuery,window,window.document)