<!--

// MyDHTML 1.0 Images library
// Development version 20.08.03
// By ivar@mindworks.ee
// Tested: IE5+, NN7+

// Images handler >>> *****************************************

// Images constructor >>>

function imagesHandler(sRoot, oBrowser)
{

	this.is = oBrowser;
	this.root = sRoot;

	this.add = imagesHandler_addImage;
	this.overwrite = imagesHandler_overwriteImage;
	this.get = imagesHandler_getImage;
	this.getVirtual = imagesHandler_getVirtualImage;

	this.images = new Array(); 	

}

// <<< Images constructor

// External >>>

function imagesHandler_searchImage(sId, oDocument)
{
	for (var iLooper = 0; iLooper < oDocument.images.length; iLooper++)
	{
		if (oDocument.images[iLooper].name == sId) return oDocument.images[iLooper];
	}
	return null;
}

// <<< External

// Public >>>

function imagesHandler_addImage(sName, sSrc)
{
	var iIndex = this.images.length;
	this.images[iIndex] = new Array();
	this.images[iIndex][0] = ID_IMAGE + sName;
	this.images[iIndex][1] = new Image();
	this.images[iIndex][1].src = this.root + sSrc;
}

function imagesHandler_overwriteImage(sName1, sName2)
{
	var oImage = this.get(sName1);
	var aImage = this.getVirtual(sName2);
	if (oImage) 
	{
		oImage.src = aImage[1].src;
	}
	else
	{
		doHalt('Unknown image "' + sName1 + '"');
	}
}

function imagesHandler_getImage(sName)
{
	if (this.is.IE5)
	{
		return eval('document.all.' + ID_IMAGE + sName);
	}
	else if (this.is.MZ5)
	{
		return document.getElementById(ID_IMAGE + sName);
	}
	else if (this.is.MZ4)
	{
		var oImage = imagesHandler_searchImage(ID_IMAGE + sName, document)
		if (!oImage)
		{
			for (var iLooper = 0; iLooper < document.layers.length; iLooper++)
			{
				oImage = imagesHandler_searchImage(ID_IMAGE + sName, document.layers[iLooper].document);
				if (oImage) return oImage;
			}
		}
		return oImage;
	}
	return null;
}

function imagesHandler_getVirtualImage(sName)
{
	for (var iLooper = 0; iLooper < this.images.length; iLooper++)
	{
		if (this.images[iLooper][0] == (ID_IMAGE + sName)) return this.images[iLooper];
	}
	doHalt('Unknown virtual image "' + sName + '"');
	return null;
}

// <<< Public

// <<< Images handler *****************************************

// -->