
// --------------------------------------------------------
// (C) Copyright 2006 LFN :: globaldefiance@hotmail.com
// --------------------------------------------------------

// ########################################################
// ########################################################
// initiation
	navJS_hideMenuTimer = null;
	navJS_aryOriginalImgSrc = new Array();
	navJS_aryMenuLayers = new Array();
	navJS_isIE = (navigator.userAgent.toLowerCase().indexOf("msie") != -1)
// --------------------------------------------------------
// CONFIGURATION OPTIONS
// --------------------------------------------------------
// delay before menus hide (1000 = 1 second)
	menuDelay = 300;
// --------------------------------------------------------
// x,y axis position of the menus from object
	menuYpos = 0;
	menuXpos = 110;
// --------------------------------------------------------
// imgID - id of image in document
// swapImg - img src for mouseover effect
// divName - name of drop menu layer (if present)
// floatDirection - "[[L],[R]]"
function showSubMenu(imgID,swapImg,divName,alignDirection) {
if (document.getElementById) {
if (document.getElementById(imgID)) {

	// add requested div to layer array
	if (!navJS_aryMenuLayers[divName]) {navJS_aryMenuLayers[divName] = 0;}

	// get the image object from the passed ref
	var objImg = document.getElementById(imgID);

	// clear menu delay timer
	clearTimer();

	// reset image swap states
	resetImages();

	// do img swap if requested
	if (swapImg) {
		swapImage(imgID,swapImg);
	}

	// get position of passed image object
	var xpos = findPosX(objImg);
	var ypos = findPosY(objImg);
	var rightEdge = xpos + objImg.width

	// hide all menus
	for (var i in navJS_aryMenuLayers) {
		if (document.getElementById(i)) {
			document.getElementById(i).style.visibility = "hidden";
		}
	}
	// position and show requested menu
	if (divName) {

		if (alignDirection == "R" || alignDirection == "r") {
			menuXoffest = (navJS_isIE) ? -1 : 0;
			document.getElementById(divName).style.width = "auto";
			document.getElementById(divName).style.left = (((rightEdge-document.getElementById(divName).offsetWidth) - menuXoffest) + menuXpos) + "px";		
		} else {
			menuXoffest = (navJS_isIE) ? 1 : 0;
			document.getElementById(divName).style.left = (xpos + menuXpos + menuXoffest) + "px";
		}
		document.getElementById(divName).style.visibility = "visible";
		// document.getElementById(divName).style.zIndex = 10;
		
		menuYoffest = (navJS_isIE) ? 1 : 0;
		document.getElementById(divName).style.top = (ypos + menuYpos + menuYoffest) + "px";
	}
}}}
//
function findPosX(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}
//
function findPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}
//
function menuItemOver() {
clearTimer();
}
//
function hideMenus() {
navJS_hideMenuTimer = setTimeout("doHideMenus()", menuDelay);
}
// reset images
function resetImages() {
for (i in navJS_aryOriginalImgSrc) {
	document.getElementById(i).src = navJS_aryOriginalImgSrc[i];
}}
// reset single image
function mouseOutSubItem(imgID) {
// get the image object from the passed ref
var objImg = document.getElementById(imgID);
if (navJS_aryOriginalImgSrc[objImg.id]) {
document.getElementById(objImg.id).src = navJS_aryOriginalImgSrc[objImg.id];
}
hideMenus();
}
// swap image
function swapImage(imgID,swapImg) {
clearTimer();
// get the image object from the passed ref
var objImg = document.getElementById(imgID);
if (!navJS_aryOriginalImgSrc[objImg.id]) {
	navJS_aryOriginalImgSrc[objImg.id] = objImg.src;
}
	document.getElementById(objImg.id).src = swapImg;
}
//
function doHideMenus() {
	clearTimer();
	// hide all menus
	for (var i in navJS_aryMenuLayers) {
		if (document.getElementById(i)) {
			document.getElementById(i).style.visibility = "hidden";
		}
	}
	// reset image src's
	resetImages();
}
//
function clearTimer() {
if (navJS_hideMenuTimer) {
	clearTimeout(navJS_hideMenuTimer);
	navJS_hideMenuTimer = null;
}
}
function textLinkOver() {
clearTimer();
}
function textLinkOut() {
hideMenus();
}
// ########################################################
// ########################################################