function swapImg(src, caption){
	//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+"')";
	setTimeout(tmp, 5);

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

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

}

function setImage(div, img, caption, initial){
	//if this is the initial page load, check if we have loaded an image already
	if(initial && init_image){
		return false;
	}
	var target = document.getElementById(div);
	target.innerHTML = "<img src=\""+img+"\" /><p>"+caption+"</p>";
	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");
	//document.getElementById("large_photo").innerHTML = '<img src="'+largeURL+'" alt="'+ caption+'" />';
	swapImg(largeURL, caption);
}
function initGallery () {
	var thumbnails = document.getElementById("thumbnails").getElementsByTagName("li");
	for(i=0;i<thumbnails.length;i++) {
		image = thumbnails[i].getElementsByTagName("img")[0];
		image.onclick = function() { swapPhoto(this); };
	}
	swapPhoto (thumbnails[0].getElementsByTagName("img")[0]);
}
initGallery();