var item_image_current = -1;
var item_images_total = -1;

function setupItemImages() {
	var item_images = document.getElementById("item-images");
	var images_array = item_images.getElementsByTagName("img");
	
	item_images_total = images_array.length;
	
	var item_details = document.getElementById("item-details");
	if (item_images_total < 2) {
		item_details.className = "display-none";
	}
	
	var item_details_list = document.getElementById("item-details-list");
	var details_array = item_details_list.getElementsByTagName("a");
	
	for (var i = 0; i < details_array.length; i++) {
		var detail_a = details_array[i];
		detail_a.onclick = function() {
			showItemImage(this.href.substr(this.href.lastIndexOf("-") + 1, this.href.length));
			return false;
		}
		detail_a.getElementsByTagName("img")[0].src = "/images/commons/detail-off.png";
	}
	
	showItemImage(0);
	
	var detail_info = document.createElement("div");
	detail_info.id = "detail-info";
	
	var detail_prev = document.createElement("a");
	detail_prev.appendChild(document.createTextNode("<"));
	detail_prev.href = "";
	detail_prev.onclick = function() {
		changeItemImage(-1);
		return false;
	}
	
	var detail_next = document.createElement("a");
	detail_next.appendChild(document.createTextNode(">"));
	detail_next.href = "";
	detail_next.onclick = function() {
		changeItemImage(1);
		return false;
	}
	
	var detail_count = document.createElement("span");
	detail_count.id = "detail-count";
	detail_count.innerHTML = "1 / " + item_images_total;
	
	detail_info.appendChild(detail_prev);
	detail_info.appendChild(detail_count);
	detail_info.appendChild(detail_next);
	
	item_details.appendChild(detail_info);
}

function showItemImage(id) {
	id = parseInt(id);
	if (id != item_image_current) {
		var item_image = document.getElementById("item-image-" + id);
		item_image.className = "item-image-visible";
		
		var item_image = document.getElementById("item-image-" + item_image_current);
		if (item_image != null) {
			item_image.className = "";
		}
		
		selectItemDetail(id);
	}
}

function selectItemDetail(id) {
	var item_detail = document.getElementById("item-detail-" + id);
	if (item_detail != null) {
		item_detail.getElementsByTagName("img")[0].src = "/images/commons/detail.png";
	}
	
	var item_detail = document.getElementById("item-detail-" + item_image_current);
	if (item_detail != null) {
		item_detail.getElementsByTagName("img")[0].src = "/images/commons/detail-off.png";
	}
		
	item_image_current = id;
	updateDetailCount();
}

function updateDetailCount() {
	var detail_count = document.getElementById("detail-count");
	if (detail_count != null) {
		detail_count.innerHTML = (item_image_current + 1) + " / " + item_images_total;
	}
}

function changeItemImage(dir) {
	var new_image = item_image_current + dir;
	if (new_image >= 0 && new_image < item_images_total) {
		showItemImage(new_image);
	}
}


/*
==================================== THUMBNAILS
*/

var tn_page_height = 294;
var tn_per_page = 18;
var total_tn_pages = 0;

function setupThumbnails() {
	var tn_list = document.getElementById("tn-list");
	
	var tn_buttons = document.createElement("div");
	tn_buttons.id = "tn-buttons";
	
	var tn_prev_page = document.createElement("a");
	var tn_prev_page_img = document.createElement("img");
	tn_prev_page_img.src = "/images/commons/tn_prev_page.png";
	tn_prev_page_img.alt = "Prev Page";
	tn_prev_page.appendChild(tn_prev_page_img);
	tn_prev_page.title = "Prev Page";
	tn_prev_page.href = "";
	tn_prev_page.onclick = function() {
		moveThumbnails(-1);
		return false;
	}
	tn_buttons.appendChild(tn_prev_page);
	
	var tn_prev_item = document.createElement("a");
	var tn_prev_item_img = document.createElement("img");
	tn_prev_item_img.src = "/images/commons/tn_prev_item.png";
	tn_prev_item_img.alt = "Prev Item";
	tn_prev_item.appendChild(tn_prev_item_img);
	tn_prev_item.title = "Prev Item";
	tn_prev_item.href = "";
	tn_prev_item.onclick = function() {
		loadItem(-1);
		return false;
	}
	tn_buttons.appendChild(tn_prev_item);
	
	var tn_next_item = document.createElement("a");
	var tn_next_item_img = document.createElement("img");
	tn_next_item_img.src = "/images/commons/tn_next_item.png";
	tn_next_item_img.alt = "Next Item";
	tn_next_item.appendChild(tn_next_item_img);
	tn_next_item.title = "Next Item";
	tn_next_item.href = "";
	tn_next_item.onclick = function() {
		loadItem(1);
		return false;
	}
	tn_buttons.appendChild(tn_next_item);
	
	var tn_next_page = document.createElement("a");
	var tn_next_page_img = document.createElement("img");
	tn_next_page_img.src = "/images/commons/tn_next_page.png";
	tn_next_page_img.alt = "Next Page";
	tn_next_page.appendChild(tn_next_page_img);
	tn_next_page.title = "Next Page";
	tn_next_page.href = "";
	tn_next_page.onclick = function() {
		moveThumbnails(1);
		return false;
	}
	tn_buttons.appendChild(tn_next_page);
	
	tn_list.appendChild(tn_buttons);
	
	var tn_list_ul = document.getElementById("tn-ul");
	
	var a_array = tn_list_ul.getElementsByTagName("a");
	total_tn_pages = Math.floor(a_array.length / tn_per_page);
	var tn_num = current_tn;
	var tn_pages = Math.floor(tn_num / tn_per_page);
	var tn_ul = document.getElementById("tn-ul");
	tn_ul.style.top = -(tn_page_height * tn_pages) + "px";
	
	if (total_tn_pages < 1) {
		tn_prev_page.style.visibility = "hidden";
		tn_next_page.style.visibility = "hidden";
	}
	
	if (a_array.length == 1) {
		tn_prev_item.style.visibility = "hidden";
		tn_next_item.style.visibility = "hidden";
	}
	
	/*
	if (current_tn == 0) {
		tn_prev_item.style.visibility = "hidden";
	}
	
	if (current_tn == a_array.length - 1) {
		tn_next_item.style.visibility = "hidden";
	}
	*/
}

function moveThumbnails(dir) {
	var tn_ul = document.getElementById("tn-ul");
	var tn_top = tn_ul.style.top;
	if (tn_top != "") {
		tn_top = parseInt(tn_top);
	} else {
		tn_top = 0;
	}
	var newY = tn_top - (dir * tn_page_height);
	if (newY <= 0 && newY >= -(total_tn_pages * tn_page_height)) {
		tn_ul.style.top = (tn_top - (dir * tn_page_height)) + "px";
	}
}

function loadItem(dir) {
	var load_tn = current_tn + dir;
	var load_a = document.getElementById("tn-" + load_tn);
	if (load_a != null) {
		window.location = load_a.href;
	}
}



addLoadEvent(setupItemImages);
addLoadEvent(setupThumbnails);