// JavaScript Document

function mhz_menu(menuidstr) {
	
	this.melem = null;
	var mstat = null;
	var self = this;
	
	this.mobj = Object();
	
	this.re_mlist=/mhm_([a-z]*)lst/i;
	this.re_mbutt=/mhm_butt/gi;
	this.timer = null;
	this.ullist=new Array();
	this.ilist= new Array();
	
	this.findulinli = function (liobj) {
		var i;
		for (var i=0;i< liobj.childNodes.length; i++) {
			if (liobj.childNodes[i].className) {
				if ((regmatch = liobj.childNodes[i].className.match(this.re_mlist))) {
					return liobj.childNodes[i];
				};
			};
		};
		return null;
	};
	
	this.setupobjarr = function(obj,zi) {
		var mitem = new Object();
		var regmatch, regmatch1;
		var czi=Number(zi);
		var cziadd=0;
		if (obj.ul) {
			czi+=1;
			regmatch1 = obj.ul.className.match(this.re_mlist);
			for (var i=0;i< obj.ul.childNodes.length; i++) {
				if (obj.ul.childNodes[i].className) {
					if ((regmatch = obj.ul.childNodes[i].className.match(this.re_mbutt))) {
						mitem = new Object();
						mitem.parent = obj;
						mitem.li = obj.ul.childNodes[i];
						//mitem.li.style.cursor="default";
						mitem.li.style.cursor="url(menuarr.png),default";
						mitem.items = new Array();
						mitem.zi = czi;
						mitem.menu = this;
						mitem.timer = null;
						if ((mitem.ul = this.findulinli(mitem.li)) != null) {
							czi = this.setupobjarr(mitem,czi);
							mitem.ul.style.zIndex=czi;
							//if (document.all) alert(mitem.ul.style.zIndex);
							if (regmatch1) {
								switch (regmatch1[0]) {
									case "mhm_vertlst":
										mitem.ul.style.left = obj.ul.offsetWidth + "px";
										mitem.ul.style.top = "0px";
									break;
								};
							};
						};
						
						mitem.li.mitem = mitem;
						mitem.li.onmouseover = this.subopenmenu;
						mitem.li.onmouseout = this.closeallmenues;
						obj.items.push(mitem);
						this.ilist.push(mitem);
						mitem.ilistid=this.ilist.length-1;
					};
				};
			};
			if (regmatch1) {
				//obj.ul.style.display = "none";
				this.ullist.push(obj.ul);
				obj.hideable=true;
			} else {
				obj.hideable=false;
			};
		};
		return czi;
	};

	this.subopenmenu = function() {
		window.clearTimeout(this.mitem.menu.timer);
		this.mitem.menu.closeallmenusdo2(this.mitem.menu.mobj,true,this.mitem.ilistid);
		if (this.mitem.ul) {
			//this.mitem.menu.closeallmenusdo2(this.mitem.menu.mobj,true,this.mitem.ilistid);
			this.mitem.ul.style.display="block";
			//this.mitem.ul.style.visibility ="visible";
		};
		if (this.mitem.li) {
			this.mitem.li.className = this.mitem.li.className+" mhm_buttover";
		}
	};
	this.closeallmenues = function() {
		window.clearTimeout(this.mitem.menu.timer);
		this.mitem.menu.timer = window.setTimeout("mymenu.closeallmenuesdo()", 700);
		if (this.mitem.li) {
			this.mitem.li.className = this.mitem.li.className.replace(/ mhm_buttover/,"");
		}
	};
	
	this.closeallmenuesdo = function (blacklist) {
		this.closeallmenusdo2(this.mobj,true);
	};
	
	this.closeallmenusdo2 = function(obj,deep,blacklist) {
		if (obj != this.ilist[blacklist]) {
			if (obj.ul && obj.hideable==true) {
				obj.ul.style.display="none";
				//obj.ul.style.visibility ="hidden";
			};
			if (obj.items && deep==true) {
				for (var i=0;i < obj.items.length ;i++) {
					this.closeallmenusdo2(obj.items[i],deep,blacklist);
				};
			};
		};
	};
	
	this.initmenu = function() {
		this.mobj.ul= this.melem;
		this.mobj.items = new Array();
		this.mobj.type = "hor";
		this.setupobjarr(this.mobj,1000);
		this.closeallmenuesdo();
	};
	
	this.setzindices = function() {
		
	};
	
	if (menuidstr) {
		this.melem = document.getElementById(menuidstr);
		//this.melem.style.zIndex = 10000000;
		this.initmenu();
	};

};