//##########################################################################
//                           * image looper *
//##########################################################################

var fig8_first_image = 1;
var fig8_last_image = 18;

//##########################################################################
// set up images (EX: .jpg .gif .png)

var fig8_image_array = new Array();
fig8_image_array[1] = "images/claudette/figure8/zvis1531scale.gif";
fig8_image_array[2] = "images/claudette/figure8/zvis1601scale.gif";
fig8_image_array[3] = "images/claudette/figure8/zvis1631scale.gif";
fig8_image_array[4] = "images/claudette/figure8/zvis1701scale.gif";
fig8_image_array[5] = "images/claudette/figure8/zvis1731scale.gif";
fig8_image_array[6] = "images/claudette/figure8/zvis1815scale.gif";
fig8_image_array[7] = "images/claudette/figure8/zvis1901scale.gif";
fig8_image_array[8] = "images/claudette/figure8/zvis1931scale.gif";
fig8_image_array[9] = "images/claudette/figure8/zvis2001scale.gif";
fig8_image_array[10] = "images/claudette/figure8/zvis2031scale.gif";
fig8_image_array[11] = "images/claudette/figure8/zvis2115scale.gif";
fig8_image_array[12] = "images/claudette/figure8/zvis2145scale.gif";
fig8_image_array[13] = "images/claudette/figure8/zvis2215scale.gif";
fig8_image_array[14] = "images/claudette/figure8/zvis2245scale.gif";
fig8_image_array[15] = "images/claudette/figure8/zvis2315scale.gif";
fig8_image_array[16] = "images/claudette/figure8/zvis2345scale.gif";
fig8_image_array[17] = "images/claudette/figure8/zvis2445scale.gif";
fig8_image_array[18] = "images/claudette/figure8/zvis2515scale.gif";

//###################### time variables for loop ###########################
//normal_delay = delay between each image
//dwell_delay = delay between last image and first image

var fig8_current_image = fig8_first_image;
var fig8_image = new Array();
var fig8_normal_delay = 1000;
var fig8_dwell_delay = 3000;
var fig8_delay_increment = 100;
var fig8_delay_max = 8000;
var fig8_delay_min = 10;
var fig8_repeat_delay
var fig8_play_mode = 0;
var fig8_play_status = 0;


for (var i = fig8_first_image; i <= fig8_last_image; i++) {
   fig8_image[i] = new Image();
   fig8_image[i].src = fig8_image_array[i];
}

//##########################################################################
// check for browser compatibility

fig8_browser_name = navigator.appName;
fig8_browser_version = parseInt(navigator.appVersion);
if (fig8_browser_name == "Microsoft Internet Explorer" && fig8_browser_version >= 4) fig8_browser = "ie4";
else if (fig8_browser_name == "Netscape" && fig8_browser_version >= 3) fig8_browser = "n3";
else {
   fig8_browser = "xx";
   document.write("You need Microsoft Internet Explorer 4+ or Netscape Navigator 3+ for this page to work");
}

//##########################################################################
// sets all the modes when page loaded

function fig8_on_load() {
   fig8_current_image = fig8_first_image;
   fig8_play_status = 0;
   fig8_play_mode = 0;
   document.fig8_image.src = fig8_image[fig8_current_image].src;
}

//##########################################################################
// plays animation forward

function fig8_forward_play() {
   fig8_current_image++;
   if (fig8_current_image > fig8_last_image) {
      if (fig8_play_mode == 0) {
         fig8_current_image = fig8_first_image;
         document.fig8_image.src = fig8_image[fig8_current_image].src;
         fig8_repeat_delay = setTimeout("fig8_forward_play()", fig8_normal_delay);
      }
      if (fig8_play_mode == 1) {
         fig8_current_image = fig8_last_image - 1;
         document.fig8_image.src = fig8_image[fig8_current_image].src;
         fig8_repeat_delay = setTimeout("fig8_reverse_play()", fig8_normal_delay);
      }
      if (fig8_play_mode == 2) {
         fig8_current_image = fig8_last_image;
         fig8_stop();
      }
   }
   else {
      if (fig8_current_image == fig8_last_image) {
         document.fig8_image.src = fig8_image[fig8_current_image].src;
         fig8_repeat_delay = setTimeout("fig8_forward_play()", fig8_dwell_delay);
      }
      else {
         document.fig8_image.src = fig8_image[fig8_current_image].src;
         fig8_repeat_delay = setTimeout("fig8_forward_play()", fig8_normal_delay);
      }
   }
}

