var fadebgcolor = "#ffffff";

var fadearray = new Array();
var fadeclear = new Array();
 
var dom = document.getElementById;
var iebrowser = document.all;
 
function fadeshow(theimages, fadewidth, fadeheight, borderwidth, delay, pause, displayorder)
{
	this.pausecheck = pause;
	this.mouseovercheck = 0;
	this.delay = delay;
	this.degree = 10;
	this.curimageindex = 0;
	this.nextimageindex = 1;
	fadearray[fadearray.length] = this;
	this.slideshowid = fadearray.length-1;
	this.canvasbase = "canvas"+this.slideshowid;
	this.curcanvas = this.canvasbase+"_0"
	if(typeof displayorder != "undefined")
	{
		theimages.sort(function() { return 0.5 - Math.random(); })
	}
	this.theimages = theimages;
	this.imageborder = parseInt(borderwidth);
	this.postimages = new Array();
	for(p = 0; p < theimages.length; p++)
	{
		this.postimages[p] = new Image();
		this.postimages[p].src = theimages[p][0];
	}
	
	var fadewidth = fadewidth + this.imageborder*2;
	var fadeheight = fadeheight + this.imageborder*2;
	if(iebrowser && dom || dom)
	{
		document.write('<div id="master'+this.slideshowid+'" style="position:relative;width:'+fadewidth+'px;height:'+fadeheight+'px;overflow:hidden;"><div id="'+this.canvasbase+'_0" style="position:absolute;width:'+fadewidth+'px;height:'+fadeheight+'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:'+fadebgcolor+'"></div><div id="'+this.canvasbase+'_1" style="position:absolute;width:'+fadewidth+'px;height:'+fadeheight+'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:'+fadebgcolor+'"></div></div>');
	} else
	{
		document.write('<div><img name="defaultslide'+this.slideshowid+'" src="'+this.postimages[0].src+'"></div>');
	}
 	if(iebrowser && dom || dom)
	{
		this.startit();
	} else
	{
		this.curimageindex++;
		setInterval("fadearray["+this.slideshowid+"].rotateimage()", this.delay);
	}
}

function fadepic(obj)
{
	if(obj.degree < 100)
	{
		obj.degree += 10;
		if(obj.tempobj.filters && obj.tempobj.filters[0])
		{
			if(typeof obj.tempobj.filters[0].opacity == "number")
				obj.tempobj.filters[0].opacity = obj.degree;
			else
				obj.tempobj.style.filter = "alpha(opacity="+obj.degree+")";
		} else if(obj.tempobj.style.MozOpacity)
		{
			obj.tempobj.style.MozOpacity = obj.degree/101;
		} else if(obj.tempobj.style.KhtmlOpacity)
		{
			obj.tempobj.style.KhtmlOpacity = obj.degree/100;
		} else if(obj.tempobj.style.opacity && !obj.tempobj.filters)
		{
			obj.tempobj.style.opacity = obj.degree/101;
		}
	} else
	{
		clearInterval(fadeclear[obj.slideshowid]);
		obj.nextcanvas = (obj.curcanvas == obj.canvasbase+"_0") ? obj.canvasbase+"_0" : obj.canvasbase+"_1";
		obj.tempobj = iebrowser ? iebrowser[obj.nextcanvas] : document.getElementById(obj.nextcanvas);
		obj.populateslide(obj.tempobj, obj.nextimageindex);
		obj.nextimageindex = (obj.nextimageindex < obj.postimages.length-1) ? obj.nextimageindex+1 : 0;
		setTimeout("fadearray["+obj.slideshowid+"].rotateimage()", obj.delay);
	}
}
 
fadeshow.prototype.populateslide = function(picobj, picindex)
{
	var slideHTML = "";
	if(this.theimages[picindex][1] != "")
	{
		slideHTML = '<a style="text-decoration:none; border:none" href="'+this.theimages[picindex][1]+'" onMouseOver="'+this.theimages[picindex][3]+'" onMouseOut="'+this.theimages[picindex][4]+'" target="'+this.theimages[picindex][2]+'">';
	}
	slideHTML += '<img src="'+this.postimages[picindex].src+'" border="'+this.imageborder+'px">';
	if(this.theimages[picindex][1] != "")
	{
		slideHTML += '</a>';
	}
	picobj.innerHTML = slideHTML;
}
 
 
fadeshow.prototype.rotateimage = function()
{
	if(this.pausecheck == 1)
	{
		var cacheobj = this;
	}
	if(this.mouseovercheck == 1)
	{
		setTimeout(function(){ cacheobj.rotateimage() }, 100);
	} else if(iebrowser && dom || dom)
	{
		this.resetit();
		var crossobj = this.tempobj = iebrowser ? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas);
		crossobj.style.zIndex++;
		fadeclear[this.slideshowid] = setInterval("fadepic(fadearray["+this.slideshowid+"])",50);
		this.curcanvas = (this.curcanvas == this.canvasbase+"_0") ? this.canvasbase+"_1" : this.canvasbase+"_0";
	} else
	{
		var ns4imgobj = document.images['defaultslide'+this.slideshowid];
		ns4imgobj.src = this.postimages[this.curimageindex].src;
	}
	this.curimageindex = (this.curimageindex < this.postimages.length-1) ? this.curimageindex+1 : 0;
}
 
fadeshow.prototype.resetit = function()
{
	this.degree = 10;
	var crossobj = iebrowser ? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas);
	if(crossobj.filters && crossobj.filters[0])
	{
		if(typeof crossobj.filters[0].opacity == "number")
		{
			crossobj.filters(0).opacity = this.degree;
		} else
		{
			crossobj.style.filter = "alpha(opacity="+this.degree+")";
		}
	} else if(crossobj.style.MozOpacity)
	{
		crossobj.style.MozOpacity = this.degree/101;
	} else if(crossobj.style.KhtmlOpacity)
	{
		crossobj.style.KhtmlOpacity = this.degree/100;
	} else if(crossobj.style.opacity && !crossobj.filters)
	{
		crossobj.style.opacity = this.degree/101;
	}
}
 
 
fadeshow.prototype.startit = function()
{
	var crossobj = iebrowser ? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas);
	this.populateslide(crossobj, this.curimageindex);
	if(this.pausecheck == 1)
	{
		var cacheobj = this;
		var crossobjcontainer = iebrowser ? iebrowser["master"+this.slideshowid] : document.getElementById("master"+this.slideshowid);
		crossobjcontainer.onmouseover = function(){ cacheobj.mouseovercheck = 1 }
		crossobjcontainer.onmouseout = function(){ cacheobj.mouseovercheck = 0 }
	}
	this.rotateimage();
}
