spree_slider 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. data/.gitignore +11 -0
  2. data/.rspec +1 -0
  3. data/Gemfile +13 -0
  4. data/Gemfile.lock +210 -0
  5. data/LICENSE +26 -0
  6. data/README.textile +43 -0
  7. data/Rakefile +1 -0
  8. data/Versionfile +10 -0
  9. data/app/controllers/spree/admin/slides_controller.rb +8 -0
  10. data/app/models/spree/slide.rb +4 -0
  11. data/app/overrides/add_slider_to_layout.rb +8 -0
  12. data/app/overrides/add_slides_to_admin_configurations_menu.rb +9 -0
  13. data/app/overrides/add_slides_to_admin_configurations_sidebar_menu.rb +7 -0
  14. data/app/views/spree/admin/slides/_form.html.erb +21 -0
  15. data/app/views/spree/admin/slides/edit.html.erb +10 -0
  16. data/app/views/spree/admin/slides/index.html.erb +35 -0
  17. data/app/views/spree/admin/slides/new.html.erb +9 -0
  18. data/app/views/spree/admin/slides/show.html.erb +41 -0
  19. data/app/views/spree/home/index.html.erb +14 -0
  20. data/config/locales/en.yml +5 -0
  21. data/config/routes.rb +5 -0
  22. data/db/migrate/20120222184238_create_slides.rb +16 -0
  23. data/lib/generators/spree_slider/install_anything_generator.rb +30 -0
  24. data/lib/generators/spree_slider/install_nivo_generator.rb +34 -0
  25. data/lib/generators/spree_slider/templates/anything_slider.html.erb +26 -0
  26. data/lib/generators/spree_slider/templates/nivo_slider.html.erb +38 -0
  27. data/lib/spree_slider/engine.rb +23 -0
  28. data/lib/spree_slider.rb +2 -0
  29. data/script/rails +5 -0
  30. data/spec/spec_helper.rb +32 -0
  31. data/spree_slider.gemspec +26 -0
  32. data/vendor/assets/anything-slider/README.textile +13 -0
  33. data/vendor/assets/anything-slider/css/anythingslider-ie.css +45 -0
  34. data/vendor/assets/anything-slider/css/anythingslider.css +204 -0
  35. data/vendor/assets/anything-slider/css/theme-construction.css +142 -0
  36. data/vendor/assets/anything-slider/css/theme-cs-portfolio.css +148 -0
  37. data/vendor/assets/anything-slider/css/theme-metallic.css +146 -0
  38. data/vendor/assets/anything-slider/css/theme-minimalist-round.css +144 -0
  39. data/vendor/assets/anything-slider/css/theme-minimalist-square.css +144 -0
  40. data/vendor/assets/anything-slider/demos/colorbox/border.png +0 -0
  41. data/vendor/assets/anything-slider/demos/colorbox/colorbox.css +62 -0
  42. data/vendor/assets/anything-slider/demos/colorbox/controls.png +0 -0
  43. data/vendor/assets/anything-slider/demos/colorbox/internet_explorer/borderBottomCenter.png +0 -0
  44. data/vendor/assets/anything-slider/demos/colorbox/internet_explorer/borderBottomLeft.png +0 -0
  45. data/vendor/assets/anything-slider/demos/colorbox/internet_explorer/borderBottomRight.png +0 -0
  46. data/vendor/assets/anything-slider/demos/colorbox/internet_explorer/borderMiddleLeft.png +0 -0
  47. data/vendor/assets/anything-slider/demos/colorbox/internet_explorer/borderMiddleRight.png +0 -0
  48. data/vendor/assets/anything-slider/demos/colorbox/internet_explorer/borderTopCenter.png +0 -0
  49. data/vendor/assets/anything-slider/demos/colorbox/internet_explorer/borderTopLeft.png +0 -0
  50. data/vendor/assets/anything-slider/demos/colorbox/internet_explorer/borderTopRight.png +0 -0
  51. data/vendor/assets/anything-slider/demos/colorbox/jquery.colorbox-min.js +4 -0
  52. data/vendor/assets/anything-slider/demos/colorbox/jquery.colorbox.js +769 -0
  53. data/vendor/assets/anything-slider/demos/colorbox/loading.gif +0 -0
  54. data/vendor/assets/anything-slider/demos/colorbox/loading_background.png +0 -0
  55. data/vendor/assets/anything-slider/demos/colorbox/overlay.png +0 -0
  56. data/vendor/assets/anything-slider/demos/css/page.css +148 -0
  57. data/vendor/assets/anything-slider/demos/images/251356.jpg +0 -0
  58. data/vendor/assets/anything-slider/demos/images/apple-touch-icon.png +0 -0
  59. data/vendor/assets/anything-slider/demos/images/favicon.ico +0 -0
  60. data/vendor/assets/anything-slider/demos/images/slide-civil-1.jpg +0 -0
  61. data/vendor/assets/anything-slider/demos/images/slide-civil-2.jpg +0 -0
  62. data/vendor/assets/anything-slider/demos/images/slide-env-1.jpg +0 -0
  63. data/vendor/assets/anything-slider/demos/images/slide-env-2.jpg +0 -0
  64. data/vendor/assets/anything-slider/demos/images/slide-tele-1.jpg +0 -0
  65. data/vendor/assets/anything-slider/demos/images/slide-tele-2.jpg +0 -0
  66. data/vendor/assets/anything-slider/demos/images/th-slide-civil-1.jpg +0 -0
  67. data/vendor/assets/anything-slider/demos/images/th-slide-civil-2.jpg +0 -0
  68. data/vendor/assets/anything-slider/demos/images/th-slide-env-1.jpg +0 -0
  69. data/vendor/assets/anything-slider/demos/images/th-slide-env-2.jpg +0 -0
  70. data/vendor/assets/anything-slider/demos/js/demo.js +132 -0
  71. data/vendor/assets/anything-slider/demos/video/movie.mp4 +0 -0
  72. data/vendor/assets/anything-slider/demos/video/movie.ogg +0 -0
  73. data/vendor/assets/anything-slider/demos/video/movie.webm +0 -0
  74. data/vendor/assets/anything-slider/demos.html +740 -0
  75. data/vendor/assets/anything-slider/expand.html +97 -0
  76. data/vendor/assets/anything-slider/images/arrows-metallic.png +0 -0
  77. data/vendor/assets/anything-slider/images/arrows-minimalist.png +0 -0
  78. data/vendor/assets/anything-slider/images/construction.gif +0 -0
  79. data/vendor/assets/anything-slider/images/cs-portfolio.png +0 -0
  80. data/vendor/assets/anything-slider/images/default.png +0 -0
  81. data/vendor/assets/anything-slider/index.html +470 -0
  82. data/vendor/assets/anything-slider/js/jquery.anythingslider.fx.js +165 -0
  83. data/vendor/assets/anything-slider/js/jquery.anythingslider.fx.min.js +6 -0
  84. data/vendor/assets/anything-slider/js/jquery.anythingslider.js +791 -0
  85. data/vendor/assets/anything-slider/js/jquery.anythingslider.min.js +7 -0
  86. data/vendor/assets/anything-slider/js/jquery.anythingslider.video.js +367 -0
  87. data/vendor/assets/anything-slider/js/jquery.anythingslider.video.min.js +8 -0
  88. data/vendor/assets/anything-slider/js/jquery.easing.1.2.js +140 -0
  89. data/vendor/assets/anything-slider/js/jquery.min.js +18 -0
  90. data/vendor/assets/anything-slider/js/swfobject.js +4 -0
  91. data/vendor/assets/anything-slider/license.txt +165 -0
  92. data/vendor/assets/anything-slider/simple.html +79 -0
  93. data/vendor/assets/anything-slider/video.html +341 -0
  94. data/vendor/assets/nivo-slider/README +1 -0
  95. data/vendor/assets/nivo-slider/demo/demo.html +39 -0
  96. data/vendor/assets/nivo-slider/demo/images/dev7logo.png +0 -0
  97. data/vendor/assets/nivo-slider/demo/images/nemo.jpg +0 -0
  98. data/vendor/assets/nivo-slider/demo/images/toystory.jpg +0 -0
  99. data/vendor/assets/nivo-slider/demo/images/up.jpg +0 -0
  100. data/vendor/assets/nivo-slider/demo/images/walle.jpg +0 -0
  101. data/vendor/assets/nivo-slider/demo/scripts/jquery-1.6.1.min.js +18 -0
  102. data/vendor/assets/nivo-slider/demo/style.css +100 -0
  103. data/vendor/assets/nivo-slider/jquery.nivo.slider.js +685 -0
  104. data/vendor/assets/nivo-slider/jquery.nivo.slider.pack.js +67 -0
  105. data/vendor/assets/nivo-slider/license.txt +22 -0
  106. data/vendor/assets/nivo-slider/nivo-slider.css +89 -0
  107. data/vendor/assets/nivo-slider/themes/default/arrows.png +0 -0
  108. data/vendor/assets/nivo-slider/themes/default/bullets.png +0 -0
  109. data/vendor/assets/nivo-slider/themes/default/default.css +74 -0
  110. data/vendor/assets/nivo-slider/themes/default/loading.gif +0 -0
  111. data/vendor/assets/nivo-slider/themes/orman/arrows.png +0 -0
  112. data/vendor/assets/nivo-slider/themes/orman/bullets.png +0 -0
  113. data/vendor/assets/nivo-slider/themes/orman/loading.gif +0 -0
  114. data/vendor/assets/nivo-slider/themes/orman/orman.css +98 -0
  115. data/vendor/assets/nivo-slider/themes/orman/readme.txt +1 -0
  116. data/vendor/assets/nivo-slider/themes/orman/ribbon.png +0 -0
  117. data/vendor/assets/nivo-slider/themes/orman/slider.png +0 -0
  118. data/vendor/assets/nivo-slider/themes/pascal/bullets.png +0 -0
  119. data/vendor/assets/nivo-slider/themes/pascal/controlnav.png +0 -0
  120. data/vendor/assets/nivo-slider/themes/pascal/featured.png +0 -0
  121. data/vendor/assets/nivo-slider/themes/pascal/loading.gif +0 -0
  122. data/vendor/assets/nivo-slider/themes/pascal/pascal.css +102 -0
  123. data/vendor/assets/nivo-slider/themes/pascal/readme.txt +1 -0
  124. data/vendor/assets/nivo-slider/themes/pascal/ribbon.png +0 -0
  125. data/vendor/assets/nivo-slider/themes/pascal/slider.png +0 -0
  126. metadata +236 -0