//##########################################################################
// plays animation in reverse

function fig8_reverse_play() {
   fig8_current_image--;
   if (fig8_current_image < fig8_first_image) {
      if (fig8_play_mode == 0) {
         fig8_current_image = fig8_last_image;
         document.fig8_image.src = fig8_image[fig8_current_image].src;
         fig8_repeat_delay = setTimeout("fig8_reverse_play()", fig8_normal_delay);
      }
      if (fig8_play_mode == 1) {
         fig8_current_image = fig8_first_image + 1;
         document.fig8_image.src = fig8_image[fig8_current_image].src;
         fig8_repeat_delay = setTimeout("fig8_forward_play()", fig8_normal_delay);
      }
      if (fig8_play_mode == 2) {
         fig8_current_image = fig8_first_image;
         fig8_stop();
      }
   }
   else {
      if (fig8_current_image == fig8_first_image) {
         document.fig8_image.src = fig8_image[fig8_current_image].src;
         fig8_repeat_delay = setTimeout("fig8_reverse_play()", fig8_dwell_delay);
      }
      else {
         document.fig8_image.src = fig8_image[fig8_current_image].src;
         fig8_repeat_delay = setTimeout("fig8_reverse_play()", fig8_normal_delay);
      }
   }
}

//##########################################################################
// start forward animation

function fig8_forward() {
   fig8_stop();
   fig8_play_status = 1;
   fig8_forward_play();
}

//##########################################################################
// start reverse animation

function fig8_reverse() {
   fig8_stop();
   fig8_play_status = 1;
   fig8_reverse_play();
}

//##########################################################################
// stops animation

function fig8_stop() {
   if (fig8_play_status == 1) clearTimeout(fig8_repeat_delay);
   fig8_play_status = 0;
}

//##########################################################################
// forward to next image

function fig8_forward_image() {
   fig8_stop();
   if (fig8_current_image == fig8_last_image) fig8_current_image = fig8_first_image;
   else fig8_current_image++;
   document.fig8_image.src = fig8_image[fig8_current_image].src;
}

//##########################################################################
// reverse to previous image

function fig8_reverse_image() {
   fig8_stop();
   if (fig8_current_image == fig8_first_image) fig8_current_image = fig8_last_image;
   else fig8_current_image--;
   document.fig8_image.src = fig8_image[fig8_current_image].src;
}

//##########################################################################
// go to a desired image

function fig8_goto_image(go_to) {
   fig8_stop();
   if (go_to > fig8_last_image) {
      alert("Image " + "does not exsist.");
      fig8_current_image = fig8_last_image;
   }
   else if (go_to < fig8_first_image) {
      alert("Image " + "does not exsist.");
      fig8_current_image = fig8_first_image;
   }
   else fig8_current_image = go_to;
   document.fig8_image.src = fig8_image[fig8_current_image].src;
}

//##########################################################################
// change the normal delay

function fig8_normal_speed(dvdt, delay) {
   if (dvdt == -1) fig8_normal_delay += delay;
   else if (dvdt == 1) fig8_normal_delay -= delay;
   if (fig8_normal_delay > fig8_delay_max) fig8_normal_delay = fig8_delay_max;
   else if (fig8_normal_delay < fig8_delay_min) fig8_normal_delay = fig8_delay_min;
}

//##########################################################################
// change the dwell delay

function fig8_dwell_speed(dvdt, delay) {
   if (dvdt == -1) fig8_dwell_delay += delay;
   else if (dvdt == 1) fig8_dwell_delay -= delay;
   if (fig8_dwell_delay > fig8_delay_max) fig8_dwell_delay = fig8_delay_max;
   else if (fig8_dwell_delay < fig8_delay_min) fig8_dwell_delay = fig8_delay_min;
}

//##########################################################################
// change the play mode

function fig8_change_mode(chmod) {
   fig8_play_mode = chmod;
}

//##########################################################################
// button

function button() {
}

//##########################################################################

