var galImages = new Array();
var useInnerText = false;

function galImg( topDiv )
{
	this.topDiv = topDiv;
	
	var link = topDiv.getElementsByTagName( 'a' )[0];
	this.imgFull = link.href;
	link.href = "#";
	
	this.img = link.firstChild;
	this.title = this.img.title;
	this.desc = this.img.alt;
	this.imgWidth = this.img.offsetWidth;
	this.imgHeight = this.img.offsetHeight;

	link.idx = galImages.length;
	link.onclick = function() { thumbClick( this.idx ); }

	galImages.push( this );
}

function setupGallery()
{
	// Check to see if we have thumbnails on this page
	var thumbs = document.getElementById( "thumbs" );
	if(!thumbs)
		return;

	useInnerText = (document.getElementsByTagName("body")[0].innerText != undefined) ? true : false;
		
	// Get all the divs and sort them out
	var divs = thumbs.getElementsByTagName( "div" );
	for( var i = 0; i < divs.length; ++i )
	{
		if( divs[i].className == "thumbBox" )
			new galImg( divs[i] );
	}

	var bigImgLink = document.getElementById( "bigImg" ).getElementsByTagName( "a" )[0];
	bigImgLink.onclick = function() { backToThumbs(); }
}

function thumbClick( idx )
{
	var galImg = galImages[ idx ];
	
	// hide/show thumbnails
	var totalWidth = 0;
	for( var i = 0; i < galImages.length; ++i )
	{
		if( i < idx - 1 || i > idx + 1 )
			galImages[i].topDiv.style.display = "none";
		else
		{
			galImages[i].topDiv.style.display = "block";
			galImages[i].topDiv.style.height = "143px";
			galImages[i].img.style.width = (galImages[i].imgWidth / 2) + "px";
			galImages[i].img.style.height = ( galImages[i].imgHeight / 2 ) + "px";
			totalWidth += galImages[i].topDiv.offsetWidth;
		}
	}

	var thumbs = document.getElementById( "thumbs" );
	thumbs.style.width = totalWidth + "px";

	var bigImg = document.getElementById( "bigImg" );
	var bigImgImg = bigImg.getElementsByTagName( "img" )[0];
	var bigImgTitle = bigImg.getElementsByTagName( "h2" )[0];
	var bigImgDesc = bigImg.getElementsByTagName( "p" )[0];

	bigImg.style.display = "block";
	if( bigImgImg.src != galImg.imgFull )
	{
		if( useInnerText )
		{
			bigImgTitle.innerHTML = "Loading New Image...";
			bigImgDesc.innerHTML = "";
		}
		else
		{
			bigImgTitle.textContent = "Loading New Image...";
			bigImgDesc.textContent = "";
		}
		
		bigImgImg.onload = function() { bigImgLoaded( idx ); }
		bigImgImg.src = galImg.imgFull;
	}
	else
	{
		bigImgLoaded( idx );
	}
}

function bigImgLoaded( idx )
{
	var galImg = galImages[ idx ];

	var bigImg = document.getElementById( "bigImg" );
	var bigImgTitle = bigImg.getElementsByTagName( "h2" )[0];
	var bigImgDesc = bigImg.getElementsByTagName( "p" )[0];
	var bigImgLink = bigImg.getElementsByTagName( "a" )[0];
	var bigImgImg = bigImg.getElementsByTagName( "img" )[0];
	
	bigImg.style.width = ( bigImgImg.offsetWidth + 43 ) + "px";
	
	if( useInnerText )
	{
		bigImgTitle.innerHTML = galImg.title;
		bigImgDesc.innerHTML = galImg.desc;
	}
	else
	{
		bigImgTitle.textContent = galImg.title;
		bigImgDesc.textContent = galImg.desc;
	}
	
	bigImgImg.onload = null;
}

function backToThumbs()
{
	for( var i = 0; i < galImages.length; ++i )
	{
			galImages[i].topDiv.style.display = "block";
			galImages[i].topDiv.style.height = "243px";
			galImages[i].img.style.width = "auto";
			galImages[i].img.style.height = "auto";
	}

	var thumbs = document.getElementById( "thumbs" );
	thumbs.style.width = "auto";

	var bigImg = document.getElementById( "bigImg" );
	bigImg.style.display = "none";

	var bigImgImg = bigImg.getElementsByTagName( "img" )[0];
	bigImgImg.onload = null;
}
