function showImage(src, alt)
{
	var imgDiv = document.getElementById("image-div");
	
	var innerDiv = null;
	if (imgDiv == null) 
	{
		imgDiv = document.createElement('div');
		imgDiv.setAttribute('id', 'image-div');
		innerDiv = document.createElement('div');
		imgDiv.appendChild(innerDiv);
		document.firstChild.appendChild(imgDiv);
		imgDiv.style.opacity = '0';
	}
	else 
		innerDiv = imgDiv.firstChild;
		
	if (document.getElementById('image-div-image') != null)
		innerDiv.removeChild(document.getElementById('image-div-image'));

	var title = "Click image to close.";
	if (alt) title = alt + "\n\n" + title;

	var img = document.createElement('img');
	img.setAttribute('src', src);
	img.setAttribute('id', 'image-div-image');
	img.setAttribute('title', title);
	img.setAttribute('alt', alt);
	img.addEventListener('click', closeImage, false);	
	
	imgDiv.style.position = 'fixed';
	imgDiv.style.top = '50%';
	imgDiv.style.marginTop = '-25%';
	
	innerDiv.style.position = 'relative';
	innerDiv.style.left = '50%';
	innerDiv.style.marginLeft = '-25%';
	innerDiv.style.border = '1px solid black';
	innerDiv.style.width = '100%';
	innerDiv.style.background = 'white url(/img/loading.gif) center no-repeat';
	innerDiv.appendChild(img);
	
	var increaseOpacity = function()
	{
		var x = parseFloat(imgDiv.style.opacity);
		x += 0.1;
		imgDiv.style.opacity = x;
		if (x < 1.0) setTimeout(increaseOpacity, 50);
	}
	
	if (parseFloat(imgDiv.style.opacity) < 1.0) increaseOpacity();
}

function closeImage()
{
	var imgDiv = document.getElementById("image-div");
	if (imgDiv == null) return;
	
	var decreaseOpacity = function()
	{
		var x = parseFloat(imgDiv.style.opacity);
		x -= 0.1;
		imgDiv.style.opacity = x;
		if (x > 0.0) setTimeout(decreaseOpacity, 50);
		else document.firstChild.removeChild(imgDiv);
	}
	if (parseFloat(imgDiv.style.opacity) > 0.0) decreaseOpacity();
}
