var nextSideTimerId
var fadeTimerId

var slideId=0
var slidePause = 3000
var fadeOpacity = 0
var fadeStep = 25
var fadeSpeed = 40

var doSlideClickthrough = true
var sourcePageId
var slideCount = 1
var newImage
var testImageLoadTimer
var lastSlide
var slidshowControls = false

function loadSlideshow(newPageId){
	sourcePageId = newPageId
	fetchNextSlide()
}

function fetchNextSlide(){
	var url=siteHost+'Modules/FetchNextSlide.php?host='+siteHost+'&pageid='+sourcePageId+'&slidecount='+slideCount+'&nochache='+nowTime()
	//alert(url)
	xmlHttpFetchSlide=GetXmlHttpObject()
	xmlHttpFetchSlide.open("GET",url,true)
	xmlHttpFetchSlide.onreadystatechange = function() {
		if (xmlHttpFetchSlide.readyState==4 || xmlHttpFetchSlide.readyState=="complete"){
			imageData = xmlHttpFetchSlide.responseText.split('|')
			newImage = new Image()
			newImage.src = imageData[0]
			//if(document.getElementById('Debug'))document.getElementById('Debug').innerHTML=document.getElementById('Debug').innerHTML+'<br />'+imageData[0]
			lastSlide = imageData[1]
			testImageLoadTimer = setTimeout("testImageLoadState()",30)
		}
	}
	xmlHttpFetchSlide.send(null);
}

function testImageLoadState(){
	if (!newImage.complete){
		testImageLoadTimer = setTimeout("testImageLoadState()",30)
	}else{
		document.getElementById('SlideImage'+slideCount).src=newImage.src
		if(lastSlide=='No'){
			slideCount++
			fetchNextSlide()
			//if(document.getElementById('Debug'))document.getElementById('Debug').innerHTML='Loading Image '+slideCount
		}else{
			showNextSlide()
			//if(document.getElementById('Debug'))document.getElementById('Debug').innerHTML='Started '
		}
	}
}




function showNextSlide(){
	slideId++
	if(slideId<(slideCount+1)){
		fadeTimerId = setInterval('fadeUp()',fadeSpeed)
	}else{
		clearInterval(nextSideTimerId)
		resetSlides()
	}
}

function fadeUp(){
	slidshowControls = true
	fadeOpacity = fadeOpacity + fadeStep
	if(fadeOpacity>100){
		clearInterval(fadeTimerId)
		fadeOpacity = 0
		nextSideTimerId = setTimeout('showNextSlide()',slidePause)
	}else{
		object=document.getElementById('Slide'+slideId).style
		object.opacity = fadeOpacity/100
		object.MozOpacity = fadeOpacity/100
		object.KhtmlOpacity = fadeOpacity/100
		object.filter = "alpha(opacity=" + fadeOpacity + ")"
	}
}

function fadeDown(){
	fadeOpacity = fadeOpacity - fadeStep
	if(fadeOpacity>-1){
		object=document.getElementById('Slide'+slideId).style
		object.opacity = fadeOpacity/100
		object.MozOpacity = fadeOpacity/100
		object.KhtmlOpacity = fadeOpacity/100
		object.filter = "alpha(opacity=" + fadeOpacity + ")"

	}else{
		clearInterval(fadeTimerId)
		slideId=1
		nextSideTimerId = setTimeout('showNextSlide()',slidePause)
	}
}

function resetSlides(){
	for(x=2;x<(slideCount);x++){
		object=document.getElementById('Slide'+x).style
		object.opacity = 0
		object.MozOpacity = 0
		object.KhtmlOpacity = 0
		object.filter = "alpha(opacity=0)"
	}
	slideId = slideCount
	fadeOpacity = 100
	fadeTimerId = setInterval('fadeDown()',fadeSpeed)
}

function showSlideshowControls(){
	if(slidshowControls){
		document.getElementById('SlideshowControlsBG').style.display='block'
		document.getElementById('SlideshowControls').style.display='block'
		clearTimeout(nextSideTimerId)
	}
}

function hideSlideshowControls(){
	if(slidshowControls){
		clearTimeout(nextSideTimerId)
		document.getElementById('SlideshowControlsBG').style.display='none'
		document.getElementById('SlideshowControls').style.display='none'
		nextSideTimerId = setTimeout('showNextSlide()',slidePause)
	}
}

function selectSlide(selectedSlideId){
	for(x=2;x<(slideCount+1);x++){
		thisOpacity = 0
		if(x==selectedSlideId) thisOpacity = 100
		object=document.getElementById('Slide'+x).style
		object.opacity = thisOpacity
		object.MozOpacity = thisOpacity
		object.KhtmlOpacity = thisOpacity
		object.filter = "alpha(opacity=" +thisOpacity+ ")"
	}
	slideId = selectedSlideId
}
function registerControls(){
	doSlideClickthrough = false
}

function unregisterControls(){
	doSlideClickthrough = true
}
function doSlideLink(){
	if(doSlideClickthrough){
		if(document.getElementById('SlideLink'+slideId).value!=''){
			hideSlideshowControls()
			window.location=document.getElementById('SlideLink'+slideId).value
		}
	}
}
