
var Fading = new Array();
var FadeOK = new Array();
var FadeSeq = new Array();

function setOpacity(id, opacity)
{
	obj = document.getElementById(id);
	opacity = opacity / 100;
	obj.style.opacity = opacity; 
	obj.style.filter = "alpha(opacity=" + (opacity * 100) + ")"; 

	if (opacity == 1) opacity = 0.99;
	obj.MozOpacity = opacity; 
}

function opacityFade(i)
{
	if (!Fading[i])
	{
		Fading[i] = setInterval("opacityFade(" + i + ")", 30);
	}

	var fadeTo = document.getElementById("box" + i + "FrameA");
	var fadeFrom = document.getElementById("box" + i + "FrameB");
	var oTo = parseFloat(fadeTo.style.opacity) * 100;
	var oFrom = parseFloat(fadeFrom.style.opacity) * 100;

	if (oFrom > 0)
	{
		oFrom -= 5.0;
		if (oFrom < 0) oFrom = 0;
		setOpacity(fadeFrom.id, oFrom);
		setOpacity(fadeTo.id, (100 - oFrom));
	}
	else
	{
		// Guarantee end state
		clearInterval(Fading[i]);
		Fading[i] = null;
		setOpacity(fadeFrom.id, 0);
		setOpacity(fadeTo.id, 100);
	}
}

function startFadeBA(i, seq)
{
	// Stop if the user changed their mind during the delay
	if (!FadeOK[i]) return;

	// If this is not the latest call, don't start a fade early
	if (seq < FadeSeq[i]) return;

	// Make sure multiple intervals don't occur.
	if (Fading[i])
	{
		clearInterval(Fading[i]);
		Fading[i] = null;
	}
	opacityFade(i);
}

function fadeBA(i)
{
	if (!FadeSeq[i]) FadeSeq[i] = 0;

	FadeOK[i] = true;
	FadeSeq[i] = FadeSeq[i] + 1;
	setTimeout("startFadeBA(" + i + ", " + FadeSeq[i] + ")", 750);
}

function fadeAB(i)
{
	FadeOK[i] = false;
	if (Fading[i])
	{
		clearInterval(Fading[i]);
		Fading[i] = null;
	}
	setOpacity("box" + i + "FrameB", 100);
	setOpacity("box" + i + "FrameA", 0);
}

function catFeat_mouseover(box, listing)
{
	var pics = listing.getElementsByTagName("IMG");
	var spans = listing.getElementsByTagName("SPAN");
	var line1, line2;

	for (var i=0; i<spans.length; i++)
	{
		if (spans[i].className == "feat1")
		{
			line1 = spans[i].innerHTML;
		}

		if (spans[i].className == "feat2")
		{
			line2 = spans[i].innerHTML;
			line2 = line2.replace(/\<br\>/i, " - ");
		}
	}

	var newHTML = '<span class="suppHead"><br>PREVIEW</span>';
	newHTML += '<img src="' + pics[0].src + '" class="previewImg">';
	newHTML += '<span class="suppAttn">' + line1 + '</span>';
	newHTML += '<span class="suppTitle">' + line2 + '</span>';

	document.getElementById("box" + box + "FrameB").innerHTML = newHTML;
	fadeAB(box);
}

function catFeat_mouseout(box, listing)
{
	fadeBA(box);
}

function preloadImg(src)
{
	var IMG = new Image();
	IMG.src = src;
}

function swapImg(name, src)
{
     document.images[name].src = src;
}
