function switchImage( multiLayerID, index, containerID, imageAnchorID, zoomAnchorID )
{
	changeLayer( multiLayerID, index );
	
	var prevContID = eval( multiLayerID + "_prevCont" );
	var activeClass = eval( multiLayerID + "_activeClass" );
	var passiveClass = eval( multiLayerID + "_passiveClass" );
	
	if( prevContID != "" )
	{
		findObj( prevContID ).className = passiveClass;
	}

	findObj( containerID ).className = activeClass;
	
	eval( multiLayerID + "_prevCont = '" + containerID + "';" );
	
	var zoomAnchor = findObj( zoomAnchorID );

	if (zoomAnchor != null )
	{
		if (imageAnchorID != '')
		{
			zoomAnchor.href = findObj( imageAnchorID ).href;
		}
		else
		{
			var ownerObj = findObj(eval( multiLayerID + "_ml" )[index+1]);

			var findLayer = getChildElementsByAttribute(ownerObj, "A", "rel", "LightBox" );
			
			if (findLayer != null)
			{
				zoomAnchor.href = findLayer.href;
				zoomAnchor.title = findLayer.title;
			}
		}
	}
}

function FindAllChilds(ownerObject, childArray, tagName) {
	if (ownerObject.childNodes == null || ownerObject.childNodes == undefined || ownerObject.childNodes.length == 0) return;

	for (i = 0; i < ownerObject.childNodes.length; i++) {
		if (ownerObject.childNodes[i].tagName == tagName) childArray.push(ownerObject.childNodes[i]);
	}

	if ('\v' != 'v') //isn't IE
	{
		for (item in ownerObject.childNodes) {
			FindAllChilds(ownerObject.childNodes[item], childArray, tagName);
		}
	}
	else {
			for (i = 0; i < ownerObject.childNodes.length; i++) {
				FindAllChilds(ownerObject.childNodes[i], childArray, tagName);
			}
	}
}

function getChildElementsByAttribute(ownerObject, tagName, strAttributeName, strAttributeValue) {
	var arrElements = [];

	FindAllChilds(ownerObject, arrElements, tagName);

	var oAttributeValue = (typeof strAttributeValue != "undefined") ? new RegExp("(^|\\s)" + strAttributeValue + "(\\s|$)", "i") : null;
	var oCurrent;
	var oAttribute;
	for (var i = 0; i < arrElements.length; i++) {
		oCurrent = arrElements[i];
		oAttribute = oCurrent.getAttribute && oCurrent.getAttribute(strAttributeName);
		if (typeof oAttribute == "string" && oAttribute.length > 0) {
			if (typeof strAttributeValue == "undefined" || (oAttributeValue && oAttributeValue.test(oAttribute))) {
				return oCurrent;
			}
		}
	}
	return null;
}