//setup variables-------------------------------------
var TimeToFade = 1000.0;
var imgHeight=166; //reflect in CSS also
var imgWidth=258;  //reflect in CSS also
var fadeOutDelay = 50; //10 = 1 second
//----------------------------------------------------

//don't edit these initial values
var mouseoverflag=false;
var maincounter = 0;
var currentbox = 0;
var totalboxes = 0;

function fadeOut(eid)
{
		  var element = document.getElementById(eid);
		  if(element == null)
			return;
		   
		  if(element.FadeState == null)
		  {
			if(element.style.opacity == null
				|| element.style.opacity == ''
				|| element.style.opacity == '1')
			{
			  element.FadeState = 2;
			}
			else
			{
			  element.FadeState = -2;
			}
		  }
		   
		  if(element.FadeState == 1 || element.FadeState == -1)
		  {
			element.FadeState = element.FadeState == 1 ? -1 : 1;
			element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
		  }
		  else
		  {
			element.FadeState = element.FadeState == 2 ? -1 : 1;
			element.FadeTimeLeft = TimeToFade;
			setTimeout("animateFadeOut(" + new Date().getTime()
				+ ",'" + eid + "')", 33);
		  }

}

function fadeIn(eid)
{

	  
	//if(timerID) {
	//	clearTimeout(timerID);
	//	clockID  = 0;
	//  }
		
	  document.getElementById(eid).style.opacity = "0";
	  var element = document.getElementById(eid);
	  if(element == null)
		return;
	   
	  if(element.FadeState == null)
	  {
		if(element.style.opacity == null
			|| element.style.opacity == ''
			|| element.style.opacity == '1')
		{
		  element.FadeState = 2;
		}
		else
		{
		  element.FadeState = -2;
		}
	  }
	   
	  if(element.FadeState == 1 || element.FadeState == -1)
	  {
		element.FadeState = element.FadeState == 1 ? -1 : 1;
		element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
	  }
	  else
	  {
		element.FadeState = element.FadeState == 2 ? -1 : 1;
		element.FadeTimeLeft = TimeToFade;
		setTimeout("animateFadeIn(" + new Date().getTime()
			+ ",'" + eid + "')", 33);
	  }
		  

}

function maintimer()
{
if (mouseoverflag == false )
	{
		maincounter = maincounter + 1;
		if (maincounter>=fadeOutDelay)
		{ 
			maincounter = 0; 
			fadeOut('adbox'+currentbox); //fade out current box
			if (currentbox>=(totalboxes-1))
				{ currentbox=0; }
			else
				{ currentbox = currentbox+1;}

			fadeIn('adbox'+currentbox);
		}
	}
setTimeout("maintimer()", 100);

}


function animateFadeOut(lastTick, eid)
{ 

	  var curTick = new Date().getTime();
	  var elapsedTicks = curTick - lastTick;
	 
	  var element = document.getElementById(eid);
	 
	  if(element.FadeTimeLeft <= elapsedTicks)
	  {
		element.style.opacity = element.FadeState == 1 ? '1' : '0';
		element.style.filter = 'alpha(opacity = '
			+ (element.FadeState == 1 ? '100' : '0') + ')';
		element.FadeState = element.FadeState == 1 ? 2 : -2;
		document.getElementById(eid).style.display = "none";
		return;
	  }
	 
	  element.FadeTimeLeft -= elapsedTicks;
	  var newOpVal = element.FadeTimeLeft/TimeToFade;
	  if(element.FadeState == 1)
		newOpVal = 1 - newOpVal;
	
	  element.style.opacity = newOpVal;
	  element.style.filter =
		  'alpha(opacity = ' + (newOpVal*100) + ')';

	  setTimeout("animateFadeOut(" + curTick
		  + ",'" + eid + "')", 33);

}
function animateFadeIn(lastTick, eid)
{ 
	  document.getElementById(eid).style.display = "block";

	  var curTick = new Date().getTime();
	  var elapsedTicks = curTick - lastTick;
	 
	  var element = document.getElementById(eid);
	 
	  if(element.FadeTimeLeft <= elapsedTicks)
	  {
		element.style.opacity = element.FadeState == 1 ? '1' : '0';
		element.style.filter = 'alpha(opacity = '
			+ (element.FadeState == 1 ? '100' : '0') + ')';
		element.FadeState = element.FadeState == 1 ? 2 : -2;
		return;
	  }
	 
	  element.FadeTimeLeft -= elapsedTicks;
	  var newOpVal = element.FadeTimeLeft/TimeToFade;
	  if(element.FadeState == 1)
		newOpVal = 1 - newOpVal;
	
	  element.style.opacity = newOpVal;
	  element.style.filter =
		  'alpha(opacity = ' + (newOpVal*100) + ')';

	  setTimeout("animateFadeIn(" + curTick
		  + ",'" + eid + "')", 33);

}

