
var loaded = false;		//prevents "#product" being added to URL on first load

function getEl(id) {
	return document.getElementById(id);
}

function loadMainImg(path) {
	var el = getEl("main_img");
	el.style.visibility = "hidden";
	var i = new Image();
	i.src = IMAGE_DIR + path;
	if (el.src == i.src) show(el);	//Old safari doesn't trigger onload if src doesn't change		
	el.src = i.src;
}

function showMainImg(num, ext, details) {

	for (var d = 1; d <= MAX_DETAIL; d++) {
		getEl("detail_img" + d).style.visibility = "hidden";
		getEl("detail_img_link_" + d).href = "";
	}

	loadMainImg(num + "/0." + ext);
	getEl("main_img_link").href = "?product=" + num

	for (var d = 1; d <= details; d++) {
		if (d > MAX_DETAIL) break;
		i = new Image();
		i.src = IMAGE_DIR + num + THUMB_DIR + d + ".jpg";
		el = getEl("detail_img" + d);
		if (el.src == i.src) show(el);	//Old safari doesn't trigger onload if src doesn't change		
		el.src = i.src;
		el.onclick = new Function("return showDetailImg('" + num + "', " + d + ");");
		getEl("detail_img_link_" + d).href = "?product=" + num + "&detail=" + d;
	}

	if (loaded) location.hash = num;
	return false;
}

function showDetailImg(num, detail) {
	loadMainImg(num + "/" + detail + ".jpg");
	getEl("main_img_link").href = "?product=" + num + "&detail=" + detail
	return false;
}

function show(el) {
	el.style.visibility = "visible";
}

function initialise() {

	var f = new Function("show(this);");
	getEl("main_img").onload = f;
	for (var d = 1; d <= MAX_DETAIL; d++) {
		getEl("detail_img" + d).onload = f;
	}


	if (!location.search || location.hash) {
		//don't jump to product if ?product=xx was specified, unless hash was also set
		var init = location.hash;
		if (init) {
			init = init.substr(1);	//strip off the leading "#"
		} else {
			init = FIRST_IMG;
		}
	
		//simulate clicking on a thumbnail, sets onClick events for detail thumbs etc
		el = getEl("thumb_link_" + init);
		if (el) {
			el.onclick();
		} else {
			location.hash = "";		//invalid product ID, clear hash
			getEl("thumb_link_" + FIRST_IMG).onclick();
		}
	}
	
	loaded = true;
}
