//*****CODE CHANGES*****
//**********************
//Date: 8-24-06 
//By: Brooke Jackson
//Changes: 
//• Renamed Variables and changed spacing to improve readability
//• Added MouseOver Stop and Start functionality 
//***********************

if(!window.Msn)
{
	window.Msn={};
}

Msn.Slideshow=new function()
{
var me=this;
var curSlide=null;
var curTimeOut=null;
var rotateDelay=8;
var FadeDelay=1;
var st=0;
var NODE_ELEMENT = 1;
var DefaultDelay = 500;
var IsShowStopped = 0;


if(window.ipFadeSecs)
{
FadeDelay=window.ipFadeSecs;
}

if(window.ipDelaySecs)
{
rotateDelay=window.ipDelaySecs;
}

function GetElement(elementID)
{
return document.getElementById(elementID);
}

function init()
{

var curSlides=GetElement("slides");

if(curSlides)
{
	if(curSlides.style&&curSlides.style.filter=="")
	{
		curSlides.style.filter="progid:DXImageTransform.Microsoft.Fade()";
		}
		curSlide=GetFirstChild(curSlides);
		if(curSlide)
		{
			var SlideCount=1;
			var NextSibling=GetNextSibling(curSlide);
			
			while(NextSibling!=curSlide)
			{
				++SlideCount;
				NextSibling.style.display="none";
				NextSibling=GetNextSibling(NextSibling);
			}
			
			if(window.attachEvent)
			{
				window.attachEvent("onunload",me.ondestroy);
			}
			
						
			if(SlideCount>1)
			{
				curSlides.onmousemove=pause;
				curSlides.onmouseover=MouseOutStop;
				curSlides.onmouseout=MouseOverStart;
				curSlides.onfilterchange=ShowNextSlide;
				HideNavagation();
				ResumeShow();
								
			}
		}
	}
}

function uninit()
{
	if(window.detachEvent)
	{
		window.detachEvent("onunload",me.ondestroy);
	}
	
	var curSlides=GetElement("slides");
	
	if(curSlides)
	{
		curSlides.onfilterchange=null;
		curSlides.onmousemove=null;
	}
	HideNavagation(true);
}

this.ondestroy=function()
{
uninit();
};

function MouseOverStart() //Runs on MouseOver event
{
	IsShowStopped=0;
	ResetTimeout();
	ResumeShow(FadeDelay);		
}

function MouseOutStop() //Runs on MouseOut event
{
	IsShowStopped=1;
}

function PlayPause()
{
	if (IsShowStopped==0)
	{
		MouseOutStop();
		document.getElementById("playbtn").src="/billboard/images/Play.gif";
	}
	else
	{
		MouseOverStart();
		document.getElementById("playbtn").src="/billboard/images/Pause.gif";
	}
}

function HideNavagation(IsHidden)
{
	var curFlipper=GetElement("flipper");
	if(curFlipper)
	{
		var NavTags=curFlipper.getElementsByTagName("a");
		for(var n=0;n<NavTags.length;++n)
		{
			var curNavTag=NavTags[n];
			switch(n)
			{
				case 0: //previous
					curNavTag.onclick=(IsHidden?null:FlipPrevious);
					curNavTag.style.visibility="visible";
					break;
				case 1: //play-pause				
					curNavTag.onclick=(IsHidden?null:PlayPause);
					curNavTag.style.visibility="visible";
					break;
 			  	case 2://next
					curNavTag.onclick=(IsHidden?null:FlipNext);
					curNavTag.style.visibility="visible";
					break;

			}
		}
	}
}

function hide()
{
	st=1;
	var curSlides=GetElement("slides");
	
		
	if(curSlides&&curSlides.filters&&curSlides.filters[0])
	{
		if (!IsShowStopped) //Added if to stop show on mouseover
		{
			ApplySlideFilter(curSlides,0);
		}
	}else{
		HideSlide();
		curTimeOut=window.setTimeout(ShowNextSlide,FadeDelay*DefaultDelay/4);
	}
	
}

function ShowNextSlide()
{
	if(st==1)
	{
		st=2;
		curSlide=GetNextSibling(curSlide);
		var curSlides=GetElement("slides");
		
		if(curSlides&&curSlides.filters&&curSlides.filters[0])
		{
			ApplySlideFilter(curSlides,1);
		}else{
			ShowSlide();
			ResumeShow();
		}
	} else if(st==2)
	{
		ResumeShow();
	}
}
	
function ResumeShow(IsTransitioning)
{
	
	st=0;
	curTimeOut=window.setTimeout(hide,(rotateDelay+(IsTransitioning?IsTransitioning:0))*DefaultDelay);
	
}

function ResetTimeout()
{
	window.clearTimeout(curTimeOut);
	return(curSlide!==null);
}

function ApplySlideFilter(curSlides,IsShown)
{
	curSlides.filters[0].apply();
	(IsShown?ShowSlide():HideSlide());
	curSlides.filters[0].play(duration=FadeDelay);
}

function ShowSlide()
{
	curSlide.style.display="block";
}

function HideSlide()
{
	curSlide.style.display="none";
}

function pause()
{
	window.status = '';
	if(!st)
	{
		if(ResetTimeout())
		{
			ResumeShow();
		}
	}
}

function GetFirstChild(curParent)
{
	var n=curParent.firstChild;
	while(n&&(n.nodeType!=NODE_ELEMENT ||ie(n)))
	{
		n=n.nextSibling;
	}
	return n;
}

function GetLastChild(curParent)
{
	var n=curParent.lastChild;
	while(n&&(n.nodeType!=NODE_ELEMENT ||ie(n)))
	{
		n=n.previousSibling;
	}
	return n;
}

function GetParent(n)
{
	var curParent=n.parentNode;
	while(curParent&&curParent.nodeType!=NODE_ELEMENT )
	{
		curParent=curParent.parentNode;
	}
	return curParent;
}

function GetNextSibling(n)
{
	var curSibling=n.nextSibling;
	
	while(curSibling&&(curSibling.nodeType!=NODE_ELEMENT ||ie(curSibling)))
	{
		curSibling=curSibling.nextSibling;
	}
	
	if(!curSibling)
	{
		curSibling=GetFirstChild(GetParent(n));
	}
	
	return curSibling;
}

function GetPreviousSibling(n)
{

	var curSibling=n.previousSibling;
	
	while(curSibling&&(curSibling.nodeType!=NODE_ELEMENT ||ie(curSibling)))
	{
		curSibling=curSibling.previousSibling;
	}
	
	if(!curSibling)
	{
		curSibling=GetLastChild(GetParent(n));
	}
	
	return curSibling;

}

function ie(n)
{
	for(var i=0;i<n.childNodes.length;++i)
	{
		if(n.childNodes[i].nodeType==NODE_ELEMENT )
		{
			return false;
		}
	}
	return true;
}

function FlipPrevious()
{
  return Flip(1);
}

function FlipNext()
{
return Flip();
}

function Flip(GoPrevious)
{
	if(!st)
	{
		if(ResetTimeout())
		{
			HideSlide();
			curSlide=(GoPrevious?GetPreviousSibling(curSlide):GetNextSibling(curSlide));
			ShowSlide();
			ResumeShow();
		}
	}

	if(window.event)
	{
		window.event.returnValue=false;
	}
	
	return false;
}

init();

};