

if(typeof(active_btn)=='undefined') active_btn = '';


function mainmenu_init() {
	var alist = document.getElementsByTagName('a');
	for(var i=0; i<alist.length; ++i) {
		if(alist[i].className == 'mainmenu') {
			new _Menu(alist[i]);

		}
	}


}


function _Menu(a) {
	this.a = a;
	this.timer;

	this.init = function() {
		var a = this.a;

		if(!window._menus) window._menus = new Array();
		this.index = window._menus.length;
		window._menus[this.index] = this;

		var img = a.childNodes[0];
		this.img = img;

		this.name = img.getAttribute('name');



		a.setAttribute('name', this.name);
		a.setAttribute('menu_index', this.index);

		a.onmouseover = function() {
			turn_on(this.getAttribute('name'));
			turn_off(active_btn);

			window._menus[this.getAttribute('menu_index')].On();
		}

		a.onmouseout = function() {
			turn_off(this.getAttribute('name'));
			turn_on(active_btn);

			window._menus[this.getAttribute('menu_index')].startTimer();
		}


		this.menudiv = document.getElementById('mainmenu_'+this.name);
		if(this.menudiv) {
			this.menudiv.setAttribute('menu_index', this.index);
			var tdlist = this.menudiv.getElementsByTagName('td');
			for(var i=0; i<tdlist.length; ++i) {

				tdlist[i].onmouseover = function() {
					this.className = 'hover';
					var mindex = this.parentNode.parentNode.parentNode.parentNode.getAttribute('menu_index');
					window._menus[mindex].clearTimer();

				}
				tdlist[i].onmouseout = function() {
					this.className = '';
					var mindex = this.parentNode.parentNode.parentNode.parentNode.getAttribute('menu_index');
					window._menus[mindex].startTimer();
				}
			}
		}

	}


	this.On = function() {
		_hideAllMenus();

		if(this.menudiv) {
			this.menudiv.style.left = ( getLeft(this.img) + 10 ) + 'px';
			this.menudiv.style.top = ( getTop(this.img) + this.img.offsetHeight ) + 'px';
			this.menudiv.style.display = 'block';
		}
	}

	this.Off = function() {
		this.clearTimer();
		if(this.menudiv) {
			this.menudiv.style.display = 'none';
		}
	}

	this.clearTimer = function() {
		clearTimeout(this.timer);
	}

	this.startTimer = function() {
		this.clearTimer();
		this.timer = setTimeout('window._menus['+this.index+'].Off();', 1000);
	}



	this.init();
}

function _hideAllMenus() {
	for(var i=0; i<window._menus.length; ++i) {
		window._menus[i].Off();
	}
}






function getLeft(obj) {
	return (obj.offsetParent==null ? obj.offsetLeft : obj.offsetLeft + getLeft(obj.offsetParent));
}
function getTop(obj) {
	return (obj.offsetParent==null ? obj.offsetTop : obj.offsetTop + getTop(obj.offsetParent));
}


