var cur_menu;
var cur_item;

Menu = {timer : null, current : null};
Menu.getStyle = function(name){
	if(document.getElementById) return document.getElementById(name).style;
	else if(document.all) return document.all[name].style;
	else if(document.layers) return document.layers[name];
}
Menu.show = function(id){
	// another menu may be visible so hide
	Menu.doHide();
	
	if(this.timer) clearTimeout(this.timer);
	this.current = id;

	cur_menu = document.getElementById(id + "_menu");
	cur_item = document.getElementById(id + "_item");

	// check if there is a submenu for this item
	if ( cur_menu != null )
	{
		cur_menu.style.visibility = "visible";
		cur_menu.style.left = getPageOffsetLeft(cur_item) + "px";
		cur_menu.style.top = (getPageOffsetTop(cur_item) + 22) + "px";
	}
	// hilite product menu link
	this.rollOverItem(cur_item);

}
Menu.hide = function(){
	this.timer = setTimeout("Menu.doHide()",100);
}
Menu.doHide = function(){
	if(this.current){

		// hilite product menu link
		this.current = null;
		if ( cur_menu != null )
		{
			cur_menu.style.visibility = "hidden";
		}
		this.rollOutItem(cur_item);
		
		cur_menu = null;
		cur_item = null;
	}
}

Menu.rollOverItem = function(item) {
	item.className = "menu_item_active";
}

Menu.rollOutItem = function(item) {
	item.className = "menu_item";
}

Menu.rollOverSubItem = function(item) {
	item.className = "sub_menu_item_active";
}

Menu.rollOutSubItem = function(item) {
	item.className = "sub_menu_item";
}

function getPageOffsetLeft(el) {
  var x;
  // Return the x coordinate of an element relative to the page.
  x = el.offsetLeft;
  if (el.offsetParent != null)
    x += getPageOffsetLeft(el.offsetParent);
  return x;
}

function getPageOffsetTop(el) {
  var y;
  // Return the x coordinate of an element relative to the page.
  y = el.offsetTop;
  if (el.offsetParent != null)
    y += getPageOffsetTop(el.offsetParent);
  return y;
}