/*  General  
=====================================================  */
	//  Object detection to determine JavaScript support
		var W3CDOM = document.createElement && document.getElementsByTagName;	


/*  Slideshow  
=====================================================  */
	//  Define global variables
		var currentImage, currentImageCount, next, previous;
		var slideshowImages = new Array();
		var imageIndex = 0;
	
	//  Build the slideshow functionality into the page
		function slideshowBuilder() {
			if ( !W3CDOM ) return;
			
			
			//  Prepare the page  
				var slideshow = document.getElementById( 'slideshow' );
					slideshow.className = 'hide';
					
				document.body.className = 'jsReady';
			
			//-----  Prepare the image array  
				var imageList = slideshow.getElementsByTagName( 'img' );
					for ( var i = 0; i < imageList.length; i++ ) {
						slideshowImages.push( imageList[i].src );
					}
					
					
			//-----  Create slideshow layout elements  
				var slideshowContainer = document.createElement( 'div' );
				document.getElementById( 'container' ).appendChild( slideshowContainer );
					slideshowContainer.id = 'slideshowContainer';
					
				var imageContainer = document.createElement( 'div' );
				slideshowContainer.appendChild( imageContainer );
					imageContainer.id = 'imageContainer';
					
				currentImage = document.createElement( 'img' );
				imageContainer.appendChild( currentImage );
					currentImage.id = 'currentImage';
					currentImage.src = slideshowImages[ imageIndex ];
					
			//-----  Create slideshow control elements 
				var controls = document.createElement( 'div' );
				slideshowContainer.appendChild( controls );
					controls.id = 'controls';
					
				var counter = document.createElement( 'span' );
				controls.appendChild( counter );
					counter.id = 'counter';
					
				var counterInfo = document.createTextNode( ' of ' + slideshowImages.length );
				counter.appendChild( counterInfo );
				
				currentImageCount = document.createElement( 'span' );
				counter.insertBefore( currentImageCount, counterInfo );
					currentImageCount.id = 'currentImageCount';
					currentImageCount.innerHTML = '1';
					
				next = document.createElement( 'span' );
				controls.appendChild( next );
					next.id = 'nextButton';
					next.innerHTML = '>';
					next.onclick = nextSlide;
				
				
				previous = document.createElement( 'span' );
				controls.appendChild( previous );
					previous.id = 'previousButton';
					previous.className = 'hide';
					previous.innerHTML = '<';
					previous.onclick = previousSlide;
		}
	//  END 'slideshowBuilder()'

	//  Move the slideshow forward
		function nextSlide() {
			imageIndex = imageIndex+1;
			
			if ( imageIndex == (slideshowImages.length - 1) ) {
				next.className = 'hide';
			}
			previous.className = '';
			
			currentImage.src = slideshowImages[ imageIndex ];
			currentImageCount.innerHTML = imageIndex + 1;
	
	}
	//  END 'nextSlide()'
	
	//  Move the slideshow backward
		function previousSlide() {
			imageIndex = imageIndex-1;
			
			if ( imageIndex <=0 ) {
				previous.className = 'hide';
			}
		
			next.className = '';
		
			currentImage.src = slideshowImages[ imageIndex ];
			currentImageCount.innerHTML = imageIndex + 1;
		}
		
	//  END 'previousSlide()'
	
	

/*  Initialization  
=====================================================  */
	window.onload = slideshowBuilder;
