var myTT = 0;
var main = true;
var dmTimer = 0;
var curMenu = null;
var dmTimeOut = 200;

function m(el, mode)
{
	//if ('undefined' == typeof(coord[el])) {
		var td=document.getElementById('t'+el);
		var x = get_left(td);
		var y = get_top(td);

		var div = document.getElementById('m'+el);
		if ('' == div.innerHTML) return;
		ofx = 0;

		if ('last' == td.parentNode.className) {
			ofx = (div.clientWidth - td.offsetWidth) + 2;
			if (ofx <= 0) {ofx = 151;}
		}

		div.style.left	= (x - ofx) + 'px';
		div.style.top	= (y + 20) + 'px';
	//}

	if (curMenu == null) {
		curMenu = el;
	} else {
		hide_id('m'+curMenu);
		curMenu = el;
	}

	show_id('m'+curMenu);
	dmTimer = dmTimeOut;

	if (mode) {	timer_over();
	} else {	timer_out();	}
	return;
}

function timer_over()
{
	dmTimer = 10000000;
	clearTimeout(myTT);
	return;
}
function timer_out()
{
	dmTimer = dmTimeOut;
	myTT = setTimeout("timer()", dmTimeOut);
	return;
}
function timer()
{
	if (null != curMenu) {
		hide_id('m'+curMenu);
	}
	curMenu = null;

	return;
}


function get_top(id)
{
	var y = 0, obj = id;
	while (obj.offsetParent != null) {
		y += obj.offsetTop;
		obj= obj.offsetParent;
	}
	y += obj.offsetTop;
	return y;
}

function get_left(id)
{
	var x = 0, obj = id;
	while (obj.offsetParent != null) {
		x += obj.offsetLeft;
		obj= obj.offsetParent;
	}
	x += obj.offsetLeft;
	return x;
}

function hide_id(layer)
{
	if (typeof(layer) != 'object') {
		var l = document.getElementById(layer);
	} else {
		var l = layer;
	}
	l.style.display = "none";
	l.style.visibility = "hidden";
	return true;
}

function show_id(layer)
{
	if (typeof(layer) != 'object') {
		var l = document.getElementById(layer);
	} else {
		var l = layer;
	}
	try {
		l.style.display = "block";
	} catch(e){
	}
	try {
		l.style.visibility = "visible";
	} catch(e){
	}
	return true;
}


function gtop(acceleration, time) {

	acceleration = acceleration || 0.1;
	time = time || 16;

	var dx = 0;
	var dy = 0;
	var bx = 0;
	var by = 0;
	var wx = 0;
	var wy = 0;

	if (document.documentElement) {
		dx = document.documentElement.scrollLeft || 0;
		dy = document.documentElement.scrollTop || 0;
	}
	if (document.body) {
		bx = document.body.scrollLeft || 0;
		by = document.body.scrollTop || 0;
	}
	var wx = window.scrollX || 0;
	var wy = window.scrollY || 0;

	var x = Math.max(wx, Math.max(bx, dx));
	var y = Math.max(wy, Math.max(by, dy));

	var speed = 1 + acceleration;
	window.scrollTo(Math.floor(x / speed), Math.floor(y / speed));
	if(x > 0 || y > 0) {
		var invokeFunction = "gtop(" + acceleration + ", " + time + ")"
		window.setTimeout(invokeFunction, time);
	}
}

