var defOpacity = 100;
var imgSrc = "";
var newImg;
var defMargin = 0;
var minMargin = -1000;
var maxMargin = 0;
var canScroll = false;


/* region Image Fade Functions */
function SwapImage(newSrc)
{
  StopSlideshow();
  SwapGalleryImage(newSrc);
}
function SwapGalleryImage(newSrc)
{
	imgSrc = newSrc;
	fadeOut('mainimg', defOpacity);
	PreLoadImage();
}
function PreLoadImage()
{
	newImg = new Image();
	newImg.src = imgSrc;
}
function SetNewSource()
{
	if (newImg.complete)
	{
		var main = document.getElementById('mainimg');
		main.src = imgSrc;
		fadeIn('mainimg', 0);
	}
	else
	{
		window.setTimeout("SetNewSource()", 50);
	}
}
function fadeIn(objId,opacity) 
{
  if (document.getElementById) 
  {
    obj = document.getElementById(objId);
    if (opacity <= 100) 
    {
		setOpacity(obj, opacity);
		opacity += 10;
		window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 50);
    }
  }
}

function fadeOut(objId,opacity) 
{
  if (document.getElementById) 
  {
    obj = document.getElementById(objId);
    if (opacity >= 0) 
    {
		setOpacity(obj, opacity);
		opacity -= 10;
		window.setTimeout("fadeOut('"+objId+"',"+opacity+")", 50);
    }
    else
    {
		SetNewSource();
    }
  }
}

function setOpacity(obj, opacity) 
{
	defOpacity = opacity;
	opacity = (opacity == 100)?99.999:opacity;
	// IE/Win
	obj.style.filter = "alpha(opacity:"+opacity+")";
	// Safari<1.2, Konqueror
	obj.style.KHTMLOpacity = opacity/100;
	// Older Mozilla and Firefox
	obj.style.MozOpacity = opacity/100;
	// Safari 1.2, newer Firefox and Mozilla, CSS3
	obj.style.opacity = opacity/100;
	return true;
}
/* end region Image Fade Functions */

/* region ThumbNail Scrolling Functions */

function ScrollLeft()
{
	canScroll = true;
	DoScroll(2);
}
function ScrollRight()
{
	canScroll = true;
	DoScroll(-2);
}

function DoScroll(offset)
{
  defMargin += offset;
 	if (minMargin < defMargin && defMargin < maxMargin)
	{
  	if (canScroll)
  	{
  		var gal = document.getElementById('thumbs');
  		gal.style.marginLeft = defMargin + 'px'; 
  		window.setTimeout("DoScroll("+offset+")", 25);
  		
  	}
	}
	else
	{
    defMargin -= offset;
	}
}

function StopScrolling()
{
	canScroll = false;
}
/* end region Image Fade Functions */

/* region Slideshow Functions */
var aImg = new Array();
var slideDelay = 5000;
var slideNumber = 0;
var continuePlaying = false;

function Play()
{
	if (continuePlaying)
	{
	 	if (slideNumber == aImg.length)
			 slideNumber = 0;
			 
    SwapImageForSlideShow(aImg[slideNumber]);
		slideNumber = slideNumber + 1;
    window.setTimeout("Play()", slideDelay);
	}
}
function SwapImageForSlideShow(newSrc)
{
 	SwapGalleryImage(newSrc);
	continuePlaying = true;
}

function Opaque(buttonName)
{
  var button = document.getElementById(buttonName);
	setOpacity(button, 100); 
}
function Faded(buttonName)
{
  var button = document.getElementById(buttonName);
	setOpacity(button, 40); 
}
function ToggleSlideshow()
{
 if (continuePlaying)
 		StopSlideshow();
	else
		StartSlideshow();
}
function StartSlideshow()
{
	continuePlaying = true;
	
    var main = document.getElementById('mainimg');
    if (main.src.indexOf(aImg[slideNumber])>0)
		{
  		slideNumber = slideNumber + 1;
		}
    window.setTimeout("Play()", slideDelay);
}
function StopSlideshow()
{
	continuePlaying	= false;
}
/* end region Slideshow Functions */

