// JavaScript Document
// category constructor
function CategoryHelper(name, title, images) {
	this.name = name;
	this.title = title;
	this.images = images;
}

//image constructor
function ImageHelper(category, name, title, description, src) {
	this.category = category;
	this.name = name;
	this.title = title;
	this.description = description;
	this.src = src
}

//code for the gallery
// JavaScript Document
var imageNum = 0;
var images;
var imageHolder;
var categoriesSpan;
var numSpan;
var countSpan;
var textSpan;
var categoryNameSpan;

function init() {
	//alert("init()");

	imageHolder = document.getElementById("imageholder");
	categoriesSpan = document.getElementById("categoriesSpan");
	numSpan = document.getElementById("num");
	countSpan = document.getElementById("count");
	textSpan = document.getElementById("text");
	categoryNameSpan = document.getElementById("categoryName");

	//alert("located all the spans");

	//alert("categories=" + categories);

	//create category links
	var categoriesLinks = "";
	for (var i=0; i<categories.length; i++) {
		categoriesLinks += "<a href=\"javascript:setCategory('" + categories[i].name + "');\">" + categories[i].title + "</a> <br/>";
		
	}
	if (categories.length > 0) {
		var tableHTML = '<table class="categoriesTable" cellpadding="0" cellspacing="0" height="100%" width="150">';
		tableHTML += '<tr><th>Categories</th></tr>';
		tableHTML += '<tr>';
		tableHTML += '<td height="99%">';
		tableHTML += categoriesLinks;
		tableHTML += '</td>';
		tableHTML += '</tr>';
		tableHTML += '</table>';

		categoriesSpan.innerHTML = tableHTML;
	}
	else {
		categoriesSpan.innerHTML = "";
	}

	//alert("category links");

	//alert(categoryCount);

	if (categoryCount == 0) {
		images = arrImages;
	
		//show first Image
		setImage(images[0], 1);
	
		//set the count
		countSpan.innerHTML = images.length;

		//set the category name
		categoryNameSpan.innerHTML = "Photo ";
	}
	else {
		setCategory(categories[0].name);
	}
}

function setCategory(name) {
	//alert("setCategory(" + name + ")");

	//find the category
	var category;
	var found = false;
	var i=0;
	while ((i<categories.length) && (!found)) {
		if (categories[i].name == name) {
			found = true;
			category = categories[i];
		}
		i++;
	}
	if (!found) {
		alert("category not found");
	}
	//alert(category);
	
	images = category.images;
	
	//alert("images=" + images);
	
	//show first Image
	setImage(images[0], 1);
	
	//set the count
	countSpan.innerHTML = images.length;

	//set the category name
	categoryNameSpan.innerHTML = category.title + " Photo ";
}

function setImage(imageItem, num) {
	//alert("setImage(" + imageItem + ", " + num + ")");

	imageHolder.src = imageItem.src;
	imageHolder.alt = imageItem.description;
	imageHolder.title = imageItem.description;

	textSpan.innerHTML = imageItem.title;
	numSpan.innerHTML = num;
	imageNum = num;
}

function previous() {
	if (imageNum > 1) {
		imageNum--;
		setImage(images[imageNum-1], imageNum);
	}
}

function next() {
	if (imageNum < images.length) {
		imageNum++;
		setImage(images[imageNum-1], imageNum);
	}
}

//alert("loaded");

window.onload = init;