//places functionality for a slideShow inside single namespace
//static class used, for scope considerations utilizing 'setInterval'

slideShow = new Object()
slideShow.div = null
slideShow.images = null
slideShow.interval = null
slideShow.index = null
slideShow.intervalID = null
slideShow.state = 0 //0 = paused, 1 = running

slideShow.initialize = function(div, divCaption, images, captions, interval){
    this.div = div
    this.divCaption = divCaption
    this.images = images
    this.captions = captions
    
    this.interval = interval
    
    this.index = 0
    
    slideShow.showImage()
    slideShow.start(false)
}
slideShow.pause = function(){
    slideShow.state = 0
	if(slideShow.intervalID){
		clearInterval(slideShow.intervalID)
		slideShow.intervalID = null
	}
}
slideShow.start = function(start){
    if (slideShow.state == 0){
        slideShow.state = 1
	    if(start){
		    slideShow.change()
	    }
	    //pre-load image before actually setting image
	    var img = document.createElement('img')
	    img.onload = function(){
	    	slideShow.intervalID = setInterval("slideShow.change()", slideShow.interval)     
	    }
	    img.src = slideShow.images[slideShow.index]
    }
}
slideShow.change = function(){
	slideShow.index += 1
	if(slideShow.index >= slideShow.images.length){
		slideShow.index = 0
	}
	slideShow.showImage()
}
slideShow.showImage = function(){
    slideShow.div.innerHTML = '<img src="' + slideShow.images[slideShow.index] + '" style="BORDER: 0px" />'
    slideShow.divCaption.innerHTML = slideShow.captions[slideShow.index]
}