var MenuTimer=null;
var MenuDelay=300;

function GetObj(name)
{
  if (document.getElementById) return document.getElementById(name);
  else if (document.all) return document.all[name];
  else if (document.layers) return document.layers[name];
  else return false;
}

function GetStyle(ID,caller)
{
  if (document.getElementById) return document.getElementById(ID).style;
  else if (document.all) return document.all[ID].style;
  else if (document.layers) return document.layers[ID];
  else return false;
}

function dump(x) {
    window.document.writeln("<hr> <table style='background:#0000FF;color:#FFFFFF;'>");
    for (i in x) window.document.writeln("<tr><td>"+i+"</td><td>"+x[i]+"</td></tr>");
    window.document.writeln("</table> <hr> ");
}

function HideAll() {
	for (i in menu_id) {
		var s=GetStyle(menu_id[i]);
		s.visibility="hidden";
	}
	if (MenuTimer) clearTimeout(MenuTimer);
}

function ShowMenu() {
	if (window.event && window.event.srcElement) a=window.event.srcElement;
		else a=this;
	HideAll();
	t=a;
	m=a.menuName;
	if (!m) return;

	var s=GetStyle(m);
	var left=t.offsetLeft;
	var top=t.offsetTop;

	var tmp=t;
	while (tmp.offsetParent) {
		top+=tmp.offsetParent.offsetTop;
		left+=tmp.offsetParent.offsetLeft;
		tmp=tmp.offsetParent;
	}
	s.left=left;
	s.top=top+t.offsetHeight;
	s.visibility="visible";
}

function MenuIn() {
	if (MenuTimer) clearTimeout(MenuTimer);
//	alert("IN:"+this.tagName);
}

function MenuOut() {
	if (MenuTimer) clearTimeout(MenuTimer);
	MenuTimer=setTimeout("HideAll()",MenuDelay);
//	alert("OUT:"+this.tagName);
}

function ImageOn() {
	if (window.event && window.event.srcElement) a=window.event.srcElement;
		else a=this;
	if (!a) return;
	a.src=a.imgOn;
}

function ImageOff() {
	if (window.event && window.event.srcElement) a=window.event.srcElement;
		else a=this;
	if (!a) return;
	a.src=a.imgOff;
}

function MenuInit() {
	for (i in menu_id) {
//---------------------------------------------------------------------------------------------------- [ Menü ] -------------
		var mImg=(owner_img_on && owner_img_off && owner_img_on[i] && owner_img_off[i]);
		var s=GetStyle(menu_id[i]);
  		var o=GetObj(menu_id[i]);
  		s.visibility="hidden";
  		s.position="absolute";

		var left=o.offsetLeft;					// -- [ pozícionálás ] --
		var top=o.offsetTop;
		var tmp=o;
		while (tmp.offsetParent) {
			top+=tmp.offsetParent.offsetTop;
			left+=tmp.offsetParent.offsetLeft;
			tmp=tmp.offsetParent;
		}
		s.left=left;
		s.top=top+o.offsetHeight;

  		if (o.addEventListener) {				// -- [ eseménykezelés ] --
  			o.addEventListener("mouseover",MenuIn,false);
  			o.addEventListener("mouseout",MenuOut,false);
  		} else
  		if (o.attachEvent) {
    		o.attachEvent("onmouseover",MenuIn);
    		o.attachEvent("onmouseout",MenuOut);
  		} else {
	    	o.onmouseover="MenuIn()";
    		o.onmouseout="MenuOut()";
  		}
//---------------------------------------------------------------------------------------------------- [ Menüpont ] ---------
	  	o=GetObj(owner_id[i]);
	  	if (o.addEventListener) {
	  		o.addEventListener("mouseover",ShowMenu,false);
	  		o.addEventListener("mouseout",MenuOut,false);
	  		if (mImg) {
		  		o.addEventListener("mouseover",ImageOn,false);
		  		o.addEventListener("mouseout",ImageOff,false);
			}
	  	} else
	  	if (o.attachEvent) {
		    o.attachEvent("onmouseover",ShowMenu);
		    o.attachEvent("onmouseout",MenuOut);
	  		if (mImg) {
		    	o.attachEvent("onmouseover",ImageOn);
			   	o.attachEvent("onmouseout",ImageOff);
			}
	  	} else {
	    	o.onmouseover="ShowMenu();";
		    o.onmouseout="MenuOut();";
	  		if (mImg) {
			   	o.onmouseover+="ImageOn()";
			   	o.onmouseout+="ImageOff()";
			}
	  	}

	  	if (owner_img_on && owner_img_off) {
	  		o.src=owner_img_off[i];
	  		o.imgOn=owner_img_on[i];
	  		o.imgOff=owner_img_off[i];
	  	}
	  	o.menuName=menu_id[i];
	 }
}
window.onload=MenuInit;
window.MenuIn = MenuIn;

