// timer ids
var show_banner_timer = -1;
var rotate_banner_timer = -1;

// banner to display
var current_banner = 1;
var next_banner = -1;

// quantity and width of banners
var banner_count = -1;
var banner_width = 401;

// animation variables
var banner_dx = -20;
var frame_delay = 40;
var rotate_delay = 10000;
var status = 'play';

function initBanners(count)
{
	banner_count = count;
	
	current_banner = Math.floor(Math.random() * banner_count) + 1;

	// position banners
	for (i = 1; i <= banner_count; i++)
	{
		if (i == current_banner)
			document.getElementById('banner' + i).style.left = '0px';
		else
			document.getElementById('banner' + i).style.left = banner_width + 'px';
		
		document.getElementById('banner' + i).style.display = 'block';
	}
	timerRotateBannerStart();
}

function rotateBanner()
{
	timerShowBannerStart('next');
}

function showBanner()
{
	showBanner.i += banner_dx;
	showBanner.j += banner_dx;
	
	// finished rotating
	if ((showBanner.i <= -banner_width) || (showBanner.i >= banner_width)) {
		document.getElementById('banner' + current_banner).style.left = '-' + banner_width + 'px';
		document.getElementById('banner' + next_banner).style.left = '0px';
		
		timerShowBannerStop();
		current_banner = next_banner;
		return;
	}
	
	document.getElementById('banner' + current_banner).style.left = showBanner.i + 'px';
	document.getElementById('banner' + next_banner).style.left = showBanner.j + 'px';
}

function timerRotateBannerStart()
{
	if ((rotate_banner_timer == -1) && (status == 'play'))
	{
		rotate_banner_timer = window.setInterval(rotateBanner, rotate_delay);
		return true;
	}
	
	return false;
}

function timerRotateBannerStop()
{
	window.clearInterval(rotate_banner_timer);
	rotate_banner_timer = -1;
}

function timerRotateBannerToggle(element)
{
	switch (element.title) {
		case 'Play':
			status = 'play';
			element.title = 'Pause';
			element.firstChild.src = '/images/advertising-pause.gif'
			timerRotateBannerStart();
		break;
		case 'Pause':
			status = 'pause';
			element.title = 'Play';
			element.firstChild.src = '/images/advertising-play.gif'
			timerRotateBannerStop();
		break;
	}
//	if (rotate_banner_timer == -1) timerRotateBannerStart(); else timerRotateBannerStop();
}

function timerShowBannerStart(direction)
{
	if (show_banner_timer == -1) {
		switch (direction) {
			case 'next':
			next_banner = current_banner  % banner_count + 1;
			banner_dx = -Math.abs(banner_dx); /* left */
			break;
			case 'prev':
			next_banner = current_banner - 1;
			if (next_banner <= 0) next_banner = banner_count;
			banner_dx = Math.abs(banner_dx); /* right */
			break;
		}
		
		// set banner starting locations
		showBanner.i = 0;
		// start the next banner to the left or the right depending on the direction
		showBanner.j = ((banner_dx > 0) ? -1 : 1) * banner_width;
		
		if (banner_count > 1) show_banner_timer = window.setInterval(showBanner, frame_delay);
		return true;
	}
	
	return false;
}

function timerShowBannerStop()
{
	window.clearInterval(show_banner_timer);
	show_banner_timer = -1;
}

