
function NavImages(instance, src, dir, prefix, dontcache) 
{
	this.instance = instance;
	this.src = src;
	this.images = new Array();
	this.images_rel = new Array();
	this.dontcache = dontcache;

	if (!dir)
		this.dir = "images/";
	else
		this.dir = dir;

	if (!prefix)
		this.prefix = "nav_";
	else
		this.prefix = prefix;

	window.setTimeout(this.instance + ".AttachMouseEvents()",1);

	if (!dontcache) this.CacheImages();
}

NavImages.prototype.CacheImages = function()
{
	for (var i = 0; i < this.src.length; i++)
	{
		window.setTimeout(this.instance + ".CacheImage('" + this.prefix + this.src[i] + "')",1);
	}
}

NavImages.prototype.CacheImage = function(i)
{
	this.images[i] = new Array();
	this.images[i][0] = new Image();
	this.images[i][0].src = this.dir + i + "0.png";
	this.images[i][1] = new Image();
	this.images[i][1].src = this.dir + i + "1.png";
}

NavImages.prototype.SwapImage = function(img, on)
{
	var i = img.id;

	if (!this.images[i]) this.CacheImage(i);
	img.src = this.images[i][on].src;
}

NavImages.prototype.MouseOver = function (e)
{
	e = (e || window.event);
	var src = (e.target || e.srcElement);

	var instance = src.getAttribute("rel") || src.rel || "";
	if (instance) eval(instance).SwapImage(src, 1);
}

NavImages.prototype.MouseOut = function (e)
{
	e = (e || window.event);
	var src = (e.target || e.srcElement);

	var instance = src.getAttribute("rel") || src.rel || "";
	if (instance) eval(instance).SwapImage(src, 0);
}

NavImages.prototype.AttachMouseEvents = function () 
{
	for (var i = 0; i < this.src.length; i++)
	{
		var img = document.getElementById(this.prefix + this.src[i]);

		if (img.attachEvent)
		{
			img.attachEvent("onmouseover", eval(this.instance + ".MouseOver"));
			img.attachEvent("onmouseout",eval(this.instance + ".MouseOut"));
			img.setAttribute("rel", this.instance);
		}
		else if (img.addEventListener)
		{
			img.addEventListener("mouseover", eval(this.instance + ".MouseOver"), false);
			img.addEventListener("mouseout", eval(this.instance + ".MouseOut"), false);
			img.setAttribute("rel", this.instance);
		}
	}
}