﻿var preloading = false;
var preloadedImages = new Array();
var preloadedImageContainer;

function body_load()
{
	LoadDefaultHoverCell();
	setTimeout("StartPreloadingImages();", 500);
}

function LoadDefaultHoverCell()
{
	var cell = document.getElementById("defaultHoverCell");
	if (cell)
	{
		cell.onmouseover();
		cell.parentNode.onmouseover();
	}
}

function StartPreloadingImages()
{
	preloading = true;
	preloadedImages = new Array();
	try
	{
		PreloadImages(document.body);
	}
	catch (ex) { } 
	preloading = false;
}

function PreloadImages(container)
{
	var nodes = container.childNodes;
	for (var pos = 0; pos < nodes.length; pos++)
	{
		PreloadImages(nodes[pos]);
		if (nodes[pos].onmouseover)
		{
			nodes[pos].onmouseover();
		}
	}
}

function PreloadImage(image)
{
	var duplicate = false;
	for (var pos = 0; pos < preloadedImages.length; pos++)
	{
		if (preloadedImages[pos] == image)
		{
			duplicate = true;
			break;
		}
	}

	if (duplicate)
	{
		return;
	}
	
	if (!preloadedImageContainer)
	{
		preloadedImageContainer = document.createElement("div");
		preloadedImageContainer.style.visibility = "hidden";
		preloadedImageContainer.style.display = "none";
		document.body.appendChild(preloadedImageContainer);
	}

	var imageHolder = document.createElement("img");
	imageHolder.style.visibility = "hidden";
	imageHolder.style.display = "none";
	imageHolder.src = image;
	imageHolder.alt = "missing preloaded image";
	preloadedImageContainer.appendChild(imageHolder);
	preloadedImages.push(image);
}

function MOText(textContainerId, text)
{
	if (!preloading)
	{
		var textContainer = document.getElementById(textContainerId);
		if (textContainer)
		{
			textContainer.innerHTML = text.toString().replace(/\n/g, '<br />');
		}
	}
}

function MOImage(imgContainerId, imgSrc, width, height)
{
	if (!preloading)
	{
		var imgContainer = document.getElementById(imgContainerId);
		if (imgContainer)
		{
			imgContainer.src = imgSrc;
			if (width)
			{
				imgContainer.width = width;
			}
			if (height)
			{
				imgContainer.height = height;
			}
		}
	}
	else
	{
		PreloadImage(imgSrc);
	}
}

function StopEvent(event)
{
	if (!preloading)
	{
		try { event.cancelBubble = true; } catch (ex) { }
		try { event.stopPropagation(); } catch (ex) { }
	}
}