/*
 *
 * Version 0.7:
 *	- added lowsrc attribute on guy images
 *
 * Version 0.6:
 *	- setInterval/clearInterval removed (not supported in javascript1.1)
 *
 * Version 0.5:
 *	- image preload is now done with an interval to avoid users
 *	  waiting at the preload stage
 */


function preloadNears(img, set, idx)
{
	//clearInterval(img.interval);

	//alert("PreloadNears called for img "+img.name+" at idx: "+idx);

	var setlen = set.length;
	var nidx = (idx+1)%set.length;
	var src = collection.baseurl+"/"+set[nidx];
	if ( ! collection.loaded[src] ) {
		collection.loaded[src] = 1;
		var nimg = new Image;
		//var nimg = img.next;
		nimg.src = src;
	}
	var pidx = (idx+setlen-1)%setlen;
	var src = collection.baseurl+"/"+set[pidx];
	if ( ! collection.loaded[src] ) {
		collection.loaded[src] = 1;
		var pimg = new Image;
		//var pimg = img.prev;
		pimg.src = src;
	} 
}

function setitem(img, set, idx)
{
	//img.pbut.src = "../img/blank.jpg";
	//img.nbut.src = "../img/blank.jpg";

	var filename = new String(set[idx]);

	var lowsrcfname = filename.substr(0, filename.lastIndexOf("."))+
		"-small"+filename.substr(filename.lastIndexOf("."));
	var lowsrc = collection.baseurl+"/"+lowsrcfname;
	//img.src = lowsrc;

	var src = collection.baseurl+"/"+filename;
	img.src = src;

	collection.loaded[src] = 1;

	var name = filename.substr(0, filename.lastIndexOf('-'));
	img.alt = name;
	img.curridx = idx;
	//var imgname = img.name;
	//img.parent.input[imgname+'box'] = 'test';

	// preload next and previous images (if not already loaded)
	preloadNears(img, set, idx);

	//img.pbut.src = "../img/left.gif";
	//img.nbut.src = "../img/right.gif";
}

function gotoitem(img, lang)
{
	var imgname = img.name;
	var set = collection[imgname];
	var idx = img.curridx;
	var imgfname = String(set[idx]);
	var itemname = imgfname.substring(0, imgfname.indexOf("-"));
	//alert("Itemname: "+itemname);
	self.location = "itempages/"+itemname+"-"+lang+".html";
}

function tellitem(img)
{
	//alert("My name is '"+img.alt+"'");
	//window.statusbar = img.alt;
}

function nextitem(img)
{
	var set = collection[img.name];
	var newidx = (img.curridx+1)%set.length;
	setitem(img, set, newidx);
}

function previtem(img)
{
	var set = collection[img.name];
	var setlen = set.length;
	var newidx = (img.curridx+setlen-1)%setlen;
	setitem(img, set, newidx);
}

function init(baseurl)
{
	collection.baseurl = baseurl;
	collection.loaded = new Array;
	var db = collection;

	var llen = db.lguy.length;
	var lidx = Math.round(Math.random()*(llen-1));
	document.lguy.next = new Image;
	document.lguy.prev = new Image;
	document.lguy.pbut = document.lguy_prev;
	document.lguy.nbut = document.lguy_next;
	setitem(document.lguy, db.lguy, lidx);

	var rlen = db.rguy.length;
	var ridx = Math.round(Math.random()*(rlen-1));
	document.rguy.next = new Image;
	document.rguy.prev = new Image;
	document.rguy.pbut = document.rguy_prev;
	document.rguy.nbut = document.rguy_next;
	setitem(document.rguy, db.rguy, ridx);

	document.lguy_prev.src = "../img/left.gif";
	document.lguy_next.src = "../img/right.gif";
	document.rguy_prev.src = "../img/left.gif";
	document.rguy_next.src = "../img/right.gif";

}

