var timeoutID = -1;
var sLastImage;
var sCurrentImage;
var sLastLayer = "";

function hideLastSecNav() {
	var oImage = findObject(sLastImage);
	set_visibility(oImage.secondaryNavDiv, 0);
	rollback(sLastImage);
	sLastImage = null;
}

function popupLayer(sParentName, sDiv, offsetX, offsetY) {

	if (sLastLayer) {
		if (sLastLayer != sDiv) {
			set_visibility(sLastLayer, 0);	
		}
	}
	var oParent = findObject(sParentName);

	if ((sDiv != null) && (sDiv != "")) {
		setPosition(oParent, sDiv, offsetX, offsetY);
		set_visibility(sDiv, 1);
		sLastLayer = sDiv;
	}


}

function setPosition(oParent, sChild, offsetX, offsetY) {
	var oChild = findObject(sChild);
	var oParentStyle = new xbStyle(oParent);
	var oChildStyle = new xbStyle(oChild);
		
	var x = oParentStyle.getPageX();
	var y = oParentStyle.getPageY();
	oChildStyle.moveToAbsolute(x+offsetX, y+offsetY); 
}

// Secondary Navigation Support:


function showSecNav(sImageName, sDiv) {

	if (sLastImage) {
		hideLastSecNav();
	}

	// Clear the last setTimeout
	if (timeoutID > -1) {
		clearTimeout(timeoutID);
		timeoutID = -1;
	}
	var oImage = findObject(sImageName);
	oImage.secondaryNavDiv = sDiv;
	rollover(sImageName);
	set_visibility(sDiv, 1);
	sCurrentImage = sImageName;

}

function hideSecNav() {
	sLastImage = sCurrentImage;
	timeoutID = setTimeout("hideLastSecNav()",500);
}

function secNavRollover(sImage) {
	clearTheTimeout();
	rollover(sImage);
}

function secNavRollback(sSecImage, sPriImage) {
	hideSecNav(sPriImage);
	rollback(sSecImage);
}

function clearTheTimeout() {
	if (timeoutID > -1) {
		clearTimeout(timeoutID);
		timeoutID = -1;
	}
}

function set_visibility(sDiv, on) {

	if (sDiv) {
		var aDivs = xbGetElementsByName(sDiv);
		var oDiv = aDivs[0];
		if (!oDiv.oxbsytle) {
			oDiv.oxbstyle = new xbStyle(oDiv);
		}
		
		if (on) {
			oDiv.oxbstyle.setVisibility('visible');
		} else {
			oDiv.oxbstyle.setVisibility('hidden');
		}
	}
}


function changeImage(sImageName, imageSrc) {
	var oImage = findObject(sImageName);
	oImage.src = "images/"+imageSrc;
}


function rollover(sImageName) {
	var oImage = findObject(sImageName);
	var sSrc = oImage.src;
	oImage.oldSrc = sSrc;
	var sRolloverMarker = "_ro.";
	if (sSrc.indexOf(sRolloverMarker) >= 0) {
		var nPos = sSrc.indexOf(sRolloverMarker);		
		oImage.src = sSrc.substring(0, nPos)+"."+sSrc.substring(nPos+sRolloverMarker.length,sSrc.length);	
	} else {
		var nPos = sSrc.lastIndexOf(".");
		oImage.src = sSrc.substring(0, nPos)+"_ro."+sSrc.substring(nPos+1,sSrc.length);
	}
}

function rollback(sImageName) {
	var oImage = findObject(sImageName);
	oImage.src = oImage.oldSrc;
}

function findObject(sName) {
	var aImages = xbGetElementsByName(sName);
	if (aImages.length == 0) {
		alert("The object named \""+sName+"\" doesn't exist in the document");
		return null;
	} else {
		return aImages[0];
	}
}


