//##########################################################################
//                           * image looper *
//##########################################################################

var fig18_first_image = 1;
var fig18_last_image = 9;

//##########################################################################
// set up images (EX: .jpg .gif .png)

var fig18_image_array = new Array();
fig18_image_array[1] = "images/claudette/figure18/z2206scale.gif";
fig18_image_array[2] = "images/claudette/figure18/z2217scale.gif";
fig18_image_array[3] = "images/claudette/figure18/z2229scale.gif";
fig18_image_array[4] = "images/claudette/figure18/z2241scale.gif";
fig18_image_array[5] = "images/claudette/figure18/z2253scale.gif";
fig18_image_array[6] = "images/claudette/figure18/z2305scale.gif";
fig18_image_array[7] = "images/claudette/figure18/z2316scale.gif";
fig18_image_array[8] = "images/claudette/figure18/z2328scale.gif";
fig18_image_array[9] = "images/claudette/figure18/z2340scale.gif";

//###################### time variables for loop ###########################
//normal_delay = delay between each image
//dwell_delay = delay between last image and first image

var fig18_current_image = fig18_first_image;
var fig18_image = new Array();
var fig18_normal_delay = 1000;
var fig18_dwell_delay = 3000;
var fig18_delay_increment = 100;
var fig18_delay_max = 8000;
var fig18_delay_min = 10;
var fig18_repeat_delay
var fig18_play_mode = 0;
var fig18_play_status = 0;


for (var i = fig18_first_image; i <= fig18_last_image; i++) {
   fig18_image[i] = new Image();
   fig18_image[i].src = fig18_image_array[i];
}

//##########################################################################
// check for browser compatibility

fig18_browser_name = navigator.appName;
fig18_browser_version = parseInt(navigator.appVersion);
if (fig18_browser_name == "Microsoft Internet Explorer" && fig18_browser_version >= 4) fig18_browser = "ie4";
else if (fig18_browser_name == "Netscape" && fig18_browser_version >= 3) fig18_browser = "n3";
else {
   fig18_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 fig18_on_load() {
   fig18_current_image = fig18_first_image;
   fig18_play_status = 0;
   fig18_play_mode = 0;
   document.fig18_image.src = fig18_image[fig18_current_image].src;
}

//##########################################################################
// plays animation forward

function fig18_forward_play() {
   fig18_current_image++;
   if (fig18_current_image > fig18_last_image) {
      if (fig18_play_mode == 0) {
         fig18_current_image = fig18_first_image;
         document.fig18_image.src = fig18_image[fig18_current_image].src;
         fig18_repeat_delay = setTimeout("fig18_forward_play()", fig18_normal_delay);
      }
      if (fig18_play_mode == 1) {
         fig18_current_image = fig18_last_image - 1;
         document.fig18_image.src = fig18_image[fig18_current_image].src;
         fig18_repeat_delay = setTimeout("fig18_reverse_play()", fig18_normal_delay);
      }
      if (fig18_play_mode == 2) {
         fig18_current_image = fig18_last_image;
         fig18_stop();
      }
   }
   else {
      if (fig18_current_image == fig18_last_image) {
         document.fig18_image.src = fig18_image[fig18_current_image].src;
         fig18_repeat_delay = setTimeout("fig18_forward_play()", fig18_dwell_delay);
      }
      else {
         document.fig18_image.src = fig18_image[fig18_current_image].src;
         fig18_repeat_delay = setTimeout("fig18_forward_play()", fig18_normal_delay);
      }
   }
}

//##########################################################################
// plays animation in reverse

function fig18_reverse_play() {
   fig18_current_image--;
   if (fig18_current_image < fig18_first_image) {
      if (fig18_play_mode == 0) {
         fig18_current_image = fig18_last_image;
         document.fig18_image.src = fig18_image[fig18_current_image].src;
         fig18_repeat_delay = setTimeout("fig18_reverse_play()", fig18_normal_delay);
      }
      if (fig18_play_mode == 1) {
         fig18_current_image = fig18_first_image + 1;
         document.fig18_image.src = fig18_image[fig18_current_image].src;
         fig18_repeat_delay = setTimeout("fig18_forward_play()", fig18_normal_delay);
      }
      if (fig18_play_mode == 2) {
         fig18_current_image = fig18_first_image;
         fig18_stop();
      }
   }
   else {
      if (fig18_current_image == fig18_first_image) {
         document.fig18_image.src = fig18_image[fig18_current_image].src;
         fig18_repeat_delay = setTimeout("fig18_reverse_play()", fig18_dwell_delay);
      }
      else {
         document.fig18_image.src = fig18_image[fig18_current_image].src;
         fig18_repeat_delay = setTimeout("fig18_reverse_play()", fig18_normal_delay);
      }
   }
}

//##########################################################################
// start forward animation

function fig18_forward() {
   fig18_stop();
   fig18_play_status = 1;
   fig18_forward_play();
}

//##########################################################################
// start reverse animation

function fig18_reverse() {
   fig18_stop();
   fig18_play_status = 1;
   fig18_reverse_play();
}

//##########################################################################
// stops animation

function fig18_stop() {
   if (fig18_play_status == 1) clearTimeout(fig18_repeat_delay);
   fig18_play_status = 0;
}

//##########################################################################
// forward to next image

function fig18_forward_image() {
   fig18_stop();
   if (fig18_current_image == fig18_last_image) fig18_current_image = fig18_first_image;
   else fig18_current_image++;
   document.fig18_image.src = fig18_image[fig18_current_image].src;
}

//##########################################################################
// reverse to previous image

function fig18_reverse_image() {
   fig18_stop();
   if (fig18_current_image == fig18_first_image) fig18_current_image = fig18_last_image;
   else fig18_current_image--;
   document.fig18_image.src = fig18_image[fig18_current_image].src;
}

//##########################################################################
// go to a desired image

function fig18_goto_image(go_to) {
   fig18_stop();
   if (go_to > fig18_last_image) {
      alert("Image " + "does not exsist.");
      fig18_current_image = fig18_last_image;
   }
   else if (go_to < fig18_first_image) {
      alert("Image " + "does not exsist.");
      fig18_current_image = fig18_first_image;
   }
   else fig18_current_image = go_to;
   document.fig18_image.src = fig18_image[fig18_current_image].src;
}

//##########################################################################
// change the normal delay

function fig18_normal_speed(dvdt, delay) {
   if (dvdt == -1) fig18_normal_delay += delay;
   else if (dvdt == 1) fig18_normal_delay -= delay;
   if (fig18_normal_delay > fig18_delay_max) fig18_normal_delay = fig18_delay_max;
   else if (fig18_normal_delay < fig18_delay_min) fig18_normal_delay = fig18_delay_min;
}

//##########################################################################
// change the dwell delay

function fig18_dwell_speed(dvdt, delay) {
   if (dvdt == -1) fig18_dwell_delay += delay;
   else if (dvdt == 1) fig18_dwell_delay -= delay;
   if (fig18_dwell_delay > fig18_delay_max) fig18_dwell_delay = fig18_delay_max;
   else if (fig18_dwell_delay < fig18_delay_min) fig18_dwell_delay = fig18_delay_min;
}

//##########################################################################
// change the play mode

function fig18_change_mode(chmod) {
   fig18_play_mode = chmod;
}

//##########################################################################
// button

function button() {
}

//##########################################################################

