function addEvent(oTarget, sEventName, fAttachFunc) 
{ if (window.attachEvent) oTarget.attachEvent("on" + sEventName, fAttachFunc); else oTarget.addEventListener(sEventName, fAttachFunc, false); }


var g_aSlideList = new Array();
var g_oSlideShowHead = null;
var g_oSlideShowWipe = null;

var g_iWipeInitOffset = 0;
var g_iWipeCurrOffset = 0;

var g_iCurrSlide = 1;
var g_iLastSlide = 0;
var g_iTimerDelay = 25;

var g_iState = 0;
var g_iStateCounter = 0;

function initSlideShow()
{
	aDivs = window.document.getElementsByTagName("div");

	for (iLoop1 = 0; iLoop1 < aDivs.length; iLoop1++)
	{
		if (aDivs[iLoop1].className.match(/^tpcSlide$/)) { g_aSlideList[g_aSlideList.length] = aDivs[iLoop1]; }
		else if (aDivs[iLoop1].className.match(/^tpcSlideWipe$/)) { g_oSlideShowWipe = aDivs[iLoop1]; }
		else if (aDivs[iLoop1].className.match(/^tpcSlideShow$/)) { g_oSlideShowHead = aDivs[iLoop1]; }
	}

	g_oSlideShowWipe.style.display = "block";
	g_iWipeCurrOffset = g_iWipeInitOffset = g_oSlideShowWipe.offsetTop;
	g_oSlideShowWipe.style.display = "none";

	g_iCurrSlide = 0;
	g_iLastSlide = g_aSlideList.length - 1;
	g_aSlideList[g_iCurrSlide].style.zIndex = 4;
	g_aSlideList[g_iLastSlide].style.zIndex = 3;

	//wait until all init done
	window.setInterval(new Function("timerEvent();"), g_iTimerDelay);
}


function timerEvent()
{
	//g_iState
	// 0: slide hidden image
	// 1: slide shown
	// 2: slide moved
	// 3: slide done, hide slide, reset return to 0;

	if (g_iState == 0)
	{
		g_iStateCounter++;
		if (1 == g_iStateCounter)
		{
			g_aSlideList[g_iLastSlide].style.zIndex = 2;
			g_iLastSlide = g_iCurrSlide;
			g_iCurrSlide++;
			if (g_iCurrSlide >= g_aSlideList.length)
				g_iCurrSlide = 0;
		}
		else if (g_iStateCounter > 100)
		{
			g_iState = 1;
			g_iStateCounter = 0;
		}
	}
	else if (g_iState == 1)
	{

		g_iStateCounter++;
		if (g_iStateCounter > 5)
		{
			g_iState = 2;
			g_iStateCounter = 0;

//s = '';
//o = g_aSlideList[g_iCurrSlide].style;
//for(i in o)
//	s += i + ' -- ';
//window.alert(s);
//window.alert(g_aSlideList[g_iCurrSlide].style.height);

			g_aSlideList[g_iCurrSlide].style.height = '1px';

//window.alert(g_aSlideList[g_iCurrSlide].style.height);

			g_aSlideList[g_iLastSlide].style.zIndex = 3;
			g_aSlideList[g_iCurrSlide].style.zIndex = 4;

			g_iWipeCurrOffset = g_iWipeInitOffset - 2;

			g_oSlideShowWipe.style.top = g_iWipeCurrOffset;
		}
	}
	else if (g_iState == 2)
	{
		g_iStateCounter++;
		if (g_iStateCounter <= g_oSlideShowHead.clientHeight)
		{
			g_iWipeCurrOffset += 1;
			if (g_iStateCounter >= 9)
				g_oSlideShowWipe.style.display = "block";

			if (g_iStateCounter < g_oSlideShowHead.clientHeight - 1)
				g_oSlideShowWipe.style.top = '' + g_iWipeCurrOffset + 'px';

			g_aSlideList[g_iCurrSlide].style.height = '' + g_iStateCounter + 'px';
		}
		else
		{
			g_iState = 3;
			g_iStateCounter = 0;
		}
	}
	else if (g_iState == 3)
	{
		g_iStateCounter++;
		if (g_iStateCounter > 5)
		{
			g_iState = 0;
			g_iStateCounter = 0;
			g_oSlideShowWipe.style.top = g_iWipeCurrOffset = g_iWipeInitOffset - 2;
			g_oSlideShowWipe.style.display = "none";
		}
	}

}

function nextSlide()
{
	if (g_oSlideShowWipe.style.display == "none")
	{
		g_aSlideList[g_iLastSlide].style.zIndex = 3;
		g_aSlideList[g_iCurrSlide].style.zIndex = 4;
	}
	else
	{
		g_aSlideList[g_iCurrSlide].style.height = g_oSlideShowHead.clientHeight;
		g_oSlideShowWipe.style.display = "none";
		g_oSlideShowWipe.style.top = g_iWipeCurrOffset = g_iWipeInitOffset;
	}

	g_iState = 0;
	g_iStateCounter = 0;
}

function prevSlide()
{
	if (g_oSlideShowWipe.style.display == "none")
	{
		g_aSlideList[g_iLastSlide].style.zIndex = 2;

		g_iCurrSlide = g_iLastSlide;
		g_iLastSlide--;
		if (g_iLastSlide < 0)
			g_iLastSlide = g_aSlideList.length - 1;

		g_aSlideList[g_iLastSlide].style.zIndex = 4;
		g_aSlideList[g_iCurrSlide].style.zIndex = 3;
	}
	else
	{
		g_aSlideList[g_iLastSlide].style.zIndex = 4;
		g_aSlideList[g_iCurrSlide].style.zIndex = 3;

		g_aSlideList[g_iCurrSlide].style.height = g_oSlideShowHead.clientHeight;
		g_oSlideShowWipe.style.display = "none";
		g_oSlideShowWipe.style.top = g_iWipeCurrOffset = g_iWipeInitOffset;
	}

	g_iState = 0;
	g_iStateCounter = 1;
}

function gotoSlide(i)
{
	if ((i < 0) || (i >= g_aSlideList.lengh))
		i = 0;

	if (g_oSlideShowWipe.style.display != "none")
	{
		g_aSlideList[g_iCurrSlide].style.height = g_oSlideShowHead.clientHeight;
		g_oSlideShowWipe.style.display = "none";
		g_oSlideShowWipe.style.top = g_iWipeCurrOffset = g_iWipeInitOffset;
	}

	g_aSlideList[g_iCurrSlide].style.zIndex = 2;
	g_aSlideList[g_iLastSlide].style.zIndex = 2;
	g_aSlideList[i].style.zIndex = 4;

	g_iLastSlide = i;
	g_iCurrSlide = i + 1;
	if (g_iCurrSlide >= g_aSlideList.length)
		g_iCurrSlide = 0;

	g_aSlideList[g_iCurrSlide].style.zIndex = 2;

	g_iState = 0;
	g_iStateCounter = 1;


}


addEvent(window, "load", new Function("initSlideShow();"));

