var galleryImages = new Array();
var preimages = new Array();
var sign = '-';
var scrollsize = 5;
var scrollsizebackup = 0;
var imagesloaded = 0;
var containerheight;
var gallerywidth = 0;
var dots = '.';
beginslideshow = function() {
	containerheight = $('container').style.height.split('p')[0];
	for (i in galleryImages)
	{
		preimages[i] = new Image();
		preimages[i].src = galleryImages[i];
	}
	progress = setInterval("checkload()",100);
}
function checkload()
{
	var imagecount = 0;
	for (i=0;i<preimages.length;i++)
	{
		if(preimages[i].complete) imagecount++;
	}
	(dots.length > 5) ? dots = '.' : dots += '.';
	document.getElementById('loading').innerHTML = "Please wait" + dots + "<br/>Images loaded: " + eval(imagecount+1) + "/" + preimages.length;

	if (imagecount >= preimages.length)
	{
		clearInterval(progress);
		startgallery();
	}
}
function startgallery() {
	buildgallery();
	function galmove() {
		new Effect.Move('gallery', {x: eval(sign+scrollsize), y: 0, duration: 0.1, transition: Effect.Transitions.linear, queue: {position: 'end', scope: 'anim', limit: 2}});
		if($('gallery').offsetLeft+scrollsize >= 0) setTimeout(function(){$('gallery').style.left = -gallerywidth/2 + 'px';},1);
		if(-($('gallery').offsetWidth-$('galleryarea').offsetWidth)+scrollsize >= $('gallery').offsetLeft) 
		{
			pos = -$('gallery').offsetLeft - $('gallery').offsetWidth;
			setTimeout(function(){$('gallery').style.left = (-pos-gallerywidth/2) + 'px';},10);
		}
		$('gallery').style.width = gallerywidth + 'px'; //sets the gallery div according to the number of images
	}
	$('galleryarea').style.width = $('container').style.width.split('p')[0]-$('controls').offsetWidth + 'px';
	$('gallery').style.left = -gallerywidth/2 + 'px'; //positions the gallery div at beginning of the second set of images
	$('track').style.height = containerheight-$('controlbox').offsetHeight-3 + 'px';
	$('loading').style.display = 'none';
	setInterval (galmove, 110);
	new Control.Slider('handle','track',{range:$R(0,50), values:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50], axis:'vertical', onSlide:function(v){scrollsize = v;}});
}
function pause(elem)
{
	scrollsizebackup = scrollsize;
	scrollsize = 0;
	$(elem).style.opacity = 0.6;
	$(elem).style.filter = 'alpha(opacity=60)';
}

function reset(elem)
{
	scrollsize = scrollsizebackup;
	scrollsizebackup = 0;
	$(elem).style.opacity = 1.0;
	$(elem).style.filter = 'alpha(opacity=100)';
}
function addImage(filename)
{
	galleryImages.push(filename);
}
function buildgallery()
{
	var no = 0;
	while(no<2)
	{
		for(i=0;i<galleryImages.size();i++)
		{
			var galImg = preimages[i]
			j=(no*galleryImages.size())+i+1;
			galImg.id = 'img' + j;
			galImg.setAttribute('onmouseout', "reset(this);");
			galImg.setAttribute('onmouseover', "pause(this);");
			$('gallery').appendChild(galImg);
			$('img'+j).width = galImg.width/galImg.height * containerheight;
			$('img'+j).height = containerheight;
			$('gallery').innerHTML += ' ';
		}
		$('gallery').innerHTML += ' ';
		no++;
	}
	for(i=0;i<preimages.length;i++)
	{
		gallerywidth += preimages[i].width;
		gallerywidth += 4;
	}
	gallerywidth *= 2;
}
