var goSlideTimer = null;
var goAjax = null;
var giInterval = 1;
var giThisPageId = 1;

function SlideInit(aoEvent, aiInt, aiPageId)
{
	giInterval = aiInt;
	giThisPageId = aiPageId;
	goSlideTimer = window.setInterval(SlideLoadNext, giInterval * 1000);

	var slideImgObj = document.getElementById('imgSlide');
	document.getElementById('page_type').style.top = (slideImgObj.width>slideImgObj.height)?'70px':'-70px';	
}

function SlideLoadNext()
{
	SlideLoad(true);
}

function SlideLoad(abDir)
{
	if( goAjax == null || goAjax.readyState == 4 )
		try
		{
			goAjax = EW_createXMLHttp();
			if( goAjax != null )
			{
				var loInfo = document.getElementById("divSlideInfo");
				if( loInfo != null )
				{
					var lsUrl = EW_GetPath(window.location.pathname) +
						"slideView.asp?d=" + ( abDir ? "a" : "i" ) +
						"&i=" + loInfo.innerHTML + "&p=" + giThisPageId;
					goAjax.open("GET", lsUrl);
					goAjax.onreadystatechange = SlideLoadHandle;
					goAjax.send(null);
				}
			}
		}
		catch(e) { }
}
function setOpacity(el, fOp)
{
	if (typeof el.style!="undefined")
	{
		if ( typeof el.style.opacity!="undefined" )
			el.style.opacity = fOp;
		else if ( typeof el.style.MozOpacity!="undefined" )
			el.style.MozOpacity = fOp-0.001;
		else if ( typeof el.style.filter!="undefined"  )
			el.style.filter = "Alpha(Opacity="+(fOp*100)+")";
		else if ( typeof el.style.KhtmlOpacity != "undefined" )
			el.style.KhtmlOpacity = fOp;
	}
}
function SlideLoadImg( new_src )
{
	var preloadImg = new Image( );
	preloadImg.onload = SlideFade;
	preloadImg.src = new_src;
}
function SlideFade( )
{
	var op = 1;
	var stepOp = 0.1;
	var refresh = 50;
	var loCtrl = document.getElementById("imgSlide");
	var newImg = this;
	
	var timerFadeIn = setInterval( function(){
		if( ( op -= stepOp ) > 0 )
			setOpacity(loCtrl, op);
	}, refresh);
	
	setTimeout( function(){
		clearInterval(timerFadeIn);
		timerFadeIn=null;
		loCtrl.src = newImg.src;
		document.getElementById('page_type').style.top = (newImg.width>newImg.height)?'70px':'-70px';
		var timerFadeOut = setInterval( function(){
			if( ( op += stepOp ) < 1 )
				setOpacity(loCtrl, op);
			else
			{
				setOpacity(loCtrl, 1);
				clearInterval(timerFadeOut);
				loCtrl = timerFadeIn = timerFadeOut = newImg = null;
			}
		}, refresh*1.2);
	}, refresh / stepOp );
}
function SlideLoadHandle()
{
	if( goAjax != null && goAjax.readyState == 4 )
	{
		if( goAjax.status != 200 )
		{
			var lsMsg = goAjax.status + ": " + goAjax.statusText;
			SlideSetMode(false);
			alert(lsMsg);
		}
		else if( goAjax.responseText != null )
			try
			{
				var laValues = eval( goAjax.responseText );
				if( laValues.length > 4 )
				{
					var loCtrl;
					if( ( loCtrl = document.getElementById("imgSlide") ) != null )
					{
						////loCtrl.alt = loCtrl.title = laValues[0];
						//loCtrl.src = "/uploads/image/slide/" + laValues[1];
						SlideLoadImg( "/uploads/image/slide/" + laValues[1] );
					}
					if( ( loCtrl = document.getElementById("divSlideDesc") ) != null )
						loCtrl.innerHTML = laValues[2] == null ? "" : laValues[2];
					if( ( loCtrl = document.getElementById("divSlideCont") ) != null )
						loCtrl.innerHTML = laValues[3] == null ? "" : laValues[3];
					if( ( loCtrl = document.getElementById("divSlideInfo") ) != null )
						loCtrl.innerHTML = laValues[4];
				}
			}
			catch(e) { }
	}
}

function SlidePrev(aoEvent)
{
	SlideSetMode(false);
	SlideLoad(false);
}

function SlideMode(aoEvent)
{
	SlideSetMode(goSlideTimer == null);
}

function SlideNext(aoEvent)
{
	SlideSetMode(false);
	SlideLoad(true);
}

function SlideSetMode(abPlay)
{
	var loCtrl;
	if( abPlay )
	{
		if( goSlideTimer == null )
			goSlideTimer = window.setInterval(SlideLoadNext, giInterval * 1000);
		if( ( loCtrl = document.getElementById("imgSlide") ) != null )
		{
			loCtrl.alt = loCtrl.title = SlideSetImgTitle(loCtrl.title, "Click per pausa");
			//loCtrl.src = "images/slide play.gif";
		}
	}
	else
	{
		if( goSlideTimer != null )
		{
			window.clearInterval(goSlideTimer);
			goSlideTimer = null;
		}
		if( ( loCtrl = document.getElementById("imgSlide") ) != null )
		{
			loCtrl.alt = loCtrl.title = SlideSetImgTitle(loCtrl.title, "Click per play");
			//loCtrl.src = "images/slide pause.gif";
		}
	}
}

function SlideSetImgTitle(asOrig, asPostfix)
{
	var liIdx = asOrig.lastIndexOf(";");
	if( liIdx < 0 )
		return asOrig + "; " + asPostfix;
	else
		return asOrig.substring(0, liIdx) + "; " + asPostfix;
}

