var photoDir = "photos/"; // Location of photos for gallery
var borderSize = 0;	 // = 2x CSS border size

// get current photo id from URL
var thisURL = document.location.href;
var splitURL = thisURL.split("?");
var photoId = splitURL[1] - 1;

// if no id in query string then set to 0
photoId = (!photoId)? 0:photoId;
	
// Define each photo's name, height, width, and caption
var photoArray = new Array(
	// Source, Width, Height, Caption
	new Array("djs_01.jpg", "265", "150", ""),
	new Array("djs_02.jpg", "265", "150", "")
	);

// Number of photos in this gallery
var photoNum = photoArray.length;

// Create access to 'Detect' object and a place to put instances of 'HTMLobj'
API = new Detect();

// CREATE INSTANCES & LOAD
loadAPI = function(){
	// Instantiate HTMLobj
	API.Container		= new HTMLobj('Container');
	API.Photo			= new HTMLobj('Photo');
	API.PhotoContainer	= new HTMLobj('PhotoContainer');
	API.LinkContainer	= new HTMLobj('LinkContainer');
	API.LoadContainer   = new HTMLobj('LoadContainer');
	API.PrevLink		= new HTMLobj('PrevLink');
	API.NextLink		= new HTMLobj('NextLink');
	API.CaptionBlock	= new HTMLobj('CaptionBlock');
	API.Counter			= new HTMLobj('Counter');
	API.Caption			= new HTMLobj('Caption');
	API.LoadImg			= new HTMLobj('LoadImg');
	
	// Show initial photo
	cyclePhoto(photoId);
	
}
onload = loadAPI;

// Fade in photo when it is loaded from the server
initFade = function(){
	// Show PhotoContainer again
	API.PhotoContainer.show();
	
	// Be certain the tween is complete before fading, too
	var fade_timer = setInterval('startFade()', 1000);
					
	// Fade photo in when ready and clear listener
	startFade = function(){
		if(API.Container._tweenRunning == false){
			clearInterval(fade_timer);
			
			// Be certain fade is done running before allowing next/previous links to work
			// This avoids rapid fade-in when users click next/previous links in quick succession
			var adv_timer = setInterval('permitNextPrev()', 500);
			
			// Permit next/previous links to function normally when fade is completed
			permitNextPrev = function(){
				if(API.Photo._fadeRunning == false){
					clearInterval(adv_timer);
					
					// Only show links if there is more than one photo in array
					if(photoNum > 1){
						API.LinkContainer.displayShow();
						document.getElementById('NextLink').onclick = nextPhoto;
						document.getElementById('PrevLink').onclick = prevPhoto;
					}
				} else {
					return;
				}
			}
			// Swap out loading animation to spare CPU cycles when hidden anyway
			API.LoadImg.setSrc("img/c.gif");
			
			// Show caption again
			// API.CaptionBlock.show();
			
			// Fade photo in
			API.Photo.fadeIn(0,15,33);
		} else {
			return;
		}
	}
}

// Prevent next/previous
falsify = function(){
	return false;
}

// Go to next photo
nextPhoto = function(){
	// Go to next photo
	if(photoId == (photoArray.length - 1)){
		photoId = 0;
	} else {
		photoId++;
	}
	cyclePhoto(photoId);
}

// Go to previous photo
prevPhoto = function(){
	// If at start, go back to end
	if(photoId == 0){
		photoId = photoArray.length - 1;
	} else {
		photoId--;
	}
	cyclePhoto(photoId);
}

// Alter class of elements
changeElementClass = function(objId,setClass) {
	document.getElementById(objId).className = setClass;
}

// Function to load subsequent photos in gallery
cyclePhoto = function(photoId){
			
	// Swap in loading animation
	// API.LoadImg.setSrc("img/loading_ani2.gif");
	API.LoadImg.setSrc("img/c.gif");
	// API.LoadImg.setSrc("photos/2.jpg");
	if (photoId > '0') {
		// alert (photoDir+photoArray[(photoId-1)][0]);
		API.PhotoContainer.setStyle("background", "url("+photoDir+photoArray[(photoId-1)][0]+")");
    } else {
		// alert (photoDir+photoArray[(photoNum-1)][0]);
		API.PhotoContainer.setStyle("background", "url("+photoDir+photoArray[(photoNum-1)][0]+")");
    }
    
	// API.PhotoContainer.setStyle("background", "url("++")");
	
	// Hide link container if it is not already hidden
	API.LinkContainer.displayHide();
	
	// Hide photo container and caption temporarily
	API.Photo.hide();
	API.Photo.setOpacity(50);
	API.CaptionBlock.hide();
	
	// Get dimensions of photo
	var wNew = photoArray[photoId][1];
	var hNew = photoArray[photoId][2];
	
	// Start tween on a delay
	var wCur = API.Container.getWidth() - borderSize;
	var hCur = API.Container.getHeight() - borderSize;
	
	// Begin tweening on a short timer
	setTimeout('API.Container.tweenTo(easeInQuad, ['+wCur+', '+hCur+'], ['+wNew+','+hNew+'], 7)',500);
	setTimeout('API.LinkContainer.sizeTo('+wNew+','+hNew+')',500);
	setTimeout('API.PrevLink.sizeTo('+wNew/2+','+hNew+')',500);
	setTimeout('API.NextLink.sizeTo('+wNew/2+','+hNew+')',500);
	setTimeout('API.CaptionBlock.sizeTo('+wNew+',18)',500);
	
	// Get new photo source
	var newPhoto = photoDir + photoArray[photoId][0];
	
	// Set source, width, and height of new photo
	API.Photo.setSrc(newPhoto);		
	API.Photo.sizeTo(wNew,hNew);
	
	// Set links to new targets based on photoId
	API.NextLink.setHref("/v2.0/slide-b.php?" + (photoId+1));
	API.PrevLink.setHref("/v2.0/slide-b.php?" + (photoId+1));
	API.Counter.setInnerHtml((photoId+1)+" of "+photoNum);
	(photoArray[photoId][3] !== "") ? API.Caption.setInnerHtml(" | "+photoArray[photoId][3]) : API.Caption.setInnerHtml("");
	
	// Event listeners for onload and onclick events
	document.getElementById('Photo').onload = initFade;
	
	// Block next/previous links until permitNextPrev() has fired
	document.getElementById('NextLink').onclick = falsify;
	document.getElementById('PrevLink').onclick = falsify;
	
	// Messin
	// alert ("#"+(photoId));

	if (photoArray[(photoId+1)]) {
		photoId = (photoId+1);
	} else {
		photoId = '0';
	}

	setTimeout ('cyclePhoto('+photoId+')', 7000);

}




	// Wait before loading next image
	// var nextload_timer = setInterval('nextLoad()', 7000);

	// Load next image
	// nextLoad = function (){
	// 	clearInterval(nextload_timer);
	// 	alert ("load: #"+(photoId+2);
	// }

	// setTimeout('window.location="http://secure.visitnorfolkne.com/slide.html"+(photoId+2))', 7000);
	// if (photoArray[(photoId+1)]) {
	//   	setTimeout('window.location="./slide-b.php?"+(photoId+2)', 9000);
	// } else {
	// 	setTimeout('window.location="./slide-b.php?1"', 9000);
 	// }
	// setTimeout('window.location="./slide.php?"+(photoId+2)', 7000);

