var largepic_timer = 0;

function openLarge(pic_id,desc,w,h) {

	if (largepic_timer) {
		clearTimeout(largepic_timer);
		largepic_timer = 0;
	}

	div_el = document.getElementById("largepic-div");
	img_el = document.getElementById("largepic-img");
	txt_el = document.getElementById("largepic-txt");

	div_s_el = document.getElementById("largepic-div-shade");
	img_s_el = document.getElementById("largepic-img-shade");
	txt_s_el = document.getElementById("largepic-txt-shade");

	tmb_el = document.getElementById("thumb" + pic_id);
	tmbpos = getElementPosition(tmb_el);

	// original
	img_el.src = "img/spacer.gif";
	img_el.style.width  = w + "px";
	img_el.style.height = h + "px";
	img_el.src = "pictures/" + pic_id + "_large.jpg";

	div_el.style.left = tmbpos.x + 140 + "px";
	div_el.style.top = tmbpos.y + 0 + "px";
	div_el.style.width  = w + "px";

	// shade
	img_s_el.style.width  = w + "px";
	img_s_el.style.height = h + "px";

	div_s_el.style.left = tmbpos.x + 145 + "px";
	div_s_el.style.top = tmbpos.y + 5 + "px";
	div_s_el.style.width  = w + "px";

	// text
	txt_el.innerHTML = desc;
	txt_s_el.innerHTML = desc;


	// show
	div_el.style.visibility = "visible";
	div_s_el.style.visibility = "visible";
}

function closeLarge() {
	largepic_timer = window.setTimeout("closeLargeNow();",150);
}

function closeLargeNow() {
	div_el = document.getElementById("largepic-div");
	img_el = document.getElementById("largepic-img");
	txt_el = document.getElementById("largepic-txt");

	div_s_el = document.getElementById("largepic-div-shade");
	txt_el = document.getElementById("largepic-txt-shade");

	// hide
	div_s_el.style.visibility = "hidden";
	div_el.style.visibility = "hidden";

	// clear
	img_el.src = "img/spacer.gif";
	txt_el.innerHTML = "";
	txt_s_el.innerHTML = "";
}

function getElementPosition(el) {
	var pos = new Object();

	pos.x = 0;
	pos.y = 0;

	if (el.offsetParent) {
		while (el) {
			if (el.tagName != "HTML") {
				pos.x += el.offsetLeft;
				pos.y += el.offsetTop;
			}
//			alert(el.tagName + ": " + el.offsetLeft + "/" + el.offsetTop);
			el = el.offsetParent;

		}
	}
	else if (el.x || el.y) {
		pos.x = el.x;
		pos.y = el.y;
	}

	return pos;
}
