////////////////////////////////////////////////////////////////////
// ImgListView
//

var x = 0;
var y = 0;
var page_is_loaded = false;
page_is_loaded = true;

var imgListView = "imgListView";
var imgExt = ".gif";
var imgPath = "img";

if(document.captureEvents && Event.MOUSEOUTs)
{
	//remove this part if you do not need Netscape 4 to work
	document.captureEvents( Event.MOUSEOUT );
}

var iex		= (document.all);

currentFeature = -1;
currentPane = "";	
currentCont = imgListView;

function setFeature(id, suffix)
{
	if(!page_is_loaded)
		return;
	if(currentCont == imgListView)
		currentCont += suffix;
	if(document.getElementById(currentCont) == null)
		return;
	document.getElementById(currentCont).style.display = 'none';

	var temp = document.getElementById(id);
	if(temp != null) 
	{
		temp.style.display = '';
	}
	else 
	{
		var img = document.createElement('img');
		img.onload = function (evt) 
		{
			document.getElementById(suffix).appendChild(img);
		}
		img.src = imgPath + id + imgExt;
		img.id = id;
		img.width=document.getElementById(imgListView + suffix).width;
		img.height=document.getElementById(imgListView + suffix).height;
	}

	currentPane = suffix;
	currentFeature = id;
	currentCont = id;
}

function resetFeatures()
{
	if(!page_is_loaded)
		return;
	if(currentFeature!=-1)
	{
		if(document.getElementById(currentCont) == null)
			return;
		document.getElementById(currentCont).style.display = 'none';
		document.getElementById(imgListView + currentPane).style.display = 'block';
	}
	currentPane = "";
	currentFeature = -1;
	currentCont = imgListView;
}

function mousemove(e)
{
	if(!iex)
	{
		x=e.pageX;
		y=e.pageY;
	}
	else 
	{
		x=event.x;
		y=event.y + document.body.scrollTop;
	}

	if(currentFeature!=-1 && page_is_loaded)
	{
		xx = yy = 0;
		ttag = document.getElementById("IMGLISTVIEWTABLE" + currentPane);
		while(ttag.tagName != "BODY")
		{ 
			yy+=ttag.offsetTop;
			xx+=ttag.offsetLeft;
			ttag=ttag.offsetParent; 
		} 
		if( !(	y > yy && y < yy + document.getElementById("IMGLISTVIEWTABLE" + currentPane).offsetHeight &&
				x > xx && x < xx + document.getElementById("IMGLISTVIEWTABLE" + currentPane).offsetWidth ) )
		{
			resetFeatures();
		}
	}
}

function onloadpage(startImgNumber, numOfImgs, suffix)
{
	document.getElementById(imgListView + suffix).style.display = 'block';
	page_is_loaded =  true;
	for (i = startImgNumber; i <= numOfImgs; i++)
	{
		var img = document.createElement('img');
		var suf = '';
		if(i.toString().length == 1)
			suf = '0';
		img.id = suf + i.toString();
		img.style.display = 'none';
		img.src = imgPath + suf + i.toString() + imgExt;
		var baseimg = document.getElementById(imgListView + suffix);
		img.width=baseimg.width;
		img.height=baseimg.height;
		document.getElementById(suffix).appendChild(img);
	}
}

////////////////////////////////////////////////////////////////////
// Tools
function AttachEvent(obj, evt, fnc, useCapture)
{
	if(!useCapture)
		useCapture = false;
	if(obj.addEventListener)
	{
		obj.addEventListener(evt, fnc, useCapture);
		return true;
	}
	else if(obj.attachEvent)
		return obj.attachEvent("on" + evt, fnc);
	else
	{
		ExtAttachEvent(obj, evt, fnc);
		obj['on'+evt] = function(){ExtFireEvent(obj, evt)};
	}
} 

//The following are for browsers like NS4 or IE5Mac which don't support either
//attachEvent or addEventListener
function ExtAttachEvent(obj,evt,fnc)
{
	if(!obj.myEvents)
		obj.myEvents = {};
	if(!obj.myEvents[evt])
		obj.myEvents[evt] = [];
	var evts = obj.myEvents[evt];
	evts[evts.length] = fnc;
}

function ExtFireEvent(obj,evt)
{
	if(!obj || !obj.myEvents || !obj.myEvents[evt])
		return;
	var evts = obj.myEvents[evt];
	for(var i = 0, len = evts.length; i < len; i++)
		evts[i]();
}

////////////////////////////////////////////////////////////////////

AttachEvent(document, 'mousemove', mousemove);

