var browser = navigator.appName;
var version = navigator.appVersion;
var menuShown = 0;
var numMenus = 7;
var minHeightForScroll = 417;

function msOver(imgName)
{
	document.images[imgName].src = imgName + '_over.gif';
} //msOver

function msOut(imgName)
{
	document.images[imgName].src = imgName + '.gif';
} //msOut

function getElement(objectId)
{
    // cross-browser function to get an element given its id
    if(document.getElementById && document.getElementById(objectId))
	{
		// W3C DOM
		return document.getElementById(objectId);
    }
	else if (document.all && document.all(objectId))
		{
			// MSIE 4 DOM
			return document.all(objectId);
	    }
		else if (document.layers && document.layers[objectId])
			{
				// NN 4 DOM ...
				return document.layers[objectId];
		    }
			else
				{
					return false;
			    }
} // getElement


function getStyleObject(objectId)
{
    // cross-browser function to get an object's style given its id
    if(document.getElementById && document.getElementById(objectId))
	{
		// W3C DOM
		return document.getElementById(objectId).style;
    }
	else if (document.all && document.all(objectId))
		{
			// MSIE 4 DOM
			return document.all(objectId).style;
	    }
		else if (document.layers && document.layers[objectId])
			{
				// NN 4 DOM ...
				return document.layers[objectId];
		    }
			else
				{
					return false;
			    }
} // getStyleObject

function changeObjectVisibility(objectId, newVisibility) {
	var styleObject = getStyleObject(objectId);
    if(styleObject)
	{
		if((browser=='Microsoft Internet Explorer') && ((version.indexOf('MSIE 6.')>-1) || (version.indexOf('MSIE 7.')>-1) || (version.indexOf('MSIE 8.')>-1)) )
		{
			var obj = document.getElementById(objectId);
			obj.filters['DXImageTransform.Microsoft.Fade'].enabled = true;
			obj.filters['DXImageTransform.Microsoft.Fade'].Apply();
			styleObject.visibility = newVisibility;
			obj.filters['DXImageTransform.Microsoft.Fade'].Play();
		}
		else 
			{
				styleObject.visibility = newVisibility;
			}
		return true;
	}
	else
		{
			return false;
		}
} // changeObjectVisibility

function getHeight()
{
	var h;
	if(typeof document.body.clientHeight != 'undefined')
	{
		// IE & some W3C
		h = document.body.clientHeight;
	}
	else
		{
			// W3C only
			h = window.innerHeight;
		}
	return h;
} //getHeight

function getWidth()
{
	var w;
	if(typeof document.body.clientWidth != 'undefined')
	{
		// IE & some W3C
		w = document.body.clientWidth;
	}
	else
		{
			// W3C only
			w = window.innerWidth;
		}
	return w;
} //getWidth

function setDimension(objectId,x,y) {
    var styleObject = getStyleObject(objectId);
    if(styleObject)
	{
		if((browser=="Microsoft Internet Explorer") && ((version.indexOf("MSIE 4.")>-1)||(version.indexOf("MSIE 3.")>-1)))
		{
			styleObject.left = x;
		}
		else
			{
				styleObject.right = x;
			}
		if(getHeight() > minHeightForScroll)
		{
			var sTop = (document.body && typeof document.body.scrollTop != 'undefined') ? document.body.scrollTop : window.scrollY;
			styleObject.top = y + sTop;
		}
		else
			{
				styleObject.top = y;
			}
		return true;
    }
	else
		{
			return false;
	    }
} // setXY

function getSubMY(menuNumber)
{
	switch(menuNumber)
	{
		case 1 : return 171;
		case 2 : return 137;
		case 3 : return 101;
		case 4 : return 67;
		case 5 : return 315;
		case 6 : return 205;
		case 7 : return 435;
		default:
			alert('menuNumber out of range');
			return null;
	}
}

function showMenu(menuName, menuNumber, eventObj)
{
	// If the sub menu is already shown it won't start the showing process again...
	// The event will buble up to the body event handler and close the sub menu.
	if (menuShown != menuNumber)
	{
		if (menuShown > 0)
		{
			// Hide shown menu
			changeObjectVisibility('menu' + menuShown, 'hidden');
		}
		menuShown = menuNumber; // remember the number of shown menu
		var menuId = menuName + menuNumber;
		var x = 162;
		var y = getSubMY(menuNumber);
	   	if((setDimension(menuId,x,y))&&(changeObjectVisibility(menuId, 'visible')))
		{
			eventObj.cancelBubble = true;
			return true;
	   	}
		else
			{
				return false;
		   	}
	}
	else
		{
			return true;
		}
} //showMenu

function hideAllMenus()
{
	if (menuShown > 0)
	{
		changeObjectVisibility('menu' + menuShown, 'hidden');
		menuShown = 0;
	}
}

function setSubMY(objectId,menuNumber,n)
{
	var styleObject = getStyleObject(objectId);
	var y = getSubMY(menuNumber);
    if(styleObject)
	{
		var sTop = (document.body && typeof document.body.scrollTop != 'undefined') ? document.body.scrollTop : window.scrollY;
		styleObject.top = y + sTop * n;
		return true;
	}
    else
		{
			return false;
		}
}

function setMY(objectId,n)
{
	var styleObject = getStyleObject(objectId);
    if(styleObject)
	{
		var sTop = (document.body && typeof document.body.scrollTop != 'undefined') ? document.body.scrollTop : window.scrollY;
		styleObject.top = sTop * n;
		return true;
	}
    else
		{
			return false;
		}
}

function menuOnScroll()
{
	var mult = (getHeight() > minHeightForScroll) ? 1 : 0;
	setMY('mainMenu', mult);
	if (menuShown > 0)
	{
		setSubMY('menu' + menuShown, menuShown, mult);
	}
}


// onScroll in mozila doesn't work on mouse wheel
var intervalID;
function startMenuScroll()
{
	intervalID = setInterval('menuOnScroll()',100);
}
function stopMenuScroll()
{
	clearInterval(intervalID);
}
if (browser == 'Netscape')
{
	document.body.onload = startMenuScroll();
	document.body.onunload = stopMenuScroll();
}