function csoSS_start(aContent, aHeaders, aImages)
{
	csoSS_active = csoSS_previous = csoSS_next = 0;
	csoSS_total = Math.min(aContent.length, aHeaders.length, aImages.length);
	
	//	load images
	csoSS_images = new Array();
	csoSS_images_ready = new Array();
	
	for (var i = 0; i < aImages.length; i++) {
		var oImage = new Image();
		csoSS_images.push(oImage);
		csoSS_images_ready.push(false);
		csoSS_images[i].onload = csoSS_addImage;
		csoSS_images[i].src = aImages[i];
	}
	
	//	set up slideshow content
	var oFirst = $('#slideshow > .slideshow_item').get(0);
	if ( oFirst ) {
		for (var i = 1; i < csoSS_total; i++) {
			var sHTML = '<div class="slideshow_item">';
			sHTML += '<h1 class="slideshow_header">' + aHeaders[i] + '</h1>';
			sHTML += '<div id="slideshow_text">' + aContent[i] + '</div></div>';
			$(oFirst).after(sHTML);
			$($('#slideshow > .slideshow_item').get(i)).css('background-image', "url('" + aImages[i] + "')");
		}
	} else {
		for (var i = 0; i < csoSS_total; i++) {
			var sHTML = '<div class="slideshow_item">';
			sHTML += '<h1 class="slideshow_header">' + aHeaders[i] + '</h1>';
			sHTML += '<div id="slideshow_text">' + aContent[i] + '</div></div>';
			$('#slideshow_pager').before(sHTML);
			$($('#slideshow > .slideshow_item').get(i)).css('background-image', "url('" + aImages[i] + "')");
		}
	}
	
	$('#slideshow > .slideshow_item').hide();
	$($('#slideshow > .slideshow_item').get(0)).show();
	
	//	make the pager interactive and select the first item
	$($('#slideshow_pager > div').get(0)).addClass('selected');
	$('#slideshow_pager > div').click(csoSS_set);
	$('#slideshow_pager > div').mouseover(function(){
		window.clearTimeout(csoSS_timer);
	});
	$('#slideshow_pager > div').mouseout(function(){
		window.clearTimeout(csoSS_timer);
		csoSS_timer = window.setTimeout(csoSS_switch, 10000);
	});
	
	//	store some css data about the pager
	csoSS_margins = new Object();
	csoSS_margins['bottom'] = $('#slideshow_pager').css('margin-bottom');
	csoSS_margins['left'] = $('#slideshow_pager').css('margin-left');
	csoSS_margins['right'] = $('#slideshow_pager').css('margin-right');
	csoSS_margins['top'] = $('#slideshow_pager').css('margin-top');
	
	//	start the show!
	csoSS_timer = window.setTimeout(csoSS_switch, 10000);
	return;
}
function csoSS_addImage()
{
	for (var i = 0, bContinue = false; i < csoSS_images.length; i++) {
		if ( this == csoSS_images[i] ) {
			$($('#slideshow > .slideshow_item').get(i)).css('background-image', "url('" + csoSS_images[i].src + "')");
			csoSS_images_ready[i] = true;
			bContinue = true;
			break;
		}
	}
	if ( bContinue ) {
		csoSS();
	}
	return;
}
function csoSS_set()
{
	csoSS_next = $('#slideshow_pager > div').index(this);
	csoSS();
	return;
}
function csoSS_switch()
{
	if ( csoSS_active >= csoSS_total - 1 ) {
		csoSS_next = 0;
	} else {
		csoSS_next++;
	}
	if ( csoSS_images_ready[csoSS_next] ) {
		csoSS();
	}
	return;
}
function csoSS_fade1()
{
	$($('#slideshow > .slideshow_item').get(csoSS_previous)).fadeOut(1000);
	return;
}
function csoSS_fade2()
{
	$($('#slideshow > .slideshow_item').get(csoSS_active)).fadeIn(1000, csoSS_fadeComplete);
	return;
}
function csoSS_fadeComplete()
{
	//	put everything back
	$('#slideshow_pager').css('left', 'auto').css('top', 'auto');
	$('#slideshow_pager').css('margin-bottom', csoSS_margins['bottom']);
	$('#slideshow_pager').css('margin-left', csoSS_margins['left']);
	$('#slideshow_pager').css('margin-right', csoSS_margins['right']);
	$('#slideshow_pager').css('margin-top', csoSS_margins['top']);
	
	$($('#slideshow > .slideshow_item').get(csoSS_previous)).css('position', 'relative').css('left', 'auto').css('top', 'auto').css('z-index', "");
	$($('#slideshow > .slideshow_item').get(csoSS_active)).css('position', 'relative').css('left', 'auto').css('top', 'auto').css('z-index', "");
	return;
}
function csoSS()
{
	if ( csoSS_active == csoSS_next ) {
		return;
	}
	
	csoSS_previous = csoSS_active;
	csoSS_active = csoSS_next;
	
	//	change the pager
	$($('#slideshow_pager > div').get(csoSS_previous)).removeClass('selected');
	$($('#slideshow_pager > div').get(csoSS_active)).addClass('selected');
	
	//	temporarily position the pager absolutely
	var oOffset = $('#slideshow_pager').offset();
	$('#slideshow_pager').css('margin', 0).css('left', oOffset.left).css('top', oOffset.top);
	
	//	temporarily position the first and second elements absolutely
	var oOffset = $($('#slideshow > .slideshow_item').get(csoSS_previous)).offset();
	$($('#slideshow > .slideshow_item').get(csoSS_previous)).css('position', 'absolute').css('left', oOffset.left).css('top', oOffset.top).css('z-index', 100);
	$($('#slideshow > .slideshow_item').get(csoSS_active)).css('position', 'absolute').css('left', oOffset.left).css('top', oOffset.top).css('z-index', 101);
	
	//	change the content
	window.setTimeout(csoSS_fade1, 10);
	window.setTimeout(csoSS_fade2, 10);
	csoSS_timer = window.setTimeout(csoSS_switch, 10000);
	return;
}

