// -*-java-*-

// Based on The Michael Schrenk JavaScript Animation Tutorial
// http://www.schrenk.com/js/exp3.htm

// verify that the browser is one that supports the img object
// by verifying that one of the following is true:
// case 1  the client is Netscape version 3 or higher,       
// case 2  the client is Netscape version 2.02 on an OS/2 platform, or   
// case 3  the client is Microsoft Internet Explorer version 4 or higher.

var bAnimate = false;

// case 1:
bAnimate=(((navigator.appName == "Netscape") && 
(parseInt(navigator.appVersion) >= 3 )) || 

// case 2:
(navigator.userAgent == "Mozilla/2.02E (OS/2; I)") || 

// case 3:
((navigator.appName == "Microsoft Internet Explorer") && 
(parseInt(navigator.appVersion) >= 4 )));

var counter;
var timer;
var timerid;
var images;
var captions;
var going;

function image_to_page(image) {

    var image_parts = new Array();
    image_parts = image.split("/");
    image_parts = image_parts[image_parts.length-1].split(".");    

    return image_parts[0] + ".html";

}

function image_to_thumb(image) {

    var last_dot = image.lastIndexOf('.');
    return image.substr(0, last_dot) + "_thumb.jpg";

}

function set_image() {
    document.pic.src = images[counter];
    document.getElementById("cap").innerHTML = captions[counter];
    document.getElementById("num").innerHTML = "<a HREF=\"" + 
	image_to_page(images[counter]) + "\">" + (counter+1) + "</a>";

    // set prev and next
    var prev = counter-1;
    if( prev < 0 ) {
	prev = images.length-1;
    }
    var next = (counter+1)%images.length;

    // preload next image
    var tmp = new Image();
    tmp.src = images[next];

    document.prev_pic.src = 
	image_to_thumb(images[prev]);
    document.getElementById("prev_link").onclick = 
	function () { counter = prev; set_image(); }
    document.next_pic.src = 
	image_to_thumb(images[next]);
    document.getElementById("next_link").onclick = 
	function () { counter = next; set_image(); }

    if( going ) {
	clearTimeout(timerid);
	timerid = setTimeout("update()", timer);
    }

}

function set_timer(ms) {

    document.getElementById(timer).innerHTML = (timer/1000) + " sec";

    timer = ms;

    document.getElementById(timer).innerHTML = 
	"<u>" + (timer/1000) + " sec</u>";

    if( going ) {
	clearTimeout(timerid);
	timerid = setTimeout("update()", timer);
    }

}

function update() {

    if (counter < images.length - 1)
	counter++;
    else
	counter = 0;
    
    set_image();

}

function set_first_pic() {

    var parts = new Array();
    parts = document.referrer.split('/');
    var page_parts = new Array();
    page_parts = parts[parts.length-1].split(".");
    
    var image_parts = new Array();
    // now figure out what index this is
    for( var i = 0; i < images.length; i++ ) {
	image_parts = images[i].split("/");
	image_parts = image_parts[image_parts.length-1].split(".");
	if( page_parts[0] == image_parts[0] ) {
	    counter = i;
	    return;
	}
    }

    counter = 0;

}

function init_slideshow(num_images, image_names, caps) {

    if (bAnimate){
	images = new Array(num_images);
	captions = new Array(num_images);

	for( var i = 0; i < num_images; i++ ) {
	    images[i] = image_names[i];
	    captions[i] = caps[i];
	}

    }

    clearTimeout(timerid);

    set_first_pic();

    set_image();
    set_timer(3000);
    timerid = setTimeout("update()", timer);

}

counter = 0;
timer=3000;
timerid = null;
up = true;
going = true;