@@ -0,0 +1,7 @@
1
+ /*
2
+ AnythingSlider v1.7.13 minified using Google Closure Compiler
3
+ Original by Chris Coyier: http://css-tricks.com
4
+ Get the latest version: https://github.com/ProLoser/AnythingSlider
5
+ */
6
+
7
+ (function(d){d.anythingSlider=function(h,i){var a=this,b;a.el=h;a.$el=d(h).addClass("anythingBase").wrap('<div class="anythingSlider"><div class="anythingWindow" /></div>');a.$el.data("AnythingSlider",a);a.init=function(){a.options=b=d.extend({},d.anythingSlider.defaults,i);a.initialized=false;d.isFunction(b.onBeforeInitialize)&&a.$el.bind("before_initialize",b.onBeforeInitialize);a.$el.trigger("before_initialize",a);a.$wrapper=a.$el.parent().closest("div.anythingSlider").addClass("anythingSlider-"+ b.theme);a.$window=a.$el.closest("div.anythingWindow");a.win=window;a.$win=d(a.win);a.$controls=d('<div class="anythingControls"></div>').appendTo(b.appendControlsTo!==null&&d(b.appendControlsTo).length?d(b.appendControlsTo):a.$wrapper);a.$startStop=d('<a href="#" class="start-stop"></a>');b.buildStartStop&&a.$startStop.appendTo(b.appendStartStopTo!==null&&d(b.appendStartStopTo).length?d(b.appendStartStopTo):a.$controls);a.$nav=d('<ul class="thumbNav" />').appendTo(b.appendNavigationTo!==null&&d(b.appendNavigationTo).length? d(b.appendNavigationTo):a.$controls);a.flag=false;a.playing=b.autoPlay;a.slideshow=false;a.hovered=false;a.panelSize=[];a.currentPage=b.startPanel=parseInt(b.startPanel,10)||1;b.changeBy=parseInt(b.changeBy,10)||1;a.adj=b.infiniteSlides?0:1;a.width=a.$el.width();a.height=a.$el.height();a.outerPad=[a.$wrapper.innerWidth()-a.$wrapper.width(),a.$wrapper.innerHeight()-a.$wrapper.height()];b.playRtl&&a.$wrapper.addClass("rtl");if(b.expand)a.$outer=a.$wrapper.parent(),a.$window.css({width:"100%",height:"100%"}), a.checkResize();b.buildStartStop&&a.buildAutoPlay();b.buildArrows&&a.buildNextBackButtons();if(!b.autoPlay)b.autoPlayLocked=false;a.updateSlider();a.$lastPage=a.$currentPage;a.runTimes=d("div.anythingSlider").index(a.$wrapper)+1;a.regex=RegExp("panel"+a.runTimes+"-(\\d+)","i");a.runTimes===1&&a.makeActive();if(!d.isFunction(d.easing[b.easing]))b.easing="swing";b.pauseOnHover&&a.$wrapper.hover(function(){a.playing&&(a.$el.trigger("slideshow_paused",a),a.clearTimer(true))},function(){a.playing&&(a.$el.trigger("slideshow_unpaused", a),a.startStop(a.playing,true))});a.setCurrentPage(a.gotoHash()||b.startPage,false);a.slideControls(false);a.$wrapper.bind("mouseenter mouseleave",function(b){a.hovered=b.type==="mouseenter"?true:false;a.slideControls(a.hovered,false)});d(document).keyup(function(c){if(b.enableKeyboard&&a.$wrapper.is(".activeSlider")&&!c.target.tagName.match("TEXTAREA|INPUT|SELECT")&&(b.vertical||!(c.which===38||c.which===40)))switch(c.which){case 39:case 40:a.goForward();break;case 37:case 38:a.goBack()}});a.$items.delegate("a", "focus.AnythingSlider",function(c){var e=d(this).closest(".panel"),e=a.$items.index(e)+a.adj;a.$items.find(".focusedLink").removeClass("focusedLink");d(this).addClass("focusedLink");a.$window.scrollLeft(0);if(e>=a.currentPage+b.showMultiple||e<a.currentPage)a.gotoPage(e),c.preventDefault()});var c="slideshow_paused slideshow_unpaused slide_init slide_begin slideshow_stop slideshow_start initialized swf_completed".split(" ");d.each("onShowPause onShowUnpause onSlideInit onSlideBegin onShowStop onShowStart onInitialized onSWFComplete".split(" "), function(f,e){d.isFunction(b[e])&&a.$el.bind(c[f],b[e])});d.isFunction(b.onSlideComplete)&&a.$el.bind("slide_complete",function(){setTimeout(function(){b.onSlideComplete(a)},0)});a.initialized=true;a.$el.trigger("initialized",a);a.startStop(a.playing)};a.updateSlider=function(){a.$el.children(".cloned").remove();a.$nav.empty();a.currentPage=a.currentPage||1;a.$items=a.$el.children();a.pages=a.$items.length;a.dir=b.vertical?"top":"left";b.showMultiple=b.vertical?1:parseInt(b.showMultiple,10)||1;if(b.showMultiple> 1){if(b.showMultiple>a.pages)b.showMultiple=a.pages;a.adjustMultiple=b.infiniteSlides&&a.pages>1?0:b.showMultiple-1;a.pages=a.$items.length-a.adjustMultiple}a.$controls.add(a.$nav).add(a.$startStop).add(a.$forward).add(a.$back)[a.pages<=1?"hide":"show"]();a.pages>1&&a.buildNavigation();b.infiniteSlides&&a.pages>1&&(a.$el.prepend(a.$items.filter(":last").clone().removeAttr("id").addClass("cloned")),b.showMultiple>1?a.$el.append(a.$items.filter(":lt("+b.showMultiple+")").clone().removeAttr("id").addClass("cloned").addClass("multiple")): a.$el.append(a.$items.filter(":first").clone().removeAttr("id").addClass("cloned")),a.$el.find(".cloned").each(function(){d(this).find("a,input,textarea,select,button,area").attr("disabled","disabled");d(this).find("[id]").removeAttr("id")}));a.$items=a.$el.children().addClass("panel"+(b.vertical?" vertical":""));a.setDimensions();b.resizeContents?(a.$items.css("width",a.width),a.$wrapper.css("width",a.getDim(a.currentPage)[0]),a.$wrapper.add(a.$items).css("height",a.height)):a.$win.load(function(){a.setDimensions()}); if(a.currentPage>a.pages)a.currentPage=a.pages;a.setCurrentPage(a.currentPage,false);a.$nav.find("a").eq(a.currentPage-1).addClass("cur")};a.buildNavigation=function(){if(b.buildNavigation&&a.pages>1){var c,f;a.$items.filter(":not(.cloned)").each(function(e){var g=e+1;c=(g===1?"first":"")+(g===a.pages?"last":"");f=d('<a href="#"></a>').addClass("panel"+g).wrap('<li class="'+c+'" />');a.$nav.append(f.parent());d.isFunction(b.navigationFormatter)?(c=b.navigationFormatter(g,d(this)),f.html("<span>"+ c+"</span>"),parseInt(f.find("span").css("text-indent"),10)<0&&f.addClass(b.tooltipClass).attr("title",c)):f.html("<span>"+g+"</span>");f.bind(b.clickControls,function(c){if(!a.flag&&b.enableNavigation)a.flag=true,setTimeout(function(){a.flag=false},100),a.gotoPage(g),b.hashTags&&a.setHash(g);c.preventDefault()})});if(b.navigationSize!==false&&parseInt(b.navigationSize,10)<a.pages)a.$controls.find(".anythingNavWindow").length||a.$nav.before('<ul><li class="prev"><a href="#"><span>'+b.backText+"</span></a></li></ul>").after('<ul><li class="next"><a href="#"><span>'+ b.forwardText+"</span></a></li></ul>").wrap('<div class="anythingNavWindow"></div>'),a.navWidths=a.$nav.find("li").map(function(){return d(this).innerWidth()+Math.ceil(parseInt(d(this).find("span").css("left"),10)/2||0)}).get(),a.navLeft=1,a.$nav.width(a.navWidth(1,a.pages+1)+5),a.$controls.find(".anythingNavWindow").width(a.navWidth(1,b.navigationSize+1)).end().find(".prev,.next").bind(b.clickControls,function(c){if(!a.flag)a.flag=true,setTimeout(function(){a.flag=false},200),a.navWindow(a.navLeft+ b.navigationSize*(d(this).is(".prev")?-1:1));c.preventDefault()})}};a.navWidth=function(b,f){var d;d=Math.min(b,f);for(var g=Math.max(b,f),j=0;d<g;d++)j+=a.navWidths[d-1]||0;return j};a.navWindow=function(c){var d=a.pages-b.navigationSize+1,c=c<=1?1:c>1&&c<d?c:d;if(c!==a.navLeft)a.$controls.find(".anythingNavWindow").animate({scrollLeft:a.navWidth(1,c),width:a.navWidth(c,c+b.navigationSize)},{queue:false,duration:b.animationTime}),a.navLeft=c};a.buildNextBackButtons=function(){a.$forward=d('<span class="arrow forward"><a href="#"><span>'+ b.forwardText+"</span></a></span>");a.$back=d('<span class="arrow back"><a href="#"><span>'+b.backText+"</span></a></span>");a.$back.bind(b.clickBackArrow,function(c){if(b.enableArrows&&!a.flag)a.flag=true,setTimeout(function(){a.flag=false},100),a.goBack();c.preventDefault()});a.$forward.bind(b.clickForwardArrow,function(c){if(b.enableArrows&&!a.flag)a.flag=true,setTimeout(function(){a.flag=false},100),a.goForward();c.preventDefault()});a.$back.add(a.$forward).find("a").bind("focusin focusout",function(){d(this).toggleClass("hover")}); a.$back.appendTo(b.appendBackTo!==null&&d(b.appendBackTo).length?d(b.appendBackTo):a.$wrapper);a.$forward.appendTo(b.appendForwardTo!==null&&d(b.appendForwardTo).length?d(b.appendForwardTo):a.$wrapper);a.$arrowWidth=a.$forward.width()};a.buildAutoPlay=function(){a.$startStop.html("<span>"+(a.playing?b.stopText:b.startText)+"</span>").bind(b.clickSlideshow,function(c){b.enableStartStop&&(a.startStop(!a.playing),a.makeActive(),a.playing&&!b.autoPlayDelayed&&a.goForward(true));c.preventDefault()}).bind("focusin focusout", function(){d(this).toggleClass("hover")})};a.checkResize=function(c){clearTimeout(a.resizeTimer);a.resizeTimer=setTimeout(function(){var d=a.$outer.width()-a.outerPad[0],e=(a.$outer[0].tagName==="BODY"?a.$win.height():a.$outer.height())-a.outerPad[1];if(a.width*b.showMultiple!==d||a.height!==e)a.setDimensions(),a.gotoPage(a.currentPage,a.playing,null,-1);typeof c==="undefined"&&a.checkResize()},500)};a.setDimensions=function(){var c,f,e,g=0,j={width:"100%",height:"100%"},h=b.showMultiple>1?a.width|| a.$window.width()/b.showMultiple:a.$window.width(),i=a.$win.width();if(b.expand)c=a.$outer.width()-a.outerPad[0],a.height=f=a.$outer.height()-a.outerPad[1],a.$wrapper.add(a.$window).add(a.$items).css({width:c,height:f}),a.width=h=b.showMultiple>1?c/b.showMultiple:c;a.$items.each(function(k){e=d(this).children();if(b.resizeContents)c=a.width,f=a.height,d(this).css({width:c,height:f}),e.length&&e[0].tagName==="EMBED"&&e.attr(j),e[0].tagName==="OBJECT"&&e.find("embed").attr(j),e.length===1&&e.css(j); else{c=d(this).width()||a.width;e.length===1&&c>=i&&(c=e.width()>=i?h:e.width(),e.css("max-width",c));d(this).css("width",c);f=e.length===1?e.outerHeight(true):d(this).height();if(f<=a.outerPad)f=a.height;d(this).css("height",f)}a.panelSize[k]=[c,f,g];g+=b.vertical?f:c});a.$el.css(b.vertical?"height":"width",g)};a.getDim=function(c){if(a.pages<1||isNaN(c))return[a.width,a.height];var c=b.infiniteSlides&&a.pages>1?c:c-1,d,e=a.panelSize[c][0],g=a.panelSize[c][1];if(b.showMultiple>1)for(d=1;d<b.showMultiple;d++)e+= a.panelSize[(c+d)%b.showMultiple][0],g=Math.max(g,a.panelSize[c+d][1]);return[e,g]};a.goForward=function(c){a.gotoPage(a.currentPage+b.changeBy*(b.playRtl?-1:1),c)};a.goBack=function(c){a.gotoPage(a.currentPage+b.changeBy*(b.playRtl?1:-1),c)};a.gotoPage=function(c,f,e,g){f!==true&&(f=false,a.startStop(false),a.makeActive());/^[#|.]/.test(c)&&d(c).length&&(c=d(c).closest(".panel").index()+a.adj);b.changeBy!==1&&(c<0&&(c+=a.pages),c>a.pages&&(c-=a.pages));if(!(a.pages<=1)){a.$lastPage=a.$currentPage; if(typeof c!=="number")c=b.startPanel,a.setCurrentPage(c);if(!f||!b.isVideoPlaying(a))c>a.pages+1-a.adj&&(c=!b.infiniteSlides&&!b.stopAtEnd?1:a.pages),c<a.adj&&(c=!b.infiniteSlides&&!b.stopAtEnd?a.pages:1),a.currentPage=c>a.pages?a.pages:c<1?1:a.currentPage,a.$currentPage=a.$items.eq(a.currentPage-a.adj),a.exactPage=c,a.targetPage=c===0?a.pages-a.adj:c>a.pages?1-a.adj:c-a.adj,a.$targetPage=a.$items.eq(a.targetPage),g=g||b.animationTime,g>=0&&a.$el.trigger("slide_init",a),a.slideControls(true,false), f!==true&&(f=false),(!f||b.stopAtEnd&&c===a.pages)&&a.startStop(false),g>=0&&a.$el.trigger("slide_begin",a),setTimeout(function(d){b.resizeContents||(d=a.getDim(c),a.$wrapper.filter(":not(:animated)").animate({width:d[0]||a.width,height:d[1]||a.height},{queue:false,duration:g<0?0:g,easing:b.easing}));d={};d[a.dir]=-a.panelSize[b.infiniteSlides&&a.pages>1?c:c-1][2];a.$el.filter(":not(:animated)").animate(d,{queue:false,duration:g,easing:b.easing,complete:function(){a.endAnimation(c,e,g)}})},parseInt(b.delayBeforeAnimate, 10)||0)}};a.endAnimation=function(c,d,e){c===0?(a.$el.css(a.dir,-a.panelSize[a.pages][2]),c=a.pages):c>a.pages&&(a.$el.css(a.dir,-a.panelSize[1][2]),c=1);a.exactPage=c;a.setCurrentPage(c,false);a.$items.removeClass("activePage").eq(c-a.adj).addClass("activePage");a.hovered||a.slideControls(false);e>=0&&a.$el.trigger("slide_complete",a);typeof d==="function"&&d(a);b.autoPlayLocked&&!a.playing&&setTimeout(function(){a.startStop(true)},b.resumeDelay-(b.autoPlayDelayed?b.delay:0))};a.setCurrentPage=function(c, d){c=parseInt(c,10);if(!(a.pages<1||c===0||isNaN(c))){c>a.pages+1-a.adj&&(c=a.pages-a.adj);c<a.adj&&(c=1);b.buildNavigation&&a.$nav.find(".cur").removeClass("cur").end().find("a").eq(c-1).addClass("cur");!b.infiniteSlides&&b.stopAtEnd&&(a.$wrapper.find("span.forward")[c===a.pages?"addClass":"removeClass"]("disabled").end().find("span.back")[c===1?"addClass":"removeClass"]("disabled"),c===a.pages&&a.playing&&a.startStop());if(!d){var e=a.getDim(c);a.$wrapper.css({width:e[0],height:e[1]}).add(a.$window).scrollLeft(0); a.$el.css(a.dir,-a.panelSize[b.infiniteSlides&&a.pages>1?c:c-1][2])}a.currentPage=c;a.$currentPage=a.$items.removeClass("activePage").eq(c-a.adj).addClass("activePage")}};a.makeActive=function(){a.$wrapper.is(".activeSlider")||(d(".activeSlider").removeClass("activeSlider"),a.$wrapper.addClass("activeSlider"))};a.gotoHash=function(){var c=a.win.location.hash,f=c.indexOf("&"),e=c.match(a.regex);e===null&&!/^#&/.test(c)?(c=c.substring(0,f>=0?f:c.length),e=d(c).closest(".anythingBase")[0]===a.el?d(c).closest(".panel").index(): null):e!==null&&(e=b.hashTags?parseInt(e[1],10):null);return e};a.setHash=function(b){var d="panel"+a.runTimes+"-",e=a.win.location.hash;if(typeof e!=="undefined")a.win.location.hash=e.indexOf(d)>0?e.replace(a.regex,d+b):e+"&"+d+b};a.slideControls=function(c){var d=c?0:b.animationTime,e=c?b.animationTime:0,g=c?1:0,h=c?0:1;b.toggleControls&&a.$controls.stop(true,true).delay(d)[c?"slideDown":"slideUp"](b.animationTime/2).delay(e);b.buildArrows&&b.toggleArrows&&(!a.hovered&&a.playing&&(h=1,g=0),a.$forward.stop(true, true).delay(d).animate({right:h*a.$arrowWidth,opacity:g},b.animationTime/2),a.$back.stop(true,true).delay(d).animate({left:h*a.$arrowWidth,opacity:g},b.animationTime/2))};a.clearTimer=function(b){if(a.timer&&(a.win.clearInterval(a.timer),!b&&a.slideshow))a.$el.trigger("slideshow_stop",a),a.slideshow=false};a.startStop=function(c,d){c!==true&&(c=false);if((a.playing=c)&&!d)a.$el.trigger("slideshow_start",a),a.slideshow=true;b.buildStartStop&&(a.$startStop.toggleClass("playing",c).find("span").html(c? b.stopText:b.startText),parseInt(a.$startStop.find("span").css("text-indent"),10)<0&&a.$startStop.addClass(b.tooltipClass).attr("title",c?b.stopText:b.startText));c?(a.clearTimer(true),a.timer=a.win.setInterval(function(){b.isVideoPlaying(a)?b.resumeOnVideoEnd||a.startStop():a.goForward(true)},b.delay)):a.clearTimer()};a.init()};d.anythingSlider.defaults={theme:"default",expand:false,resizeContents:true,vertical:false,showMultiple:false,easing:"swing",buildArrows:true,buildNavigation:true,buildStartStop:true, appendForwardTo:null,appendBackTo:null,appendControlsTo:null,appendNavigationTo:null,appendStartStopTo:null,toggleArrows:false,toggleControls:false,startText:"Start",stopText:"Stop",forwardText:"&raquo;",backText:"&laquo;",tooltipClass:"tooltip",enableArrows:true,enableNavigation:true,enableStartStop:true,enableKeyboard:true,startPanel:1,changeBy:1,hashTags:true,infiniteSlides:true,navigationFormatter:null,navigationSize:false,autoPlay:false,autoPlayLocked:false,autoPlayDelayed:false,pauseOnHover:true, stopAtEnd:false,playRtl:false,delay:3E3,resumeDelay:15E3,animationTime:600,delayBeforeAnimate:0,clickForwardArrow:"click",clickBackArrow:"click",clickControls:"click focusin",clickSlideshow:"click",resumeOnVideoEnd:true,addWmodeToObject:"opaque",isVideoPlaying:function(){return false}};d.fn.anythingSlider=function(h,i){return this.each(function(){var a,b=d(this).data("AnythingSlider");(typeof h).match("object|undefined")?b?b.updateSlider():new d.anythingSlider(this,h):/\d/.test(h)&&!isNaN(h)&&b?(a= typeof h==="number"?h:parseInt(d.trim(h),10),a>=1&&a<=b.pages&&b.gotoPage(a,false,i)):/^[#|.]/.test(h)&&d(h).length&&b.gotoPage(h,false,i)})}})(jQuery);
@@ -0,0 +1,367 @@
1
+ /*
2
+ * AnythingSlider Video Controller 1.0 beta for AnythingSlider v1.6+
3
+ * By Rob Garrison (aka Mottie & Fudgey)
4
+ * Dual licensed under the MIT and GPL licenses.
5
+ */
6
+ (function($) {
7
+ $.fn.anythingSliderVideo = function(options){
8
+
9
+ //Set the default values, use comma to separate the settings, example:
10
+ var defaults = {
11
+ videoID : 'asvideo' // id prefix
12
+ };
13
+
14
+ return this.each(function(){
15
+ // make sure a AnythingSlider is attached
16
+ var video, tmp, service, sel, base = $(this).data('AnythingSlider');
17
+ if (!base) { return; }
18
+ video = base.video = {};
19
+ video.options = $.extend({}, defaults, options);
20
+
21
+ // check if SWFObject is loaded
22
+ video.hasSwfo = (typeof(swfobject) !== 'undefined' && swfobject.hasOwnProperty('embedSWF') && typeof(swfobject.embedSWF) === 'function') ? true : false;
23
+
24
+ video.list = {};
25
+ video.hasVid = false;
26
+ video.hasEmbed = false;
27
+ video.services = $.fn.anythingSliderVideo.services;
28
+ video.len = 0; // used to add a unique ID to videos "asvideo#"
29
+ video.hasEmbedCount = 0;
30
+ video.hasiframeCount = 0;
31
+ video.$items = base.$items.filter(':not(.cloned)');
32
+
33
+ // find and save all known videos
34
+ for (service in video.services) {
35
+ if (typeof(service) === 'string') {
36
+ sel = video.services[service].selector;
37
+ video.$items.find(sel).each(function(){
38
+ tmp = $(this);
39
+ // save panel and video selector in the list
40
+ tmp.attr('id', video.options.videoID + video.len);
41
+ video.list[video.len] = {
42
+ id : video.options.videoID + video.len++,
43
+ panel : tmp.closest('.panel')[0],
44
+ service : service,
45
+ selector : sel,
46
+ status : -1 // YouTube uses -1 to mean the video is unstarted
47
+ };
48
+ video.hasVid = true;
49
+ if (sel.match('embed|object')) {
50
+ video.hasEmbed = true;
51
+ video.hasEmbedCount++;
52
+ } else if (sel.match('iframe')) {
53
+ video.hasiframeCount++;
54
+ }
55
+ });
56
+ }
57
+ }
58
+
59
+ // Initialize each video, as needed
60
+ $.each(video.list, function(i,s){
61
+ // s.id = ID, s.panel = slider panel (DOM), s.selector = 'jQuery selector'
62
+ var tmp, $tar, vidsrc, opts,
63
+ $vid = $(s.panel).find(s.selector),
64
+ service = video.services[s.service],
65
+ api = service.initAPI || '';
66
+ // Initialize embeded video javascript api using SWFObject, if loaded
67
+ if (video.hasEmbed && video.hasSwfo && s.selector.match('embed|object')) {
68
+ $vid.each(function(){
69
+ // Older IE doesn't have an object - just make sure we are wrapping the correct element
70
+ $tar = ($(this).parent()[0].tagName === 'OBJECT') ? $(this).parent() : $(this);
71
+ vidsrc = ($tar[0].tagName === 'EMBED') ? $tar.attr('src') : $tar.find('embed').attr('src') || $tar.children().filter('[name=movie]').attr('value');
72
+ opts = $.extend(true, {}, {
73
+ flashvars : null,
74
+ params : { allowScriptAccess: 'always', wmode : base.options.addWmodeToObject, allowfullscreen : true },
75
+ attr : { 'class' : $tar.attr('class'), 'style' : $tar.attr('style'), 'data-url' : vidsrc }
76
+ }, service.embedOpts);
77
+ $tar.wrap('<div id="' + s.id + '"></div>');
78
+ // use SWFObject if it exists, it replaces the wrapper with the object/embed
79
+ swfobject.embedSWF(vidsrc + (api === '' ? '': api + s.id), s.id,
80
+ $tar.attr('width'), $tar.attr('height'), '10', null,
81
+ opts.flashvars, opts.params, opts.attr, function(){
82
+ // run init code if it exists
83
+ if (service.hasOwnProperty('init')) {
84
+ video.list[i].player = service.init(base, s.id, i);
85
+ }
86
+ if (i >= video.hasEmbedCount) {
87
+ base.$el.trigger('swf_completed', base); // swf callback
88
+ }
89
+ }
90
+ );
91
+ });
92
+ } else if (s.selector.match('iframe')) {
93
+ $vid.each(function(i,v){
94
+ vidsrc = $(this).attr('src');
95
+ tmp = (vidsrc.match(/\?/g) ? '' : '?') + '&wmode=' + base.options.addWmodeToObject; // string connector & wmode
96
+ $(this).attr('src', function(i,r){ return r + tmp + (api === '' ? '': api + s.id); });
97
+ });
98
+ }
99
+ });
100
+
101
+ // Returns URL parameter; url: http://www.somesite.com?name=hello&id=11111
102
+ // Original code from Netlobo.com (http://www.netlobo.com/url_query_string_javascript.html)
103
+ video.gup = function(n,s){
104
+ n = n.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");
105
+ var p = (new RegExp("[\\?&]"+n+"=([^&#]*)")).exec(s || window.location.href);
106
+ return (p===null) ? "" : p[1];
107
+ };
108
+
109
+ // postMessage to iframe - http://benalman.com/projects/jquery-postmessage-plugin/ (FOR IE7)
110
+ video.postMsg = function(data, vid){
111
+ var $vid = $('#' + vid);
112
+ if ($vid.length){
113
+ $vid[0].contentWindow.postMessage(data, $vid.attr('src').split('?')[0]);
114
+ }
115
+ };
116
+
117
+ // receive message from iframe
118
+ video.message = function(e){
119
+ if (e.data) {
120
+ if (/infoDelivery/g.test(e.data)) { return; } // ignore youtube video loading spam
121
+ var data = $.parseJSON(e.data);
122
+ $.each(video.list, function(i,s){
123
+ if (video.services[video.list[i].service].hasOwnProperty('message')) {
124
+ video.services[video.list[i].service].message(base, data);
125
+ }
126
+ });
127
+ }
128
+ };
129
+
130
+ // toDO = 'cont', 'pause' or 'isPlaying'
131
+ video.control = function(toDo){
132
+ var i,
133
+ s = video.list,
134
+ slide = (toDo === 'pause') ? base.$lastPage[0] : base.$currentPage[0],
135
+ isPlaying = false;
136
+ for (i=0; i < video.len; i++){
137
+ if (s[i].panel === slide && video.services[s[i].service].hasOwnProperty(toDo)){
138
+ isPlaying = video.services[s[i].service][toDo](base, s[i].id, i);
139
+ }
140
+ }
141
+ return isPlaying;
142
+ };
143
+
144
+ // iframe event listener
145
+ if (video.hasiframeCount){
146
+ if (window.addEventListener){
147
+ window.addEventListener('message', video.message, false);
148
+ } else { // IE
149
+ window.attachEvent('onmessage', video.message, false);
150
+ }
151
+ }
152
+
153
+ // bind to events
154
+ base.$el
155
+ .bind('slide_init', function(){
156
+ video.control('pause');
157
+ })
158
+ .bind('slide_complete', function(){
159
+ video.control('cont');
160
+ });
161
+
162
+ base.options.isVideoPlaying = function(){ return video.control('isPlaying'); };
163
+
164
+ });
165
+ };
166
+
167
+ /* Each video service is set up as follows
168
+ * service-name : {
169
+ * // initialization
170
+ * selector : 'object[data-url*=service], embed[src*=service]', // required: jQuery selector used to find the video ('video' or 'iframe[src*=service]' are other examples)
171
+ * initAPI : 'string added to the URL to initialize the API', // optional: the string must end with a parameter pointing to the video id (e.g. "&player_id=")
172
+ * embedOpts : { flashvars: {}, params: {}, attr: {} }, // optional: add any required flashvars, parameters or attributes to initialize the API
173
+ * // video startup functions
174
+ * init : function(base, vid, index){ }, // optional: include any additional initialization code here; function called AFTER the embeded video is added using SWFObject
175
+ * // required functions
176
+ * cont : function(base, vid, index){ }, // required: continue play if video was previously played
177
+ * pause : function(base, vid, index){ }, // required: pause ALL videos
178
+ * message : function(base, data){ }, // required for iframe: process data received from iframe and update the video status for the "isPlaying" function
179
+ * isPlaying : function(base, vid, index){ } // required: return true if video is playing and return false if not playing (paused or ended)
180
+ * }
181
+ *
182
+ * Function variables
183
+ * base (object) = plugin base, all video values/functions are stored in base.video
184
+ * vid (string) is the ID of the video: vid = "asvideo1"; so jQuery needs a "#" in front... "#" + videoID option default ("asvideo") + index (e.g. "1"); each video matching a service will have a unquie vid
185
+ * index (number) is the unique video number from the vid (starts from zero)
186
+ *
187
+ * var list = base.video.list[index]; list will contain:
188
+ * list.id = vid
189
+ * list.service = service name (e.g. 'video', 'vimeo1', 'vimeo2', etc)
190
+ * list.selector = 'jQuery selector' (e.g. 'video', 'object[data-url*=vimeo]', 'iframe[src*=vimeo]', etc)
191
+ * list.panel = AnythingSlider panel DOM object. So you can target the video using $(list[index].panel).find(list[index].service) or $('#' + vid)
192
+ * list.status = video status, updated by the iframe event listeners added in the video service "ready" function; see examples below
193
+ */
194
+
195
+ $.fn.anythingSliderVideo.services = {
196
+
197
+ // *** HTML5 video ***
198
+ video : {
199
+ selector : 'video',
200
+ cont : function(base, vid, index){
201
+ var $vid = $('#' + vid);
202
+ if ($vid.length && $vid[0].paused && $vid[0].currentTime > 0 && !$vid[0].ended) {
203
+ $vid[0].play();
204
+ }
205
+ },
206
+ pause : function(base, vid){
207
+ // pause ALL videos on the page
208
+ $('video').each(function(){
209
+ if (typeof(this.pause) !== 'undefined') { this.pause(); } // throws an error in older ie without this
210
+ });
211
+ },
212
+ isPlaying : function(base, vid, index){
213
+ var $vid = $('#' + vid);
214
+ // media.paused seems to be the only way to determine if a video is playing
215
+ return ($vid.length && typeof($vid[0].pause) !== 'undefined' && !$vid[0].paused && !$vid[0].ended) ? true : false;
216
+ }
217
+ },
218
+
219
+ // *** Vimeo iframe *** isolated demo: http://jsfiddle.net/Mottie/GxwEX/
220
+ vimeo1 : {
221
+ selector : 'iframe[src*=vimeo]',
222
+ initAPI : '&api=1&player_id=', // video ID added to the end
223
+ cont : function(base, vid, index){
224
+ if (base.video.list[index].status === 'pause'){
225
+ // Commands sent to the iframe originally had "JSON.stringify" applied to them,
226
+ // but not all browsers support this, so it's just as easy to wrap it in quotes.
227
+ base.video.postMsg('{"method":"play"}', vid);
228
+ }
229
+ },
230
+ pause : function(base, vid){
231
+ // pause ALL videos on the page
232
+ $('iframe[src*=vimeo]').each(function(){
233
+ base.video.postMsg('{"method":"pause"}', this.id);
234
+ });
235
+ },
236
+ message : function(base, data){
237
+ // *** VIMEO *** iframe uses data.player_id
238
+ var index, vid = data.player_id || ''; // vid = data.player_id (unique to vimeo)
239
+ if (vid !== ''){
240
+ index = vid.replace(base.video.options.videoID, '');
241
+ if (data.event === 'ready') {
242
+ // Vimeo ready, add additional event listeners for video status
243
+ base.video.postMsg('{"method":"addEventListener","value":"play"}', vid);
244
+ base.video.postMsg('{"method":"addEventListener","value":"pause"}', vid);
245
+ base.video.postMsg('{"method":"addEventListener","value":"finish"}', vid);
246
+ }
247
+ // update current status - vimeo puts it in data.event
248
+ if (base.video.list[index]) { base.video.list[index].status = data.event; }
249
+ }
250
+ },
251
+ isPlaying : function(base, vid, index){
252
+ return (base.video.list[index].status === 'play') ? true : false;
253
+ }
254
+ },
255
+
256
+ // *** Embeded Vimeo ***
257
+ // SWFObject adds the url to the object data
258
+ // using param as a selector, the script above looks for the parent if it sees "param"
259
+ vimeo2 : {
260
+ selector : 'object[data-url*=vimeo], embed[src*=vimeo]',
261
+ embedOpts : { flashvars : { api : 1 } },
262
+ cont : function(base, vid, index) {
263
+ var $vid = $('#' + vid);
264
+ // continue video if previously played & not finished (api_finish doesn't seem to exist) - duration can be a decimal number, so subtract it and look at the difference (2 seconds here)
265
+ if (typeof($vid[0].api_play) === 'function' && $vid[0].api_paused() && $vid[0].api_getCurrentTime() !== 0 && ($vid[0].api_getDuration() - $vid[0].api_getCurrentTime()) > 2) {
266
+ $vid[0].api_play();
267
+ }
268
+ },
269
+ pause : function(base, vid){
270
+ // find ALL videos and pause them, just in case
271
+ $('object[data-url*=vimeo], embed[src*=vimeo]').each(function(){
272
+ var el = (this.tagName === 'EMBED') ? $(this).parent()[0] : this;
273
+ if (typeof(el.api_pause) === 'function') {
274
+ el.api_pause();
275
+ }
276
+ });
277
+ },
278
+ isPlaying : function(base, vid, index){
279
+ var $vid = $('#' + vid);
280
+ return (typeof($vid[0].api_paused) === 'function' && !$vid[0].api_paused()) ? true : false;
281
+ }
282
+ },
283
+
284
+ // *** iframe YouTube *** isolated demo: http://jsfiddle.net/Mottie/qk5MY/
285
+ youtube1 : {
286
+ selector : 'iframe[src*=youtube]',
287
+ // "iv_load_policy=3" should turn off annotations on init, but doesn't seem to
288
+ initAPI : '&iv_load_policy=3&enablejsapi=1&playerapiid=',
289
+ cont : function(base, vid, index){
290
+ if (base.video.list[index].status === 2){
291
+ base.video.postMsg('{"event":"command","func":"playVideo"}', vid);
292
+ }
293
+ },
294
+ pause : function(base, vid, index){
295
+ // pause ALL videos on the page - in IE, pausing a video means it will continue when next seen =(
296
+ $('iframe[src*=youtube]').each(function(){
297
+ // if (this.id !== vid || (this.id === vid && base.video.list[index].status >= 0)) { // trying to fix the continue video problem; this only breaks it
298
+ base.video.postMsg('{"event":"command","func":"pauseVideo"}', vid);
299
+ // }
300
+ });
301
+ },
302
+ message : function(base, data){
303
+ if (data.event === 'infoDelivery') { return; } // ignore youtube video loading spam
304
+ // *** YouTube *** iframe returns an embeded url (data.info.videoUrl) but no video id...
305
+ if (data.info && data.info.videoUrl) {
306
+ // figure out vid for youtube
307
+ // data.info.videoURL = http://www.youtube.com/watch?v=###########&feature=player_embedded
308
+ var url = base.video.gup('v', data.info.videoUrl), // end up with ###########, now find it
309
+ vid = $('iframe[src*=' + url + ']')[0].id,
310
+ index = vid.replace(base.video.options.videoID, '');
311
+ // YouTube ready, add additional event listeners for video status. BUT this never fires off =(
312
+ // Fixing this may solve the continue problem
313
+ if (data.event === 'onReady') {
314
+ base.video.postMsg('{"event":"listening","func":"onStateChange"}', vid); // **** FIX: NEED TO DETERMINE VID ***
315
+ }
316
+ // Update status, so the "isPlaying" function can access it
317
+ if (data.event === 'onStateChange' && base.video.list[index]) {
318
+ // update list with current status; data.state = YouTube
319
+ base.video.list[index].status = data.state;
320
+ }
321
+ }
322
+ },
323
+ isPlaying : function(base, vid, index){
324
+ var status = base.video.list[index].status;
325
+ // state: unstarted (-1), ended (0), playing (1), paused (2), buffering (3), video cued (5).
326
+ return (status === 1 || status > 2) ? true : false;
327
+ }
328
+ },
329
+
330
+ // *** Embeded YouTube ***
331
+ // include embed for IE; SWFObject adds the url to the object data attribute
332
+ youtube2 : {
333
+ selector : 'object[data-url*=youtube], embed[src*=youtube]',
334
+ initAPI : '&iv_load_policy=3&enablejsapi=1&version=3&playerapiid=', // video ID added to the end
335
+ // YouTube - player states: unstarted (-1), ended (0), playing (1), paused (2), buffering (3), video cued (5).
336
+ cont : function(base, vid, index) {
337
+ var $vid = $('#' + vid);
338
+ // continue video if previously played and not cued
339
+ if ($vid.length && typeof($vid[0].getPlayerState) === 'function' && $vid[0].getPlayerState() > 0) {
340
+ $vid[0].playVideo();
341
+ }
342
+ },
343
+ pause : function(base, vid){
344
+ // find ALL videos and pause them, just in case
345
+ $('object[data-url*=youtube], embed[src*=youtube]').each(function(){
346
+ var el = (this.tagName === 'EMBED') ? $(this).parent()[0] : this;
347
+ // player states: unstarted (-1), ended (0), playing (1), paused (2), buffering (3), video cued (5).
348
+ if (typeof(el.getPlayerState) === 'function' && el.getPlayerState() > 0) {
349
+ // pause video if not autoplaying (if already initialized)
350
+ el.pauseVideo();
351
+ }
352
+ });
353
+ },
354
+ isPlaying : function(base, vid){
355
+ var $vid = $('#' + vid);
356
+ return (typeof($vid[0].getPlayerState) === 'function' && ($vid[0].getPlayerState() === 1 || $vid[0].getPlayerState() > 2)) ? true : false;
357
+ }
358
+ }
359
+
360
+ };
361
+
362
+ })(jQuery);
363
+
364
+ // Initialize video extension automatically
365
+ jQuery(window).load(function(){
366
+ jQuery('.anythingBase').anythingSliderVideo();
367
+ });
@@ -0,0 +1,8 @@
1
+ /*
2
+ * AnythingSlider Video Controller 1.0 beta minified
3
+ * for AnythingSlider v1.6+
4
+ * By Rob Garrison (aka Mottie & Fudgey)
5
+ * Dual licensed under the MIT and GPL licenses.
6
+ */
7
+
8
+ (function(d){d.fn.anythingSliderVideo=function(b){var c={videoID:"asvideo"};return this.each(function(){var a,e,h,g,f=d(this).data("AnythingSlider");if(f){a=f.video={};a.options=d.extend({},c,b);a.hasSwfo=typeof swfobject!=="undefined"&&swfobject.hasOwnProperty("embedSWF")&&typeof swfobject.embedSWF==="function"?!0:!1;a.list={};a.hasVid=!1;a.hasEmbed=!1;a.services=d.fn.anythingSliderVideo.services;a.len=0;a.hasEmbedCount=0;a.hasiframeCount=0;a.$items=f.$items.filter(":not(.cloned)");for(h in a.services)if(typeof h=== "string")g=a.services[h].selector,a.$items.find(g).each(function(){e=d(this);e.attr("id",a.options.videoID+a.len);a.list[a.len]={id:a.options.videoID+a.len++,panel:e.closest(".panel")[0],service:h,selector:g,status:-1};a.hasVid=!0;g.match("embed|object")?(a.hasEmbed=!0,a.hasEmbedCount++):g.match("iframe")&&a.hasiframeCount++});d.each(a.list,function(b,c){var l,e,i,g,h=d(c.panel).find(c.selector),j=a.services[c.service],k=j.initAPI||"";a.hasEmbed&&a.hasSwfo&&c.selector.match("embed|object")?h.each(function(){e= d(this).parent()[0].tagName==="OBJECT"?d(this).parent():d(this);i=e[0].tagName==="EMBED"?e.attr("src"):e.find("embed").attr("src")||e.children().filter("[name=movie]").attr("value");g=d.extend(!0,{},{flashvars:null,params:{allowScriptAccess:"always",wmode:f.options.addWmodeToObject,allowfullscreen:!0},attr:{"class":e.attr("class"),style:e.attr("style"),"data-url":i}},j.embedOpts);e.wrap('<div id="'+c.id+'"></div>');swfobject.embedSWF(i+(k===""?"":k+c.id),c.id,e.attr("width"),e.attr("height"),"10", null,g.flashvars,g.params,g.attr,function(){if(j.hasOwnProperty("init"))a.list[b].player=j.init(f,c.id,b);b>=a.hasEmbedCount&&f.$el.trigger("swf_completed",f)})}):c.selector.match("iframe")&&h.each(function(){i=d(this).attr("src");l=(i.match(/\?/g)?"":"?")+"&wmode="+f.options.addWmodeToObject;d(this).attr("src",function(a,b){return b+l+(k===""?"":k+c.id)})})});a.gup=function(a,b){var a=a.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]"),c=RegExp("[\\?&]"+a+"=([^&#]*)").exec(b||window.location.href);return c=== null?"":c[1]};a.postMsg=function(a,b){var c=d("#"+b);c.length&&c[0].contentWindow.postMessage(a,c.attr("src").split("?")[0])};a.message=function(b){if(b.data&&!/infoDelivery/g.test(b.data)){var c=d.parseJSON(b.data);d.each(a.list,function(b){a.services[a.list[b].service].hasOwnProperty("message")&&a.services[a.list[b].service].message(f,c)})}};a.control=function(b){var c,d=a.list,e=b==="pause"?f.$lastPage[0]:f.$currentPage[0],g=!1;for(c=0;c<a.len;c++)d[c].panel===e&&a.services[d[c].service].hasOwnProperty(b)&& (g=a.services[d[c].service][b](f,d[c].id,c));return g};a.hasiframeCount&&(window.addEventListener?window.addEventListener("message",a.message,!1):window.attachEvent("onmessage",a.message,!1));f.$el.bind("slide_init",function(){a.control("pause")}).bind("slide_complete",function(){a.control("cont")});f.options.isVideoPlaying=function(){return a.control("isPlaying")}}})};d.fn.anythingSliderVideo.services={video:{selector:"video",cont:function(b,c){var a=d("#"+c);a.length&&a[0].paused&&a[0].currentTime> 0&&!a[0].ended&&a[0].play()},pause:function(){d("video").each(function(){typeof this.pause!=="undefined"&&this.pause()})},isPlaying:function(b,c){var a=d("#"+c);return a.length&&typeof a[0].pause!=="undefined"&&!a[0].paused&&!a[0].ended?!0:!1}},vimeo1:{selector:"iframe[src*=vimeo]",initAPI:"&api=1&player_id=",cont:function(b,c,a){b.video.list[a].status==="pause"&&b.video.postMsg('{"method":"play"}',c)},pause:function(b){d("iframe[src*=vimeo]").each(function(){b.video.postMsg('{"method":"pause"}', this.id)})},message:function(b,c){var a,d=c.player_id||"";if(d!==""&&(a=d.replace(b.video.options.videoID,""),c.event==="ready"&&(b.video.postMsg('{"method":"addEventListener","value":"play"}',d),b.video.postMsg('{"method":"addEventListener","value":"pause"}',d),b.video.postMsg('{"method":"addEventListener","value":"finish"}',d)),b.video.list[a]))b.video.list[a].status=c.event},isPlaying:function(b,c,a){return b.video.list[a].status==="play"?!0:!1}},vimeo2:{selector:"object[data-url*=vimeo], embed[src*=vimeo]", embedOpts:{flashvars:{api:1}},cont:function(b,c){var a=d("#"+c);typeof a[0].api_play==="function"&&a[0].api_paused()&&a[0].api_getCurrentTime()!==0&&a[0].api_getDuration()-a[0].api_getCurrentTime()>2&&a[0].api_play()},pause:function(){d("object[data-url*=vimeo], embed[src*=vimeo]").each(function(){var b=this.tagName==="EMBED"?d(this).parent()[0]:this;typeof b.api_pause==="function"&&b.api_pause()})},isPlaying:function(b,c){var a=d("#"+c);return typeof a[0].api_paused==="function"&&!a[0].api_paused()? !0:!1}},youtube1:{selector:"iframe[src*=youtube]",initAPI:"&iv_load_policy=3&enablejsapi=1&playerapiid=",cont:function(b,c,a){b.video.list[a].status===2&&b.video.postMsg('{"event":"command","func":"playVideo"}',c)},pause:function(b,c){d("iframe[src*=youtube]").each(function(){b.video.postMsg('{"event":"command","func":"pauseVideo"}',c)})},message:function(b,c){if(c.event!=="infoDelivery"&&c.info&&c.info.videoUrl){var a=b.video.gup("v",c.info.videoUrl),a=d("iframe[src*="+a+"]")[0].id,e=a.replace(b.video.options.videoID, "");c.event==="onReady"&&b.video.postMsg('{"event":"listening","func":"onStateChange"}',a);if(c.event==="onStateChange"&&b.video.list[e])b.video.list[e].status=c.state}},isPlaying:function(b,c,a){b=b.video.list[a].status;return b===1||b>2?!0:!1}},youtube2:{selector:"object[data-url*=youtube], embed[src*=youtube]",initAPI:"&iv_load_policy=3&enablejsapi=1&version=3&playerapiid=",cont:function(b,c){var a=d("#"+c);a.length&&typeof a[0].getPlayerState==="function"&&a[0].getPlayerState()>0&&a[0].playVideo()}, pause:function(){d("object[data-url*=youtube], embed[src*=youtube]").each(function(){var b=this.tagName==="EMBED"?d(this).parent()[0]:this;typeof b.getPlayerState==="function"&&b.getPlayerState()>0&&b.pauseVideo()})},isPlaying:function(b,c){var a=d("#"+c);return typeof a[0].getPlayerState==="function"&&(a[0].getPlayerState()===1||a[0].getPlayerState()>2)?!0:!1}}}})(jQuery);jQuery(window).load(function(){jQuery(".anythingBase").anythingSliderVideo()});
@@ -0,0 +1,140 @@
1
+ /*
2
+ * jQuery EasIng v1.1.2 - http://gsgd.co.uk/sandbox/jquery.easIng.php
3
+ *
4
+ * Uses the built In easIng capabilities added In jQuery 1.1
5
+ * to offer multiple easIng options
6
+ *
7
+ * Copyright (c) 2007 George Smith
8
+ * Licensed under the MIT License:
9
+ * http://www.opensource.org/licenses/mit-license.php
10
+ */
11
+
12
+ // t: current time, b: begInnIng value, c: change In value, d: duration
13
+
14
+ jQuery.extend( jQuery.easing,
15
+ {
16
+ easeInQuad: function (x, t, b, c, d) {
17
+ return c*(t/=d)*t + b;
18
+ },
19
+ easeOutQuad: function (x, t, b, c, d) {
20
+ return -c *(t/=d)*(t-2) + b;
21
+ },
22
+ easeInOutQuad: function (x, t, b, c, d) {
23
+ if ((t/=d/2) < 1) return c/2*t*t + b;
24
+ return -c/2 * ((--t)*(t-2) - 1) + b;
25
+ },
26
+ easeInCubic: function (x, t, b, c, d) {
27
+ return c*(t/=d)*t*t + b;
28
+ },
29
+ easeOutCubic: function (x, t, b, c, d) {
30
+ return c*((t=t/d-1)*t*t + 1) + b;
31
+ },
32
+ easeInOutCubic: function (x, t, b, c, d) {
33
+ if ((t/=d/2) < 1) return c/2*t*t*t + b;
34
+ return c/2*((t-=2)*t*t + 2) + b;
35
+ },
36
+ easeInQuart: function (x, t, b, c, d) {
37
+ return c*(t/=d)*t*t*t + b;
38
+ },
39
+ easeOutQuart: function (x, t, b, c, d) {
40
+ return -c * ((t=t/d-1)*t*t*t - 1) + b;
41
+ },
42
+ easeInOutQuart: function (x, t, b, c, d) {
43
+ if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
44
+ return -c/2 * ((t-=2)*t*t*t - 2) + b;
45
+ },
46
+ easeInQuint: function (x, t, b, c, d) {
47
+ return c*(t/=d)*t*t*t*t + b;
48
+ },
49
+ easeOutQuint: function (x, t, b, c, d) {
50
+ return c*((t=t/d-1)*t*t*t*t + 1) + b;
51
+ },
52
+ easeInOutQuint: function (x, t, b, c, d) {
53
+ if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
54
+ return c/2*((t-=2)*t*t*t*t + 2) + b;
55
+ },
56
+ easeInSine: function (x, t, b, c, d) {
57
+ return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
58
+ },
59
+ easeOutSine: function (x, t, b, c, d) {
60
+ return c * Math.sin(t/d * (Math.PI/2)) + b;
61
+ },
62
+ easeInOutSine: function (x, t, b, c, d) {
63
+ return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
64
+ },
65
+ easeInExpo: function (x, t, b, c, d) {
66
+ return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
67
+ },
68
+ easeOutExpo: function (x, t, b, c, d) {
69
+ return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
70
+ },
71
+ easeInOutExpo: function (x, t, b, c, d) {
72
+ if (t==0) return b;
73
+ if (t==d) return b+c;
74
+ if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
75
+ return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
76
+ },
77
+ easeInCirc: function (x, t, b, c, d) {
78
+ return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
79
+ },
80
+ easeOutCirc: function (x, t, b, c, d) {
81
+ return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
82
+ },
83
+ easeInOutCirc: function (x, t, b, c, d) {
84
+ if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
85
+ return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
86
+ },
87
+ easeInElastic: function (x, t, b, c, d) {
88
+ var s=1.70158;var p=0;var a=c;
89
+ if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
90
+ if (a < Math.abs(c)) { a=c; var s=p/4; }
91
+ else var s = p/(2*Math.PI) * Math.asin (c/a);
92
+ return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
93
+ },
94
+ easeOutElastic: function (x, t, b, c, d) {
95
+ var s=1.70158;var p=0;var a=c;
96
+ if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
97
+ if (a < Math.abs(c)) { a=c; var s=p/4; }
98
+ else var s = p/(2*Math.PI) * Math.asin (c/a);
99
+ return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
100
+ },
101
+ easeInOutElastic: function (x, t, b, c, d) {
102
+ var s=1.70158;var p=0;var a=c;
103
+ if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5);
104
+ if (a < Math.abs(c)) { a=c; var s=p/4; }
105
+ else var s = p/(2*Math.PI) * Math.asin (c/a);
106
+ if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
107
+ return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
108
+ },
109
+ easeInBack: function (x, t, b, c, d, s) {
110
+ if (s == undefined) s = 1.70158;
111
+ return c*(t/=d)*t*((s+1)*t - s) + b;
112
+ },
113
+ easeOutBack: function (x, t, b, c, d, s) {
114
+ if (s == undefined) s = 1.70158;
115
+ return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
116
+ },
117
+ easeInOutBack: function (x, t, b, c, d, s) {
118
+ if (s == undefined) s = 1.70158;
119
+ if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
120
+ return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
121
+ },
122
+ easeInBounce: function (x, t, b, c, d) {
123
+ return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
124
+ },
125
+ easeOutBounce: function (x, t, b, c, d) {
126
+ if ((t/=d) < (1/2.75)) {
127
+ return c*(7.5625*t*t) + b;
128
+ } else if (t < (2/2.75)) {
129
+ return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
130
+ } else if (t < (2.5/2.75)) {
131
+ return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
132
+ } else {
133
+ return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
134
+ }
135
+ },
136
+ easeInOutBounce: function (x, t, b, c, d) {
137
+ if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
138
+ return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
139
+ }
140
+ });