 
/***********************************************
* Ultimate Fade-In Slideshow (v1.51): © Dynamic Drive (http://www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/
 
var aSlideShows  = new Array() //array to cache slideShow instances
var aSlideClear = new Array() //array to cache corresponding clearinterval pointers
 
var bDomDoc = (document.getElementById)
var oIEDoc = document.all
 
function slideShow(aSlides, nSlideWidth, nSlideHeight, nBorderWidth, nDelay, bPause, randomize)
{
	this.checkMouseOver = bPause
	this.isMouseOver = 0
	this.delay = nDelay
	this.opacity = 10 //initial opacity opacity (10%)
	this.thisImageIndex = 0
	this.nextImageIndex = 1
	aSlideShows [aSlideShows .length] = this
	this.slideShowID = aSlideShows.length - 1
	this.canvasBase = "canvas" + this.slideShowID
	this.canvasThis = this.canvasBase + '_0'
	if (typeof randomize!='undefined') aSlides.sort(function() { return 0.5 - Math.random();})
	this.slides = aSlides
	this.borderWidth = parseInt(nBorderWidth, 10)
	this.images = new Array() //preload slides
	for (nSlide=0; nSlide<aSlides.length; nSlide++)
	{
		this.images[nSlide] = new Image()
		this.images[nSlide].src = aSlides[nSlide][0]
	}
	var nWidth = nSlideWidth + this.borderWidth*2
	var nHeight = nSlideHeight + this.borderWidth*2
	if (oIEDoc && bDomDoc || bDomDoc)
	{
		document.write('<div id="master' + this.slideShowID + '" style="position:relative;width:'+ nWidth + 'px;height:' + nHeight + 'px;overflow:hidden;"><div id = "'+this.canvasBase+'_0" style = "position:absolute;width:' + nWidth + 'px;height:'+ nHeight +'px;top:0;left:0;filter:progid:DXImageTransform.Microsoft.alpha(opacity=10);opacity:0.1;-moz-opacity:0.1;-khtml-opacity:0.1;background-color:' + slideBackgroundColor + '"></div><div id = "'+this.canvasBase+'_1" style = "position:absolute;width:'+nWidth+'px;height:' + nHeight + 'px;top:0;left:0;filter:progid:DXImageTransform.Microsoft.alpha(opacity=10);opacity:0.1;-moz-opacity:0.1;-khtml-opacity:0.1;background-color:' + slideBackgroundColor + '"></div></div>')
		this.start()
	}
	else
	{
		document.write('<div><img name="defaultslide' + this.slideShowID + '" src="' + this.images[0].src + '"></div>')
		this.thisImageIndex++
		setInterval("aSlideShows[" + this.slideShowID + "].rotateSlide()", this.delay)
	}
}

function fadeSlide(oSlideShow)
{
	if (oSlideShow.opacity<100)
	{
		oSlideShow.opacity+= 5
		if (oSlideShow.canvasTemp.filters && oSlideShow.canvasTemp.filters[0])
		{
			if (typeof oSlideShow.canvasTemp.filters[0].opacity=="number") oSlideShow.canvasTemp.filters[0].opacity = oSlideShow.opacity
			else oSlideShow.canvasTemp.style.filter = "alpha(opacity=" + oSlideShow.opacity + ")"
		}
		else if (oSlideShow.canvasTemp.style.MozOpacity) oSlideShow.canvasTemp.style.MozOpacity = oSlideShow.opacity/101
		else if (oSlideShow.canvasTemp.style.KhtmlOpacity) oSlideShow.canvasTemp.style.KhtmlOpacity = oSlideShow.opacity/100
		else if (oSlideShow.canvasTemp.style.opacity&&!oSlideShow.canvasTemp.filters) oSlideShow.canvasTemp.style.opacity = oSlideShow.opacity/101
	}
	else
	{
		clearInterval (aSlideClear[oSlideShow.slideShowID])
		oSlideShow.nextcanvas = (oSlideShow.canvasThis == oSlideShow.canvasBase+"_0")? oSlideShow.canvasBase+"_0" : oSlideShow.canvasBase+"_1"
		oSlideShow.canvasTemp = oIEDoc? oIEDoc[oSlideShow.nextcanvas] : document.getElementById(oSlideShow.nextcanvas)
		oSlideShow.populateSlide(oSlideShow.canvasTemp, oSlideShow.nextImageIndex)
		oSlideShow.nextImageIndex = (oSlideShow.nextImageIndex<oSlideShow.images.length-1)? oSlideShow.nextImageIndex+1 : 0
		setTimeout("aSlideShows[" + oSlideShow.slideShowID + "].rotateSlide()", oSlideShow.delay)
	}
}
 
slideShow.prototype.populateSlide = function(oCanvas, nSlide)
{
var slideHTML = ""
	if (this.slides[nSlide][1]!="") slideHTML = '<a href="' + this.slides[nSlide][1] + '" target="' + this.slides[nSlide][2] + '">'
	slideHTML+= '<img src="' + this.images[nSlide].src + '" border="'+this.borderWidth+'px">'
	if (this.slides[nSlide][1]= "") slideHTML+= '</a>'
	oCanvas.innerHTML = slideHTML
}
 
 
slideShow.prototype.rotateSlide = function()
{
	if (this.checkMouseOver==1) var oSlideShow = this
	if (this.isMouseOver==1) setTimeout(function(){oSlideShow.rotateSlide()}, 100)
	else if (oIEDoc && bDomDoc||bDomDoc)
	{
		this.reset()
		var oCanvas = this.canvasTemp = oIEDoc? oIEDoc[this.canvasThis] : document.getElementById(this.canvasThis)
		oCanvas.style.zIndex++
		aSlideClear[this.slideShowID] = setInterval("fadeSlide(aSlideShows ["+this.slideShowID+"])",50)
		this.canvasThis = (this.canvasThis==this.canvasBase + "_0") ? this.canvasBase + "_1" : this.canvasBase + "_0"
	}
	else
	{
	var oSlide = document.slides['defaultslide' + this.slideShowID]
		oSlide.src = this.images[this.thisImageIndex].src
	}
	this.thisImageIndex = (this.thisImageIndex<this.images.length-1) ? this.thisImageIndex+1 : 0
}
 
slideShow.prototype.reset = function()
{
var oCanvas = oIEDoc ? oIEDoc[this.canvasThis] : document.getElementById(this.canvasThis)
	this.opacity = 10
	if (oCanvas.filters && oCanvas.filters[0])
	{
		if (typeof oCanvas.filters[0].opacity=="number") oCanvas.filters(0).opacity = this.opacity
		else oCanvas.style.filter = "alpha(opacity=" + this.opacity + ")"
	}
	else if (oCanvas.style.MozOpacity) oCanvas.style.MozOpacity = this.opacity/101
	else if (oCanvas.style.KhtmlOpacity) oCanvas.style.KhtmlOpacity = this.opacity/100
	else if (crossobj.style.opacity&&!crossobj.filters) oCanvas.style.opacity = this.opacity/101
}
 
 
slideShow.prototype.start = function()
{
var oCanvas = oIEDoc ? oIEDoc[this.canvasThis] : document.getElementById(this.canvasThis)
	this.populateSlide (oCanvas, this.thisImageIndex)
	if (this.checkMouseOver == 1)
	{
	var oSlideShow = this
	var oContainer = oIEDoc ? oIEDoc["master" + this.slideShowID] : document.getElementById("master" + this.slideShowID)
		oContainer.onmouseover = function(){oSlideShow.isMouseOver = 1}
		oContainer.onmouseout = function(){oSlideShow.isMouseOver = 0}
	}
	this.rotateSlide()
}

