var noHide = 1;

var steps = 50;
var cnt;
var stepSize;
var holder, imageElm;
var cw, ch, cx, cy;
var xStep, yStep;
var tid;
var realWid, realHgt;
var notLoaded = 1;
var standardbody;
var animating = 0;

function showDiv(picID) 
{	
	var idStr = picID.id;
	var len = idStr.length;
	var idx = idStr.indexOf('-') + 1;
	var newImgName = idStr.substr(idx, len-idx);
		 
	if (animating == 1)
	{
		hideWindow(imageElm);
	}
		
	if (notLoaded == 1)	// first time initialisation
	{
		standardbody = (document.compatMode == "CSS1Compat") ? document.documentElement : document.body;
		notLoaded = 0;
	}

    if (document.getElementById)
    {
		var d = document.getElementById("holder"); 
		var d_nested = document.getElementById("image"); 
		if (d_nested)
		{
			var throwawayNode = d.removeChild(d_nested); 
		}
    		
  		imageElm = document.createElement("IMG");
    	imageElm.id = "image";
		
		holder = document.getElementById('holder');
		
		returnValue = holder.appendChild(imageElm);		
						
		var newImage = 'photos/' + newImgName + '.jpg'

		var ie = document.all 
		
		holder.style.visibility = "hidden";
		
		if (ie)
		{
			holder.style.display = "";	 
		}

		imageElm.loaded = 0;
		imageElm.onload = loaded;
		imageElm.src = newImage;	
	}
}

function loaded()
{  
	imageLoading = 0; // no longer loading an image
	statusdiv.style.visibility =  "hidden";
	holder.style.visibility = "hidden";
	realWid = imageElm.width;
	realHgt = imageElm.height;
		
	cnt = 1;

	cw = standardbody.clientWidth;
	ch = standardbody.clientHeight;
	cx = standardbody.scrollLeft + cw / 2;
	cy = standardbody.scrollTop + ch / 2;
	
	xStep = realWid / (2 * steps);	
	yStep = realHgt  / (2 * steps);	
		
	var newX = cx - xStep;
	var newY = cy - yStep;
	
	holder.style.left = newX;
	holder.style.top = newY;

	stepSize = realWid / steps;
	imageElm.width = 0;
	
	holder.style.visibility = "visible";
	holder.style.display = "";	 
	
	this.loaded = 1; 
	animating = 1;
	
	tid = window.setInterval("checkload()", 25);  
}

function setOpacity(obj, value) 
{
	obj.style.opacity = value/100;
	obj.style.filter = 'alpha(opacity=' + value + ')';
}

function checkload()
{			
	if (animating == 1)
	{
		var dx, dy;
		var opLevel = 100;
		if ((cnt * stepSize) < realWid)
		{
			opLevel = (cnt * 100 / steps);
			imageElm.width = cnt * stepSize;
			
			dx = cx - (cnt * xStep);
			dy = cy - (cnt * yStep);
		}
		else
		{
			imageElm.width = realWid;
			
			dx = cx - (realWid / 2);
			dy = cy - (realHgt / 2);
				
			window.clearInterval(tid);
			animating = 0;
		}
				
		setOpacity(imageElm, opLevel);
		holder.style.left = dx;
		holder.style.top = dy;
		cnt++;
	}
	return true;
}
 
function hideWindow(obj)
{
	if (noHide == 1)
	{
		if (animating == 1)
		{
			window.clearInterval(tid);
			animating = 0;
		}
    	obj.style.display = "none";	  
	}
	
	noHide = 1;
}
