var leftarrow_off = new Image(30, 117);
leftarrow_off.src = "images/sl.gif";
var leftarrow_on = new Image(30, 117);
leftarrow_on.src = "images/slo.gif";
var rightarrow_off = new Image(30, 117);
rightarrow_off.src = "images/sr.gif";
var rightarrow_on = new Image(30, 117);
rightarrow_on.src = "images/sro.gif";

var blank = new Image(1,1);
blank.src = "images/blank.gif";

var position;
var scroller;
var scrollTime;
var offset;

var numImages = 0;
var thumbnails = new Array();
var pics = new Array();
var imageNames = new Array();

var timeStep = 39;
var autoStep = 1;
var overStep = 6;
var pixStep = autoStep;

var browserName = navigator.userAgent.toLowerCase();
var is_ie5 = (browserName.indexOf("msie 5") != -1);

function initScroller(names)
{
	numImages = names.length;
	for (var i = 0; i < numImages; i++)
	{
		pics[i] = new Image(448, 252);
		imageNames[i] = "images/" + names[i] + ".jpg";
		thumbnails[i] = document.getElementById("th" + i);
	}
	
	offset = 0;
	position = 0;
	scroller = document.getElementById("scroll_content");

	if (is_ie5)
	{
		var scrollerBody = document.getElementById("scroller_body");
		var height = scrollerBody.currentStyle["height"];
		var heightInt = parseInt(height.substring(0, height.length - 2));
		var border = scrollerBody.currentStyle["borderWidth"];
		var borderInt = parseInt(border.substring(0, border.length - 2));
		document.getElementById("scroller_body").style.height = 2*borderInt + heightInt + "px";
	}
	
	autoScroll();
}

function autoScroll()
{
	clearTimeout(scrollTime);
	pixStep = autoStep;
	scrollRight();
}

function pauseScroll()
{
	clearTimeout(scrollTime);
}

function viewImage(i)
{
	var imageNum = (i + offset) % numImages;
	var w = pics[imageNum].width;
	var h = pics[imageNum].height;
	if (is_ie5)
	{
		var border = document.getElementById("image_viewer").currentStyle["borderWidth"];
		var borderInt = parseInt(border.substring(0, border.length - 2));
		w += 2*borderInt;
		h += 2*borderInt;
	}
	document.getElementById("image_viewer").style.width = w + "px";
	document.getElementById("image_viewer").style.height = h + "px";
	document.getElementById("viewer_image").src = blank.src;
	document.getElementById("image_viewer_wrapper").style.display = "block";
	if (!pics[imageNum].src)
	{
		pics[imageNum].onload = function() {document.getElementById("viewer_image").src = pics[imageNum].src;}
		pics[imageNum].src = imageNames[imageNum];
	}
	else
	{
		document.getElementById("viewer_image").src = pics[imageNum].src;
	}
}

function closeView()
{
	document.getElementById("viewer_image").src = blank.src;
	document.getElementById("image_viewer_wrapper").style.display = "none";
}

function rotateRight()
{
	var temp = thumbnails[numImages-1].src;
	var temp_t = thumbnails[numImages-1].title;
	for (var i=numImages-1; i>0; i--)
	{
		thumbnails[i].src = thumbnails[i-1].src;
		thumbnails[i].title = thumbnails[i-1].title;
	}
	thumbnails[0].src = temp;
	thumbnails[0].title = temp_t;
	if (offset == 0) offset = numImages - 1;
	else offset--;
}

function rotateLeft()
{
	var temp = thumbnails[0].src;
	var temp_t = thumbnails[0].title;
	for (var i=0; i<numImages-1; i++)
	{
		thumbnails[i].src = thumbnails[i + 1].src;
		thumbnails[i].title = thumbnails[i + 1].title;
	}
	thumbnails[numImages-1].src = temp;
	thumbnails[numImages-1].title = temp_t;
	offset = (offset + 1) % numImages;
}

function scrollLeft()
{
	if (position + pixStep >= 0)
	{
		var lastWidth = thumbnails[numImages-1].width;
		position = position - lastWidth - 7;
		rotateRight();
	}
	position = position + pixStep;
	scroller.style.left = position + "px";
	scrollTime = setTimeout("scrollLeft()", timeStep);
}

function scrollRight()
{
	var firstWidth = thumbnails[0].width;
	if (position + firstWidth - pixStep < 0)
	{
		position = position + firstWidth + 7;
		rotateLeft();
	}
	position = position - pixStep;
	scroller.style.left = position + "px";
	scrollTime = setTimeout("scrollRight()", timeStep);
}

function leftMouseover(img_h)
{
	img_h.src = leftarrow_on.src;
	document.getElementById("sl_button").style.borderColor = "pink";
	clearTimeout(scrollTime);
	pixStep = overStep;
	scrollLeft();
}

function leftMouseout(img_h)
{
	img_h.src = leftarrow_off.src;
	document.getElementById("sl_button").style.borderColor = "purple";
	autoScroll();
}

function rightMouseover(img_h)
{
	img_h.src = rightarrow_on.src;
	document.getElementById("sr_button").style.borderColor = "pink";
	clearTimeout(scrollTime);
	pixStep = overStep;
	scrollRight();
}

function rightMouseout(img_h)
{
	img_h.src = rightarrow_off.src;
	document.getElementById("sr_button").style.borderColor = "purple";
	autoScroll();
}