function ImageGallery(elTop)
{
	var replacedSpacer = false;
	if (typeof elTop == 'string')
		elTop = document.getElementById(elTop);

	if (typeof elTop == 'undefined' || elTop == null || typeof elTop.firstChild == 'undefined' || elTop.firstChild == null)
		return;

	for(var elItem = elTop.firstChild; elItem; elItem = elItem.nextSibling)
	{
		if (typeof elItem.tagName == 'undefined'|| elItem.tagName.toLowerCase() != 'img' || !elItem.className.match(/imagegalleryimage/))
			continue;
		if (elItem.addEventListener)
		{
			elItem.addEventListener('mouseover', function(evt) { SwapImage(evt); }, false);
		}
		else
		{
			(function(elItemBind) {
				elItemBind.attachEvent('onmouseover', function() { evt = window.event; evt.target = evt.srcElement; evt.currentTarget = elItemBind; SwapImage(evt); });
			})(elItem);
		}
		if(!replacedSpacer)
		{
			SwapImage(elItem);
			replacedSpacer = true;
		}
	}
}

function SwapImage(el)
{
	var found=false;
	// If the given element does not have a src element this method is probably called from an event rather than a javascript function
	if(!el.src)
		el = el.target;
	for(var elItem = el.parentNode.firstChild; el; elItem = elItem.nextSibling)
	{
		if (typeof elItem == 'undefined' || elItem == null || elItem.nodeType == 3 || elItem.tagName.toLowerCase() != 'img')
			continue;
		if (elItem.className.match(/imagegallery_large/))
		{
			elItem.src = el.src;
			found = true;
			break;
		}
	}
}
