var defOpacity = 100;
var imgSrc = "";
var newImg;
var fadeDelay = 150;


/* region Image Fade Functions */
function SwapImage(newSrc)
{
  StopSlideshow();
  SwapGalleryImage(newSrc);
}
function SwapGalleryImage(newSrc)
{
	imgSrc = newSrc;
	fadeOut('headerimage', defOpacity);
	PreLoadImage();
}
function PreLoadImage()
{
	newImg = new Image();
	newImg.src = imgSrc;
}
function SetNewSource()
{
	if (newImg.complete)
	{
		var main = document.getElementById('headerimage');
		main.src = imgSrc;
		main.alt = bImg[slideNumber-1];
		fadeIn('headerimage', 0);
	}
	else
	{
		window.setTimeout("SetNewSource()", fadeDelay);
	}
}
function fadeIn(objId,opacity) 
{
  if (document.getElementById) 
  {
    obj = document.getElementById(objId);
    if (opacity <= 100) 
    {
		setOpacity(obj, opacity);
		opacity += 10;
		window.setTimeout("fadeIn('"+objId+"',"+opacity+")", fadeDelay);
    }
  }
}

function fadeOut(objId,opacity) 
{
  if (document.getElementById) 
  {
    obj = document.getElementById(objId);
    if (opacity >= 0) 
    {
		setOpacity(obj, opacity);
		opacity -= 10;
		window.setTimeout("fadeOut('"+objId+"',"+opacity+")", fadeDelay);
    }
    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 Slideshow Functions */
var aImg = new Array();
var bImg = new Array();
var slideDelay = 6000;
var slideNumber = 1;
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 ToggleSlideshow()
{
 if (continuePlaying)
 		StopSlideshow();
	else
		StartSlideshow();
}
function StartSlideshow()
{
	continuePlaying = true;
	
    var main = document.getElementById('headerimage');
    if (main.src.indexOf(aImg[slideNumber])>0)
		{
  		slideNumber = slideNumber + 1;
		}
    window.setTimeout("Play()", slideDelay/2);
}
function StopSlideshow()
{
	continuePlaying	= false;
}
/* end region Slideshow Functions */

function initSlideshow()
{
 		if (BrowserDetect.browser == "Explorer")
		{
		 	 slideDelay = 9000;
			 fadeDelay = 10; //speed things up for that slowpoke...
		}
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      return;
    var url="headerPic.php?v="+Math.random();
    xmlHttp.onreadystatechange=function () { stateChanged(); };
    xmlHttp.open("GET",encodeURI(url),true);
    xmlHttp.send(null);
}


function stateChanged() 
{ 
    if (xmlHttp.readyState==4)
    { 
        picDiv = document.createElement("div");
        picDiv.style.display = "none";
        picDiv.innerHTML=xmlHttp.responseText;


        prepSlideshow(picDiv);
				StartSlideshow();
    }
}
function prepSlideshow(picDiv)
{
  var listItems = picDiv.getElementsByTagName("li");
  var selectedItem;
	var firstImg = document.getElementById("headerimage");
	firstImg = firstImg.src;
  for(var no=0;no<listItems.length;no++)
  {
	  bImg[no] = listItems[no].getAttribute("vid");
	  aImg[no] = "img/" + listItems[no].innerHTML;
		if (firstImg.src == aImg[no])
			 slideNumber = no+1;		
  }
}


addLoadEvent(initSlideshow);
