/* File: /gallery/ezgall.js */

function show(ix) {
	if (!EzGallItems[ix-1].image)
		_initItem(ix);

	var elem = getElement('img-img');
	elem.src = EzGallItems[ix-1].image.src;
	elem.alt = EzGallItems[ix-1].prodNo;

	elem = getElement('img-anchor');
	elem.href = EzGallItems[ix-1].imgHref;

	setElementContent('img-rno', EzGallItems[ix-1].prodNoLink);
	setElementContent('des-name', EzGallItems[ix-1].desNameLink);
	_updateArrows(ix);

	_initNeighbors(ix);
}

function _initItem(ix) {
	var href;

	EzGallItems[ix-1].image = new Image();
	EzGallItems[ix-1].image.src =
		'data/' + EzGallId + '/' + EzGallItems[ix-1].imgId + '.jpg';

	href = '/collections/showimage.php?id=' + EzGallItems[ix-1].imgId;
	EzGallItems[ix-1].imgHref = href;
	EzGallItems[ix-1].prodNoLink = EzGallItems[ix-1].prodNo.link(href);

	href = '/photographers/detail.php?id=' + EzGallItems[ix-1].desId;
	EzGallItems[ix-1].desNameLink = EzGallItems[ix-1].desName.link(href);
}

function _updateArrows(ix) {
	var elem, html, imgTag;
	var genImgTag = '<img width="10" height="9" border="0"';

	// next
	if (ix >= EzGallItems.length) {
		html = genImgTag + ' src="images/spacer.gif" alt="">';
	} else {
		imgTag = genImgTag + ' src="images/arrow_r.gif" alt="next">';
		href = 'JavaScript:show(' + (ix+1) + ')';
		html = imgTag.link(href);
	}
	elem = getElement('arrow-next');
	elem.innerHTML = html;

	// previous
	if (ix <= 1) {
		html = genImgTag + ' src="images/spacer.gif" alt="">';
	} else {
		imgTag = genImgTag + ' src="images/arrow_l.gif" alt="previous">';
		href = 'JavaScript:show(' + (ix-1) + ')';
		html = imgTag.link(href);
	}
	elem = getElement('arrow-prev');
	elem.innerHTML = html;
}

//
// Make sure 2 images are preloaded on both "sides" of item 'currIx'
//

function _initNeighbors(currIx) {
	var ix;

	// following
	var maxIx = Math.min((currIx+2), EzGallItems.length);
	for (ix=(currIx+1); ix<=maxIx; ix++) {
		if (!EzGallItems[ix-1].image)
			_initItem(ix);
	}

	// preceding
	var minIx = Math.max((currIx-2), 1);
	for (ix=(currIx-1); ix>=minIx; ix--) {
		if (!EzGallItems[ix-1].image)
			_initItem(ix);
	}
}

/* --- pre-load a couple images --- */

var tmpimgs = new Array();
tmpimgs[0] = new Image();
tmpimgs[0].src = "images/arrow_l.gif";
tmpimgs[1] = new Image();
tmpimgs[1].src = "images/arrow_r.gif";
tmpimgs[2] = new Image();
tmpimgs[2].src = "images/spacer.gif";
