var logo = new Image;
var GalleryDiv;
var PictureDiv, MainImg;
var LoadingDiv;
var GalleryImages;
var oPrev2,oPrev,oNext,oNext2,oCur;
var oBig;

var imgPreloader;

function SetThumb(oLink,src)
{
var oImg = oLink.getElementsByTagName("img")[0];

if (oImg)
	oImg.src = src;
}

function CurrentRel(Offset)
{
Offset += CurrentImage;
if (Offset >= GalleryImages.length)
	Offset -= GalleryImages.length;
	
if (Offset < 0)
	Offset += GalleryImages.length;
return Offset;
}

function move(n)
{
CurrentImage += n;
while (CurrentImage < 0)
		CurrentImage += GalleryImages.length;
while (CurrentImage >= GalleryImages.length)
		CurrentImage -= GalleryImages.length;

ShowNew();

//SetThumbs();
return false;
}

function SetThumbs()
{
if (oPrev2)
	SetThumb(oPrev2,GalleryImages[CurrentRel(-2)].thumb);
if (oPrev)
	SetThumb(oPrev,GalleryImages[CurrentRel(-1)].thumb);
if (oCur)
	SetThumb(oCur, GalleryImages[CurrentImage].thumb);
if (oNext)
	SetThumb(oNext,GalleryImages[CurrentRel(+1)].thumb);
if (oNext2)
	SetThumb(oNext2,GalleryImages[CurrentRel(+2)].thumb);
}


function show()
{
var ok = 0;

for (j=0;j<GalleryImages.length;j++)
	{
	if (this == GalleryImages[j])
		{
		CurrentImage = j;
		ok = 1;
		}
	}

if (ok)
	{
	ShowNew();
	return false;
	}
return true;	
}

function ShowNew()
{	
imgPreloader = new Image();
		
// once image is preloaded, resize image container
imgPreloader.onload=function()
	{
	MainImg.src = GalleryImages[CurrentImage];
	PictureDiv.style.display="block";
	GalleryDiv.style.display="none";
	document.getElementById("caption").innerHTML = GalleryImages[CurrentImage].caption;
	SetThumbs();
	//alert("done"+imgPreloader.width +" "+ imgPreloader.height);
	if (LoadingDiv)
		LoadingDiv.style.display="none";
	if (oBig)
		{
		fred = 	"" +GalleryImages[CurrentImage];
		oBig.href = fred.replace("img","orig");
		}
	}
imgPreloader.src = GalleryImages[CurrentImage];
if (LoadingDiv)
	LoadingDiv.style.display="block";
}
	

function xShowImage()
{
	
	//MainImg.src = "";
	MainImg.src = this.href;

	PictureDiv.style.display="block";
	GalleryDiv.style.display="none";
	SetThumbs();
	return false;
	
	
//return true;	
}

function ShowGallery()
{
PictureDiv.style.display="none";
GalleryDiv.style.display="block";
return false;
}

function GalleryInit()
{
var j;
var go = 0;


if (!document.getElementById)
	return;
	
GalleryDiv = document.getElementById("gallery");
PictureDiv =  document.getElementById('picture');
LoadingDiv =  document.getElementById('loading');
if (!GalleryDiv || !PictureDiv)
	return;

// Add onclick to all the links to take control of the links
ThumbsDiv = document.getElementById('thumbs');
if (!ThumbsDiv)
	ThumbsDiv = GalleryImages;
GalleryImages = ThumbsDiv.getElementsByTagName("a");
//alert(GalleryImages.length);

for (j=0;j<GalleryImages.length;j++)	//*** Should check there is a img in the link
	{
	var s = location.hash;
	if (typeof s == "string" && s.indexOf(GalleryImages[j].id) == 1)
		{
		CurrentImage = j;
		go = 1;
		}

	GalleryImages[j].onclick = show;
	imgList = GalleryImages[j].getElementsByTagName("img");
	GalleryImages[j].caption = imgList[0].getAttribute('alt');

	GalleryImages[j].thumb = imgList[0].src;
	}

//MainImg = PictureDiv.getElementsByTagName("img")[0];	// *** Need to ID this as links will also be images
MainImg = document.getElementById("SinglePic");

PicLinks = PictureDiv.getElementsByTagName("a");
for (j=0;j<PicLinks.length;j++)
	{
	var oLoop = PicLinks[j];
	var s = oLoop.href;
	if (s.indexOf("#Next2") > -1)
		{
		oLoop.onclick = function () {return move(2)}
		if(oLoop.getElementsByTagName("img")[0])
			oNext2 = oLoop;
		}
	else if (s.indexOf("#Prev2") > -1)
		{
		oLoop.onclick = function (){return move(-2)};
		if(oLoop.getElementsByTagName("img")[0])
			oPrev2 = oLoop;
		}
	else if (s.indexOf("#Next") > -1)
		{
		oLoop.onclick = function (){return move(1)};
		if(oLoop.getElementsByTagName("img")[0])
			oNext = oLoop;
		}
	else if (s.indexOf("#Prev") > -1)
		{
		oLoop.onclick = function (){return move(-1)};
		if(oLoop.getElementsByTagName("img")[0])
			oPrev = oLoop;

		}
	else if (s.indexOf("#Gal") > -1)
		{
		oLoop.onclick = ShowGallery;
		if(oLoop.getElementsByTagName("img")[0])
			oCur = oLoop;
		}
	else if (s.indexOf("#big") > -1)
		{
		if(oLoop.getElementsByTagName("img")[0])
			oBig = oLoop;
		}
	
	}

if (go)
	ShowNew();

}