function myalert()
{	
	mouseoverflag = true;

}
function goagain(eid,boxtotal)
{
	mouseoverflag = false;

}
function next()
{
	maincounter=fadeOutDelay; //set timer to expire
}
function prev()
{
	fadeOut('adbox'+currentbox);
	if (currentbox<=1)
		{ currentbox=totalboxes-1; }
	else
		{ currentbox = currentbox-1;}
	fadeIn('adbox'+currentbox);
	maincounter=0;  //reset timer
}



function placeadbox(xmlFilePath)
{
	if (navigator.appName == "Netscape")
	{
		loadXMLDoc(xmlFilePath);
	}
	else
	{
		loadxml_IE(xmlFilePath);
	}
}





//---------------------------------------------------------------
function loadXMLDoc(url)
{
xmlhttp=null;
if (window.XMLHttpRequest)
  {// code for IE7, Firefox, Mozilla, etc.
  xmlhttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {// code for IE5, IE6
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
if (xmlhttp!=null)
  {
  xmlhttp.onreadystatechange=onResponse;
  xmlhttp.open("GET",url,true);
  xmlhttp.send(null);
  xmlhttp.close;
  }
else
  {
  alert("Your browser does not support XMLHTTP.");
  }
}


function onResponse()
{
var mystring="";
if(xmlhttp.readyState!=4) return;
if((xmlhttp.status!=200)&&(xmlhttp.status!=0))
  {
  alert("Problem retrieving XML data");
  return;
  }

	opacityvar=1; vardisplay = "block";
x=xmlhttp.responseXML.documentElement.getElementsByTagName("image");
totalboxes = x.length;

	for (var i=0;i<x.length;i++)
	{ 
	nodename=x[i].getElementsByTagName("name");
	nodefilename=x[i].getElementsByTagName("filename");
	nodeurl=x[i].getElementsByTagName("url");
	try
		{
		imagename = nodename[0].firstChild.nodeValue;
		}
	catch(err)
		{
		imagename = "";
		}
	try
		{
		imagefilename = nodefilename[0].firstChild.nodeValue;
		}
	catch(err)
		{
		imagefilename = "";
		}

//test for empty link node---------------------------------------------start
	try
		{
		imageurl = '<a onmouseover="myalert()" onmouseout="goagain('+i+','+x.length+')" href="http://'+nodeurl[0].firstChild.nodeValue+'" target="_blank"><img src="'+imagefilename+'" height="'+imgHeight+'" width="'+imgWidth+'" style="border:2px solid #778e1d;"><div class="articletitle">'+imagename+'</div></a>'
		}
	catch(err)
		{
		imageurl = '<img src="'+imagefilename+'" height="'+imgHeight+'" width="'+imgWidth+'" style="border:2px solid #778e1d;"><div class="articletitle">'+imagename+'</div>'
		}
//test for empty node---------------------------------------------end

mystring = mystring + '<div class="box_outer"><div class="adbox'+i+'" id="adbox'+i+'" style="opacity:'+opacityvar+';z-index:1000;filter: alpha(opacity = 100);zoom: 1;position:absolute;top:1;left:1;display:'+vardisplay+';"><div class="adwrapper">'+imageurl+'</div></div></div>';

	opacityvar = 0; vardisplay = "none";


	}

	mystring = mystring + '<div class="imagenavigator"><div class="prevnav"><a href="javascript: prev();" id="prevnav"><img src="/SiteCollectionImages/Slideshow/slideshow_arrow_left.gif" border="0" style="border:1px solid #90a63c;"></a></div><div class="nextnav"><a href="javascript: next();" id="nextnav"><img src="/SiteCollectionImages/Slideshow/slideshow_arrow_right.gif" border="0" style="border:1px solid #90a63c;"></a></div></div>';


document.getElementById('adbox_holder').innerHTML= mystring;
timerID  = setTimeout("maintimer()",1000);

}
//---------------------------------------------------------------




function loadxml_IE(xmlFilePath)
{
	var xmlDoc;
	var mystring="";
    try //Internet Explorer
    {
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    }
    catch(e)
    {
        try //Firefox, Mozilla, Opera, etc.
        {
            var xmlDoc = document.implementation.createDocument("","",null);
        }
        catch(e)
        {
            alert(e.message);
            //return;
        }
    }
    xmlDoc.async=false;
    xmlDoc.load(xmlFilePath);

	opacityvar=1; vardisplay = "block";
	var x=xmlDoc.getElementsByTagName("name");
	for (var i=0;i<x.length;i++)
	{ 
		
		try
		{
			imagename=xmlDoc.getElementsByTagName("name")[i].childNodes[0].nodeValue;
		}
		catch(err)
		{
			imagename = "";
		}
		try
		{
			imagefilename=xmlDoc.getElementsByTagName("filename")[i].childNodes[0].nodeValue;
		}
		catch(err)
		{
			imagefilename="";
		}
		
//test for empty link node---------------------------------------------start
		try
		{
		imageurl = xmlDoc.getElementsByTagName("url")[i].childNodes[0].nodeValue+'" target="_blank"><img src="'+imagefilename;

		linkurl='<a onmouseover="myalert()" onmouseout="goagain('+i+','+x.length+')" href="http://'+imageurl+'" height="'+imgHeight+'" width="'+imgWidth+'" style="border:2px solid #778e1d;"><div class="articletitle">'+imagename+'</div></a>';
		}
		catch(err)
		{
		linkurl='<img src="'+imagefilename+'" height="'+imgHeight+'" width="'+imgWidth+'" style="border:2px solid #778e1d;"><div class="articletitle">'+imagename+'</div>';
		//alert(err.description);
		}
//test for empty node-------------------------------------------end		

		mystring = mystring + '<div class="box_outer"><div class="adbox'+i+'" id="adbox'+i+'" style="opacity:'+opacityvar+';z-index:1000;filter: alpha(opacity = 100);zoom: 1;position:absolute;top:1;left:1;display:'+vardisplay+';"><div class="adwrapper">'+linkurl+'</div></div></div>';

		opacityvar = 0; vardisplay = "none";
	}

	mystring = mystring + '<div class="imagenavigator"><div class="prevnav"><a href="javascript: prev();" id="prevnav"><img src="/SiteCollectionImages/Slideshow/slideshow_arrow_left.gif" border="0" style="border:1px solid #90a63c;"></a></div><div class="nextnav"><a href="javascript: next();" id="nextnav"><img src="/SiteCollectionImages/Slideshow/slideshow_arrow_right.gif" border="0" style="border:1px solid #90a63c;"></a></div></div>';

	totalboxes = x.length;

	timerID  = setTimeout("maintimer()",1000);
	document.getElementById('adbox_holder').innerHTML= mystring;
	//return mystring;
}
