// img currently being displayed
var currentID = "";
// array of references to numbered links in navigation
var navLinks;
//var baseURL = "http://192.168.0.207/";
var baseURL = "http://www.amyleinerdesigns.com/";
//var baseURL = "http://clients.thinkcreativegroup.com/amyleinerdesign";
var imgCounter = 0;
var numImgs;
var imgObjs = [];

var navigation;
var galleryImg;
var preloader;

window.onload = initPage;

function initPage() {
	
	navigation = document.getElementById("gallery_nav");
	galleryImg = document.getElementById("gallery_img");
	preloader  = document.getElementById("preloader");
	
	navLinks = navigation.getElementsByTagName("a");
	numImgs  = navLinks.length;
	
	// set handler for each link and preload the corresponding image
	for(var i = 0; i < numImgs; i++) {
		
		var navLink = navLinks[i];
		navLink.onmouseover = navLinkHandler;
		
		var imgURL = getImgURL(navLink.id);
		
		// preload only if js supports image object
		if(document.images) {
			
			var imgObj    = new Image();   
			imgObjs.push(imgObj);
			imgObj.onload = imgLoadHandler;
			imgObj.src    = imgURL;
			
		}
		
	}
	
}

/*
	Event Handlers
*/

function imgLoadHandler() {
	
	imgCounter++;
	
	if(imgCounter >= numImgs) {
		
		finalizeGallery();
		
	}
	
}

function navLinkHandler() {
	
	currentID = this.id;
	
	// replace main gallery image
	var imgURL = getImgURL(currentID);
	galleryImg.src = imgURL;
	
	updateNavStates();
	
	// keeps page from jumping onclick
	return false;
	
}

/*
	Secondary Functions
*/

function finalizeGallery() {
	
	navigation.className = "visible";
	galleryImg.className = "visible";
	preloader.className  = "hidden";
		
	currentID      = navLinks[0].id;
	var imgURL     = baseURL + "images/collections/" + currentID + ".jpg";
	galleryImg.src = imgURL;
		
	updateNavStates();
	
}

function updateNavStates() {
	
	for(var i = 0; i < navLinks.length; i++) {
		
		if(navLinks[i].id == currentID) {
			
			navLinks[i].className = "active";
			
		} else {
			
			navLinks[i].className = "";
			
		}
		
	}
	
}

/*
	Utility functions
*/

function getImgURL(linkID) {
	
	return baseURL + "images/collections/" + linkID + ".jpg";
	
}
