// Javascript for running presentations, mangled beyond recognition from
// developer.netscape.com/docs/technote/javascript/prestemp/prestemp.html

// first load list of slides (href and titles):
//    slides = [
//       "index.htm", "Index Slide Title",
//       "title.htm", "",
//       "body.htm",  "Body Slide Title",
//    ];
//
// Slides should load slide.js and style.js in the <head> section, header.js
// at the beginning of the <body> section, and footer.js at the end of the
// <body> section.
//
// These javascript functions are provided:
//    goto_slide(slide_num)		go to a specific slide
//    next_slide(), prev_slide()	move forward or backward

//////////////////////////////////////////////////////////////////////
// slide navigation

// size of slide show
last_slide = slides.length/2 - 1;
if (last_slide < 0) last_slide = 0;

// get current slide number
var current_slide;
cookie_name="slide"

// try cookie
if (! current_slide) {
    offset = document.cookie.indexOf(cookie_name+"=");
    if (offset != -1) {
	start = document.cookie.indexOf("=",offset) + 1;
	end = document.cookie.indexOf(";",start);
	if (end == -1) end = document.cookie.length;
	current_slide = parseInt(unescape(
	    document.cookie.substring(start,end)));
    }
}

// try URL (basename?slidenum)
// get current slide from URL (baseurl?slidenum)
if (! current_slide) {
    splitURL = new String(location).split("?");
    if (splitURL.length == 2)
	current_slide = parseInt(splitURL[1]);
}

// default = first slide
if (! current_slide)
    current_slide = 0;

// make sure it's in range
if (current_slide < 0) current_slide = 0;
if (current_slide > last_slide) current_slide = last_slide;

var slidetitle = slides[2*current_slide+1];

// Go to slide number slide_num.
function goto_slide(slide_num)
{
    slide_num = parseInt(slide_num);
    if(slide_num >= 0 && slide_num <= last_slide) {
	// try to set in cookie
	document.cookie = cookie_name+"="+slide_num;
	if (document.cookie.indexOf(cookie_name+"=") != -1)
	    location = slides[2*slide_num];
	else
	    // fall back to adding to location
	    location = slides[2*slide_num] + "?" + slide_num;
    }
}

// Display slides in sequence.
function prev_slide() {goto_slide(current_slide - 1);}
function next_slide() {goto_slide(current_slide + 1);}

