Add desktop summit page
[marble] / www / scripts / jd.gallery.transitions.js
diff --git a/www/scripts/jd.gallery.transitions.js b/www/scripts/jd.gallery.transitions.js
new file mode 100644 (file)
index 0000000..c0ecbfb
--- /dev/null
@@ -0,0 +1,90 @@
+/*
+    This file is part of JonDesign's SmoothGallery v2.1beta1.
+
+    JonDesign's SmoothGallery is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 3 of the License, or
+    (at your option) any later version.
+
+    JonDesign's SmoothGallery is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with JonDesign's SmoothGallery; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+    Main Developer: Jonathan Schemoul (JonDesign: http://www.jondesign.net/)
+*/
+
+gallery.Transitions.extend({
+       fadeslideleft: function(oldFx, newFx, oldPos, newPos){
+               oldFx.options.transition = newFx.options.transition = Fx.Transitions.Cubic.easeOut;
+               oldFx.options.duration = newFx.options.duration = 1500;
+               if (newPos > oldPos)
+               {
+                       newFx.start({
+                               left: [this.galleryElement.offsetWidth, 0],
+                               opacity: 1
+                       });
+                       oldFx.start({opacity: [1,0]});
+               } else {
+                       newFx.start({opacity: [0,1]});
+                       oldFx.start({
+                               left: [0, this.galleryElement.offsetWidth],
+                               opacity: 0
+                       }).chain(function(fx){fx.set({left: 0});}.pass(oldFx));
+               }
+       },
+       continuoushorizontal: function(oldFx, newFx, oldPos, newPos){
+               oldFx.options.transition = newFx.options.transition = Fx.Transitions.linear;
+               if (
+                       ((newPos > oldPos) || ((newPos==0) && (oldPos == (this.maxIter-1) ))) &&
+                       (!((newPos == (this.maxIter-1 )) && (oldPos == 0)))
+               ) {
+                       oldFx.set({opacity: 1});
+                       oldFx.start({
+                               left: [0, this.galleryElement.offsetWidth * -1]
+                       });
+                       newFx.set({opacity: 1, left: this.galleryElement.offsetWidth});
+                       newFx.start({
+                               left: [this.galleryElement.offsetWidth, 0]
+                       });
+               } else  {
+                       oldFx.set({opacity: 1});
+                       oldFx.start({
+                               left: [0, this.galleryElement.offsetWidth]
+                       });
+                       newFx.set({opacity: 1, left: this.galleryElement.offsetWidth * -1});
+                       newFx.start({
+                               left: [this.galleryElement.offsetWidth * -1, 0]
+                       });
+               }
+       },
+       continuousvertical: function(oldFx, newFx, oldPos, newPos){
+               oldFx.options.transition = newFx.options.transition = Fx.Transitions.linear;
+               if (
+                       ((newPos > oldPos) || ((newPos==0) && (oldPos == (this.maxIter-1) ))) &&
+                       (!((newPos == (this.maxIter-1 )) && (oldPos == 0)))
+               ) {
+                       oldFx.set({opacity: 1});
+                       oldFx.start({
+                               top: [0, this.galleryElement.offsetHeight * -1]
+                       });
+                       newFx.set({opacity: 1, top: this.galleryElement.offsetHeight});
+                       newFx.start({
+                               top: [this.galleryElement.offsetHeight, 0]
+                       });
+               } else  {
+                       oldFx.set({opacity: 1});
+                       oldFx.start({
+                               top: [0, this.galleryElement.offsetHeight]
+                       });
+                       newFx.set({opacity: 1, top: this.galleryElement.offsetHeight * -1});
+                       newFx.start({
+                               top: [this.galleryElement.offsetHeight * -1, 0]
+                       });
+               }
+       }
+});
\ No newline at end of file