var timeout_value = 2.5;
var current_transition = 5;
var loop = 1;

var photo_count = 1;
var timer;
var current_location = 1;
var next_location = 1;
var pics_loaded = 0;
var images = new Array;
var photo_urls = new Array;
var full_photo_urls = new Array;
var photo_captions = new Array;
var transitions = new Array;
transitions[0] = "progid:DXImageTransform.Microsoft.Fade(duration=1)";
transitions[1] = "progid:DXImageTransform.Microsoft.Blinds(Duration=1,bands=20)";
transitions[2] = "progid:DXImageTransform.Microsoft.Checkerboard(Duration=1,squaresX=20,squaresY=20)";
transitions[3] = "progid:DXImageTransform.Microsoft.Strips(Duration=1,motion=rightdown)";
transitions[4] = "progid:DXImageTransform.Microsoft.Barn(Duration=1,orientation=vertical)";
transitions[5] = "progid:DXImageTransform.Microsoft.GradientWipe(duration=1)";
transitions[6] = "progid:DXImageTransform.Microsoft.Iris(Duration=1,motion=out)";
transitions[7] = "progid:DXImageTransform.Microsoft.Wheel(Duration=1,spokes=12)";
transitions[8] = "progid:DXImageTransform.Microsoft.Pixelate(maxSquare=10,duration=1)";
transitions[9] = "progid:DXImageTransform.Microsoft.RadialWipe(Duration=1,wipeStyle=clock)";
transitions[10] = "progid:DXImageTransform.Microsoft.RandomBars(Duration=1,orientation=vertical)";
transitions[11] = "progid:DXImageTransform.Microsoft.Slide(Duration=1,slideStyle=push)";
transitions[12] = "progid:DXImageTransform.Microsoft.RandomDissolve(Duration=1,orientation=vertical)";
transitions[13] = "progid:DXImageTransform.Microsoft.Spiral(Duration=1,gridSizeX=40,gridSizeY=40)";
transitions[14] = "progid:DXImageTransform.Microsoft.Stretch(Duration=1,stretchStyle=push)";
transitions[15] = "Random";

var transition_count = 15;
var browserCanBlend = (is_ie5_5up);

function reset_timer() {
	while (document.getElementById('photo_urls_' + photo_count)) { photo_count++; }
	photo_count = photo_count - 1;
	if (photo_count > 1) {
		clearTimeout(timer);
		timeout_val = timeout_value * 1000;
		timer = setTimeout('go_to_next_photo()', timeout_val);
	}
}

function wait_for_current_photo() {
	/* Show the current photo */
	if (!show_current_photo()) {
		/*
		* The current photo isn't loaded yet.  Set a short timer just to wait
		* until the current photo is loaded.
		*/
		clearTimeout(timer);
		timer = setTimeout('wait_for_current_photo()', 500);
		return 0;
	} else {
		preload_next_photo();
		reset_timer();
	}
}

function go_to_next_photo() {
	/* Go to the next location */
	current_location = next_location;
	/* Show the current photo */
	if (!show_current_photo()) {
		wait_for_current_photo();
		return 0;
	}
	preload_next_photo();
	reset_timer();
}

function preload_next_photo() {
	/* Calculate the new next location */
	next_location = (parseInt(current_location) + 1);
	if (next_location > photo_count) next_location = 1;
	if (next_location == 0) next_location = photo_count;
	/* Preload the next photo */
	preload_photo(next_location);
}

function preload_complete() {
}

function show_current_photo() {
	/*
	* If the current photo is not completely loaded don't display it.
	*/
	if (!images[current_location] || !images[current_location].complete) {
		preload_photo(current_location);
		return 0;
	}
	/* transistion effects */
	if (browserCanBlend) {
		var do_transition;
		if (current_transition == (transition_count)) do_transition = Math.floor(Math.random() * transition_count);
		else do_transition = current_transition;
		document.images.slide.style.filter = transitions[do_transition];
		document.images.slide.filters[0].Apply();
	}
	document.slide.src = images[current_location].src;
	if (browserCanBlend) document.images.slide.filters[0].Play();
	return 1;
}

function preload_photo(index) {
	/* Load the next picture */
	if (pics_loaded < photo_count) {
		/* not all the pics are loaded.  Is the next one loaded? */
		if (!images[index]) {
			images[index] = new Image;
			images[index].onLoad = preload_complete();
			images[index].src = document.getElementById("photo_urls_" + index).href;
			pics_loaded++;
		}
	}
}
