allow to run with the slideshow toggled
authorgc <gc>
Sat, 5 Mar 2005 19:55:03 +0000 (19:55 +0000)
committergc <gc>
Sat, 5 Mar 2005 19:55:03 +0000 (19:55 +0000)
html_merges.rb

index b2c8fdd671e081d563b628c2799fc498ff35862e..2f86b643a2f893cd4d9e0890667a1af5a47a9d16 100644 (file)
@@ -35,6 +35,7 @@ var images_loaded = new Array();
 var current = 0;
 var slideshow = 0;
 var slideshow_pause = 3;
+var slideshow_timer = null;
 
 for (i = 0; i < images.length; i++) { 
     /* this array will contain 0 if image not yet loaded, 1 when loading,
@@ -92,6 +93,9 @@ function init() {
             if (keyvalue[0] == "slideshow_pause") {
                 slideshow_pause = keyvalue[1];
             }
+            if (keyvalue[0] == "run_slideshow") {
+                toggle_slideshow();
+            }
         }
     }
 }
@@ -156,7 +160,7 @@ function display_current() {
 
 function first() {
     if (slideshow == 1) {
-        toggle_slideshow();
+        toggle_slideshow(true);
     }
     
     current = 0;
@@ -165,7 +169,7 @@ function first() {
 
 function next() {
     if (slideshow == 1) {
-        toggle_slideshow();
+        toggle_slideshow(true);
     }
 
     if (current < images.length - 1) {
@@ -176,7 +180,7 @@ function next() {
 
 function previous() {
     if (slideshow == 1) {
-        toggle_slideshow();
+        toggle_slideshow(true);
     }
 
     if (current > 0) {
@@ -187,22 +191,28 @@ function previous() {
 
 function last() {
     if (slideshow == 1) {
-        toggle_slideshow();
+        toggle_slideshow(true);
     }
 
     current = images.length - 1;
     display_current();
 }
 
-function toggle_slideshow() {
+function toggle_slideshow(now) {
     if (slideshow == 0) {
         document.getElementById("b_slideshow").value = "~~stop_slideshow~~";
         slideshow = 1;
         if (current == images.length - 1) {
             current = -1;
         }
-        run_slideshow();
+        if (now) {
+            dbg("now");
+            run_slideshow();
+        } else {
+            setTimeout("run_slideshow()", slideshow_pause * 1000);
+        }
     } else {
+        clearTimeout(slideshow_timer);
         document.getElementById("b_slideshow").value = "~~run_slideshow~~";
         slideshow = 0;
     }
@@ -216,13 +226,13 @@ function run_slideshow() {
     if (images_loaded[current + 1] == 2) {
         current++;
         display_current();
-        setTimeout("run_slideshow()", slideshow_pause * 1000);
+        slideshow_timer = setTimeout("run_slideshow()", slideshow_pause * 1000);
     } else {
-        setTimeout("run_slideshow()", 500);
+        slideshow_timer = setTimeout("run_slideshow()", 500);
     }
 
     if (current == images.length - 1) {
-        toggle_slideshow();
+        toggle_slideshow(true);
     }
 }
 </script>
@@ -261,7 +271,7 @@ $button_last = '
 
 $button_slideshow = '
   <form><input type="button"
-               onclick="toggle_slideshow()"
+               onclick="toggle_slideshow(true)"
                value="' + _('Run slideshow!') + '"
                id="b_slideshow">
   </form>';