// GLOBALS //
var posterspath = "/media/posters/";
var posterduration = 300;
var postersetduration = 5;
var poster_switcher = -1;


// FUNCTIONS //

// add an event to be executed
function addEvent(obj, evType, fn)
{
    if (obj.addEventListener)
    {
        obj.addEventListener(evType, fn, false);
        return true;
    }
    else if (obj.attachEvent)
    {
        var r = obj.attachEvent("on"+evType, fn);
        return r;
    }
    else
    {
        return false;
    }
}


function rollover(num)
{
	var rolloverid = "rollover";
	var rollover = document.getElementById(rolloverid);
	rollover.style.backgroundImage = "url(/media/images/performances-" + num + ".jpg)";
}


// get an array of poster images
function get_posters()
{
	var posters = new Array();
	posters[0] = "lettersneversent.jpg";
	posters[1] = "3splitleaps.jpg";
	posters[2] = "bluedance.jpg";
	posters[3] = "falling.jpg";
	posters[4] = "gerardleap.jpg";
	return posters;
}


// get a single, qualified path to a poster image
function get_poster(i)
{
	var posters = get_posters();

	if ( (i >= 0) && (i <= posters.length) )
	{
		return posterspath + posters[i];
	}
	else
	{
		return "none";
	}
}


// get a random, qualified path to a poster image
function get_random_poster()
{
	var posters = get_posters();
	var i = Math.round( Math.random() * posters.length );
	return posterspath + posters[i];
}

function get_set_poster(setnum, setchar)
{
	return posterspath + 'set-' + setnum + '-' +setchar+ '.jpg';;
}



// preload posters
function preload_posters()
{
	var i = 0;
	var preloadposter = new Image();
	var posters = get_posters();

	for(i=0; i <= posters.length; i++)
	{
		preloadposter.src = posterspath + posters[i];
	}
}

function preload_posters_set(setnum)
{
	var i = 0;
	var preloadposter_a = new Image();
	var preloadposter_b = new Image();
	var preloadposter_c = new Image();

	preloadposter_a.src = posterspath + 'set-' + setnum + '-a.jpg';
	preloadposter_b.src = posterspath + 'set-' + setnum + '-b.jpg';
	preloadposter_c.src = posterspath + 'set-' + setnum + '-c.jpg';
	//alert(posterspath + 'set-' + setnum + '-a.jpg');
}

// start timer for poster change
function start_poster_switcher()
{
	poster_switcher = setInterval("do_poster_switcher()", 1000*posterduration);
}

// start timer for poster change
function start_poster_set_switcher()
{
	poster_switcher = setInterval("do_poster_set_switcher()", 1000*postersetduration);
}


function do_poster_switcher()
{
	var posterid = "poster";
	var poster = document.getElementById(posterid);
	if (poster)
	{
		poster.style.backgroundImage = "url(" + get_random_poster() + ")";
	}
}

function do_poster_set_switcher()
{
	var nextchar = 'a';
	var posterid = "poster";
	var poster = document.getElementById(posterid);
	if (poster)
	{
		//poster.style.backgroundImage = "url(" + get_random_poster() + ")";
		if ( poster.style.backgroundImage.indexOf('set-') > -1 )
		{
			var pos = poster.style.backgroundImage.indexOf('set-');
			var setnum = poster.style.backgroundImage.substr(pos + 4, 2);
			var setchar = poster.style.backgroundImage.substr(pos + 7, 1);
			
			switch (setchar)
			{
				case 'a': nextchar = 'b'; break;
				case 'b': nextchar = 'c'; break;
				case 'c': nextchar = 'a'; break;
			}

			poster.style.backgroundImage = "url(" + get_set_poster(setnum, nextchar) + ")";
		}
	}
}


function init_posters()
{
	var posterid = "poster";
	var poster = document.getElementById(posterid);
	if (poster)
	{
		if (poster.style.backgroundImage)
		{
			if ( poster.style.backgroundImage.indexOf('set-') > -1 )
			{
				var pos = poster.title.indexOf('set-');
				var setnum = poster.title.substr(pos + 4, 2);
				poster.style.backgroundImage = "url(" + get_set_poster(setnum, 'c') + ")";
				//alert(setnum);
				preload_posters_set(setnum);
				start_poster_set_switcher();
			}
			else
			{
				// preload posters
				preload_posters();
				// start timer for poster change
				start_poster_switcher();
			}
		}
		else
		{
			// preload posters
			preload_posters();
			// start timer for poster change
			start_poster_switcher();
		}
	}
}


function init()
{
	init_posters();
}

addEvent(window, 'load', init);