thumbPath = '';

scrollThumbs = new Array();

thumbLoad = new Image();
for(var i in scrollThumbs) thumbLoad.src = thumbPath+scrollThumbs[i];

function scrollInit() {

	timeToWait = 1000;
	//thumbPath = 'images/portfolio/thumbs/';

	scrollCurrImage = 2;
	yPos = 0;
	innerDiv = document.getElementById('thumbs');
	t1 = document.getElementById('topThumb1');
	t2 = document.getElementById('topThumb2');
	b1 = document.getElementById('botThumb1');
	b2 = document.getElementById('botThumb2');
	
	scrollPause = false;
	
	//# Start scrolling
	setTimeout('startScroll()',timeToWait);
	
}

function startScroll() {
	scrollTimerID = setInterval("scroll(1)",20);
	startTime = new Date();
}

function openURL(index) {
	
	//# Adjust if scrollCurrImage has been reset to 0
	if(((scrollCurrImage-3)+index) < 0) index+=scrollThumbs.length;
	
	window.location = scrollThumbs[(scrollCurrImage-3)+index];
}

function swapImages() {

	//# Check to see if end of array has been reached
	scrollCurrImage = scrollCurrImage+2 >= scrollThumbs.length ? 0 : scrollCurrImage+2;
	
	//# Wait untill top images have loaded (mozilla issue)
	t2.onload = function() {
	
		//# Load new thumbs into bottom images
		b1.src = (thumbPath + scrollThumbs[scrollCurrImage]);
		if(scrollThumbs[scrollCurrImage+1]) b2.src = (thumbPath + scrollThumbs[scrollCurrImage+1]);
		
	}
	
	//# Make top images same as bottom images
	t1.src = b1.src;
	t2.src = b2.src;

	buf1 = t1.onmouseup;
	buf2 = t2.onmouseup;	

	t1.onmouseup = b1.onmouseup;
	t2.onmouseup = b2.onmouseup;

	b1.onmouseup = buf1;
	b2.onmouseup = buf2;	
		
	//# Move layer bakc down
	innerDiv.style.top = '0px';
	yPos = 0;
	
	setTimeout('startScroll()',timeToWait);

}

function scroll(offset) {

	//# If layer has scrolled halfway up, switch images and reset layer
	if(yPos >= 61) {
		clearInterval(scrollTimerID);
		swapImages();
		return false;
	}
	
	if(!scrollPause) {
		
		//# Move layer
		yPos = Math.ceil(easeOut(new Date()-startTime,0,62,1000));
		innerDiv.style.top = -(yPos)+'px';
	}
}

function easeOut (t, b, c, d) {

	if(t >= d) return c;

	//# Easing equation taken from robertpenner.com
	t /= d;
	return -c * t*(t-2) + b;
}