function swapImg(src, caption, link){
	pausecomp(50);
	//set some variables
	var curr = document.getElementById('current');	//name of a div to put image into
	var next = document.getElementById('next');	//name of a div to use as a temp

	//hide next & set image
	changeOpac(0,'next');
	var tmp = "setImage('next','"+src+"','"+caption+"','"+link+"')";
	setTimeout(tmp, 5);

	setTimeout("opacity('next',0,99,500)",10);

	tmp = "setImage('current','"+src+"','"+caption+"','"+link+"')";
	setTimeout(tmp, 510);
	setTimeout("changeOpac(99,'current')",515);
	setTimeout("changeOpac(0,'next')",520);

}

function pausecomp(millis) {
	var date = new Date();
	var curDate = null;

	do { curDate = new Date(); }
	while(curDate-date < millis);
} 

function setImage(div, img, caption, link){
	var target = document.getElementById(div);
	if (caption != "") {
		var captionHTML = "<p>"+caption+"</p>";
	} else {
		var captionHTML = "";
	}
	target.innerHTML = "<a href=\""+link+"\"><img src=\""+img+"\" width='156' />"+captionHTML+"</a>";
	init_image=1;
	return true;
}

function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 
function swapPhoto (image) {
	largeURL = image.getAttribute("longdesc");
	caption = image.getAttribute("alt");
	link = image.parentNode.getAttribute("href");
	swapImg(largeURL, caption, link);
}
function syncGalleryImage (src, caption, link) {
	swapImg(src, caption, link);
}
function initGallery () {
	var thumbnails = document.getElementById("thumbnails").getElementsByTagName("li");
	for(i=0;i<thumbnails.length;i++) {
		image = thumbnails[i].getElementsByTagName("img")[0];
		image.onmouseover = function() { swapPhoto(this); };
	}
	swapPhoto(thumbnails[0].getElementsByTagName("img")[0]);
}
window.onload = initGallery();