/*
Pre-requisites
- img_names = array of filenames
- img_width = array of image widths
- img_height = array of image heights
- img_vspace = array of image vertical spacings
- img_location = directory location of images relative to root
*/

// prepare variables
var display_duration = 2000;		// how long (in ms) the image is displayed for excluding the fading
var fade_duration = 8;				// how long (in ms) between each fade stage
var fade_stages = 100;				// how granular the fading is (how many steps to fade in or out completely)
var fade_overlap_level = 50;		// how many fade out levels have to occur before the next image starts to fade in
var odd_fade_level = fade_stages;	// the level of visibility for the primary image (in relation to fade_stages)
var even_fade_level = 0;			// the level of visibility for the secondary image (in relation to fade_stages)

// create and initialize a counter
var n = 1;

function launch()
{
	setTimeout( "fade_to_even()", display_duration );

	var odd_div_obj = document.getElementById("OddSlideshow");
	var even_div_obj = document.getElementById("EvenSlideshow");

	setOpacity(odd_div_obj,100);

	// preload all the images
	var preload = new Array();

	for( var i = 1; i < img_names.length; i++ )
	{
		preload[i] = new Image();
		preload[i].src = img_location+img_names[i];
	}
}

function setOpacity(object,opacity) {
	object.style.opacity = (opacity / 100);
	object.style.MozOpacity = (opacity / 100);
	object.style.KhtmlOpacity = (opacity / 100);
	object.style.filter = "alpha(opacity=" + opacity + ")";
}

function fade_to_even()
{
	var odd_div_obj = document.getElementById("OddSlideshow");
	var even_div_obj = document.getElementById("EvenSlideshow");

	var odd_pic_obj = document.images.OddSlideshowPicture;
	var even_pic_obj = document.images.EvenSlideshowPicture;

	if ((odd_fade_level == 0) && (odd_div_obj.style.visibility != "hidden"))
	{
		odd_div_obj.style.visibility = "hidden";

		( n == (img_names.length - 1 )) ? n = 0 : n++;

		odd_pic_obj.src = img_location+img_names[n];
		odd_pic_obj.width = img_width[n];
		odd_pic_obj.height = img_height[n];
		odd_pic_obj.vspace = img_vspace[n];
	}

	if (odd_fade_level > 0)
	{
		odd_fade_level = odd_fade_level - 1;

		setOpacity(odd_div_obj,odd_fade_level);
	}

	if (odd_fade_level <= fade_overlap_level)
	{
		if (even_div_obj.style.visibility != "visible")
		{
			even_div_obj.style.visibility = "visible";
		}

		if (even_fade_level < fade_stages)
		{
			even_fade_level = even_fade_level + 1;

			setOpacity(even_div_obj,even_fade_level);
		}
	}

	if ((odd_fade_level == 0) && (even_fade_level == fade_stages))
	{
		setTimeout( "fade_to_odd()", display_duration );
	}
	else
	{
		setTimeout( "fade_to_even()", fade_duration);
	}
}

function fade_to_odd()
{
	var odd_div_obj = document.getElementById("OddSlideshow");
	var even_div_obj = document.getElementById("EvenSlideshow");

	var odd_pic_obj = document.images.OddSlideshowPicture;
	var even_pic_obj = document.images.EvenSlideshowPicture;

	if ((even_fade_level == 0) && (even_div_obj.style.visibility != "hidden"))
	{
		even_div_obj.style.visibility = "hidden";

		( n == (img_names.length - 1 )) ? n = 0 : n++;

		even_pic_obj.src = img_location+img_names[n];
		even_pic_obj.width = img_width[n];
		even_pic_obj.height = img_height[n];
		even_pic_obj.vspace = img_vspace[n];
	}

	if (even_fade_level > 0)
	{
		even_fade_level = even_fade_level - 1;

		setOpacity(even_div_obj,even_fade_level);
	}

	if (even_fade_level <= fade_overlap_level)
	{
		if (odd_div_obj.style.visibility != "visible")
		{
			odd_div_obj.style.visibility = "visible";
		}

		if (odd_fade_level < fade_stages)
		{
			odd_fade_level = odd_fade_level + 1;

			setOpacity(odd_div_obj,odd_fade_level);
		}
	}

	if ((even_fade_level == 0) && (odd_fade_level == fade_stages))
	{
		setTimeout( "fade_to_even()", display_duration );
	}
	else
	{
		setTimeout( "fade_to_odd()", fade_duration);
	}
}

