[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / squelette_maparaan / js / jquery.s3slider.js
diff --git a/www/plugins/squelette_maparaan/js/jquery.s3slider.js b/www/plugins/squelette_maparaan/js/jquery.s3slider.js
new file mode 100644 (file)
index 0000000..c1982c5
--- /dev/null
@@ -0,0 +1,118 @@
+/* ------------------------------------------------------------------------
+       s3Slider
+       
+       Developped By: Boban Karišik -> http://www.serie3.info/
+        CSS Help: Mészáros Róbert -> http://www.perspectived.com/
+       Version: 1.0
+       
+       Copyright: Feel free to redistribute the script/modify it, as
+                          long as you leave my infos at the top.
+------------------------------------------------------------------------- */
+
+
+(function($){  
+
+    $.fn.s3Slider = function(vars) {       
+        
+        var element     = this;
+        var timeOut     = (vars.timeOut != undefined) ? vars.timeOut : 4000;
+        var current     = null;
+        var timeOutFn   = null;
+        var faderStat   = true;
+        var mOver       = false;
+        var items       = $("#" + element[0].id + "Content ." + element[0].id + "Image");
+        var itemsSpan   = $("#" + element[0].id + "Content ." + element[0].id + "Image span");
+            
+        items.each(function(i) {
+    
+            $(items[i]).mouseover(function() {
+               mOver = true;
+            });
+            
+            $(items[i]).mouseout(function() {
+                mOver   = false;
+                fadeElement(true);
+            });
+            
+        });
+        
+        var fadeElement = function(isMouseOut) {
+            var thisTimeOut = (isMouseOut) ? (timeOut/2) : timeOut;
+            thisTimeOut = (faderStat) ? 10 : thisTimeOut;
+            if(items.length > 0) {
+                timeOutFn = setTimeout(makeSlider, thisTimeOut);
+            } else {
+                console.log("Poof..");
+            }
+        }
+        
+        var makeSlider = function() {
+            current = (current != null) ? current : items[(items.length-1)];
+            var currNo      = jQuery.inArray(current, items) + 1
+            currNo = (currNo == items.length) ? 0 : (currNo - 1);
+            var newMargin   = $(element).width() * currNo;
+            if(faderStat == true) {
+                if(!mOver) {
+                    $(items[currNo]).fadeIn((timeOut/6), function() {
+                        if($(itemsSpan[currNo]).css('bottom') == 0) {
+                            $(itemsSpan[currNo]).slideUp((timeOut/6), function() {
+                                faderStat = false;
+                                current = items[currNo];
+                                if(!mOver) {
+                                    fadeElement(false);
+                                }
+                            });
+                        } else {
+                            $(itemsSpan[currNo]).slideDown((timeOut/6), function() {
+                                faderStat = false;
+                                current = items[currNo];
+                                if(!mOver) {
+                                    fadeElement(false);
+                                }
+                            });
+                        }
+                    });
+                }
+            } else {
+                if(!mOver) {
+                    if($(itemsSpan[currNo]).css('bottom') == 0) {
+                        $(itemsSpan[currNo]).slideDown((timeOut/6), function() {
+                            $(items[currNo]).fadeOut((timeOut/6), function() {
+                                faderStat = true;
+                                current = items[(currNo+1)];
+                                if(!mOver) {
+                                    fadeElement(false);
+                                }
+                            });
+                        });
+                    } else {
+                        $(itemsSpan[currNo]).slideUp((timeOut/6), function() {
+                        $(items[currNo]).fadeOut((timeOut/6), function() {
+                                faderStat = true;
+                                current = items[(currNo+1)];
+                                if(!mOver) {
+                                    fadeElement(false);
+                                }
+                            });
+                        });
+                    }
+                }
+            }
+        }
+        
+        makeSlider();
+
+    };  
+
+})(jQuery);
+
+
+jQuery(document).ready(function() {
+       //jQuery.noConflict();
+
+       if (jQuery('div#s3slider').length > 0) {
+               jQuery('div#s3slider').s3Slider({
+                       timeOut: 4000
+               });
+       }
+});
\ No newline at end of file