<!-- main variables -->

var pictures = new Array();
var userAgent = window.navigator.userAgent;
var bVers = parseInt(userAgent.charAt(userAgent.indexOf("/")+1),10);
var preLoadIsComplete = false;
var oldImg = "";
var oldCnt;

<!-- preload -->
function preLoad()
	{
	var preLoadedImgs = "";
	if (document.all)
		for (i=0; i<document.all.tags("div").length; i++)
			{
			for (j=0; j<document.all.tags("div")[i].document.images.length; j++)
				{
				if (document.all.tags("div")[i].document.images[j].name)
					{
					if ( preLoadedImgs.indexOf(document.all.tags("div")[i].document.images[j].name) < 0)
						{
						var imgSrc = document.all.tags("div")[i].document.images[j].src;
						var tmpPrefix = imgSrc.substr(0,imgSrc.length-4);
						var tmpSuffix = imgSrc.substr(imgSrc.length-4,imgSrc.length-1);
						var tmpActiveSrc = tmpPrefix + "-a" + tmpSuffix;
						var IEFix = new activeImageConstructor(document.all.tags("div")[i].document.images[j].name,document.all.tags("div")[i].document.images[j].src,tmpActiveSrc);
						var tmpData = new Array(IEFix);
						pictures = pictures.concat(tmpData);
						preLoadedImgs = preLoadedImgs.concat(document.all.tags("div")[i].document.images[j].name);
						}
					}
				}
			}
	else
		for (i=0; i<document.layers.length; i++)
			{
			for (j=0; j<document.layers[i].document.images.length; j++)
				{
				if (document.layers[i].document.images[j].name)
					{
					var imgSrc = document.layers[i].document.images[j].src;
					var tmpPrefix = imgSrc.substr(0,imgSrc.length-4);
					var tmpSuffix = imgSrc.substr(imgSrc.length-4,imgSrc.length-1);
					var tmpActiveSrc = tmpPrefix + "-a" + tmpSuffix;
					var IEFix = new activeImageConstructor(document.layers[i].document.images[j].name,document.layers[i].document.images[j].src,tmpActiveSrc);
					var tmpData = new Array(IEFix);
					pictures = pictures.concat(tmpData);
					}
				}
			}
	for (i=0; i<document.images.length; i++)
		{
		if (document.images[i].name)
			{
			if ( preLoadedImgs.indexOf(document.images[i].name) == -1)
				{
				var imgSrc = document.images[i].src;
				var tmpPrefix = imgSrc.substr(0,imgSrc.length-4);
				var tmpSuffix = imgSrc.substr(imgSrc.length-4,imgSrc.length-1);
				var tmpActiveSrc = tmpPrefix + "-a" + tmpSuffix;
				var IEFix = new activeImageConstructor(document.images[i].name,document.images[i].src,tmpActiveSrc);
				var tmpData = new Array(IEFix);
				pictures = pictures.concat(tmpData);
				}
			}
		}
	preLoadIsComplete = true;
	}


<!-- Mozilla layer access -->
function NSStyle(s)
	{
	return findElement(s,0);
	}

<!-- Highlighting -->
function activeImageConstructor(aName,aLowlightSrc,aHighlightSrc)
	{
	this.name  = aName;
	this.lowLight  = new Image();
	this.lowLight.src  = aLowlightSrc;
	this.highLight  = new Image();
	this.highLight.src  = aHighlightSrc;
	}

<!-- mouseOver main document -->
function mouseOver(aPic)
	{
	if (preLoadIsComplete)
		{
		for (i=0; i<pictures.length; i++)
			{
			if (pictures[i].name == aPic)
				{
					if (oldImg.length > 0)
						eval("document.images." + oldImg + ".src = pictures[" + oldCnt + "].lowLight.src");
				eval("document.images." + aPic + ".src = pictures[" + i + "].highLight.src");
				oldImg = aPic;
				oldCnt = i;
				}
			}
		}
	else
		preLoad();
	}

<!-- mouseOut main document -->
function mouseOut(aPic)
	{
	oldImg = "";
	if (preLoadIsComplete)
		{
		for (i=0; i<pictures.length; i++)
			{
			if (pictures[i].name == aPic)
				eval("document.images." + aPic + ".src = pictures[" + i + "].lowLight.src");
			}
		}
	else
		preLoad();
	}

<!-- mouseOver function layers -->
function layerMouseOver(aPic,aLayer)
	{
	if (preLoadIsComplete)
		{
		for (i=0; i<pictures.length; i++)
			{
			if (pictures[i].name == aPic)
				if (document.layers)
					{
					if (oldImg.length > 0)
						{
						eval("NSStyle('"+aLayer+"').document.images['"+oldImg+"'].src = pictures["+oldCnt+"].lowLight.src");
				}
					eval("NSStyle('"+aLayer+"').document.images['"+aPic+"'].src = pictures["+i+"].highLight.src");
					}
				else
					eval("document.all.tags('div')."+aLayer+".document.images['"+aPic+"'].src = pictures["+i+"].highLight.src");
			}
		}
	else
		preLoad();
	}

<!-- mouseOut function layers -->
function layerMouseOut(aPic,aLayer)
	{
	oldImg = "";
	if (preLoadIsComplete)
		{
		for (i=0; i<pictures.length; i++)
			{
			if (pictures[i].name == aPic)
				if (document.layers)
					eval("NSStyle('"+aLayer+"').document.images['"+aPic+"'].src = pictures["+i+"].lowLight.src");
				else
					eval("document.all.tags('div')."+aLayer+".document.images['"+aPic+"'].src = pictures["+i+"].lowLight.src");
			}
		}
	else
		preLoad();
	}

<!-- MSIE layer access -->
function IEStyle(s)
	{
	return document.all.tags("div")[s].style;
	}

<!-- visibility switch layers -->
function vSwitch(aLayer,aBool)
	{
	if (preLoadIsComplete)
		{
		if (document.all)
			IEStyle(aLayer).visibility = (aBool == 0) ? "hidden" : "visible";
		else
			NSStyle(aLayer).visibility = (aBool == 0) ? 'hide' : 'show';
		}
	else
		preLoad();
	}

<!-- Mozilla layer functionality -->
function findElement(n,ly)
	{
	var curDoc = ly ? ly.document : document;
	var elem = curDoc[n];
	if (bVers < 4)
		return document[n];
	if (!elem)
		{
		for (var i=0;i<curDoc.layers.length;i++)
			{
			elem = findElement(n,curDoc.layers[i]);
			if (elem)
				return elem;
			}
		}
	return elem;
	}