var mmc;

function Init()
{
 mmc = new cMouseMoveChecker();
 
 var t = document.getElementsByTagName("td");
 for (var i = 0; i < t.length; i++)
 {
  if (t[i].className == "off" || t[i].className == "on")
  {
   var a = t[i].getElementsByTagName("a");
   for (var j = 0; j < a.length; j++)
   {
    if (a[j].className.substring(0, 8) == "link_dtl")
	{
	 t[i].linkadd = a[j].getAttribute("href");
	 t[i].onclick = function() { Jump(this) };
	 mmc.AddEvent(t[i]);
	}
   }
  }
 }
}

function cMouseMoveChecker()
{
	this.from = null;
	this.to = null;
	this.timer = null;
	
	function _AddEvent(elm)
	{
		var self = this;
		elm.onmouseover = function() { self.OverElement(this) };
		elm.onmouseout = function() { self.OutElement(this) };
	}
	cMouseMoveChecker.prototype.AddEvent = _AddEvent;
	
	function _OverElement(elm)
	{
		if (this.timer != null)
		{
			clearTimeout(this.timer);
		}
		
		this.to = elm;
		this.CrossElement();
	}
	cMouseMoveChecker.prototype.OverElement = _OverElement;
	
	function _OutElement(elm)
	{
		if (this.timer)
		{
			clearTimeout(this.timer);
		}
		
		this.from = elm;
		this.to = null;
		var self = this;
		this.timer = setTimeout(function(){ self.CrossElement(); }, 100);
	}
	cMouseMoveChecker.prototype.OutElement = _OutElement;
	
	function _CrossElement()
	{
		if (this.from == this.to)
		{
			return;
		}
		
		this.LeaveElement();
		this.EnterElement();
		this.from = this.to;
	}
	cMouseMoveChecker.prototype.CrossElement = _CrossElement;

	function _EnterElement()
	{
		MouseEnter(this.to)
	}
	cMouseMoveChecker.prototype.EnterElement = _EnterElement;
	
	function _LeaveElement()
	{
		MouseLeave(this.from);
	}
	cMouseMoveChecker.prototype.LeaveElement = _LeaveElement;
}

function MouseEnter(elm)
{
	ButtonOn(elm);
}
function MouseLeave(elm)
{
	ButtonOff(elm);
}

function ButtonOn(elm)
{
	if (elm)
	{
		elm.className = "on";
	}
	SetIndex(GetKindName(elm));
}
function ButtonOff(elm)
{
	if (elm)
	{
		elm.className = "off";
	}
}

function GetKindName(elm)
{
	var n = "none";
	if (elm)
	{
		var m = elm.getElementsByTagName("Div");
		n = (m[0].className.split(" "))[1];
	}
	return n;
}

function SetIndex(k)
{
	if (k == "company")
		document.getElementById("index-company").style.backgroundColor = "#ffdddd";
	else
		document.getElementById("index-company").style.backgroundColor = "transparent";
	
	if (k == "personal")
		document.getElementById("index-personal").style.backgroundColor = "#ddddff";
	else
		document.getElementById("index-personal").style.backgroundColor = "transparent";
	
	if (k == "inheritance")
		document.getElementById("index-inheritance").style.backgroundColor = "#ddffdd";
	else
		document.getElementById("index-inheritance").style.backgroundColor = "transparent";
}

function Jump(obj)
{
 if (obj.linkadd)
 {
  location.href = obj.linkadd;
 }
 else
 {
  var a = obj.getElementsByTagName("a");
  for (var j = 0; j < a.length; j++)
  {
   if (a[j].className = "link_dtl")
   {
    location.href = a[j].getAttribute("href");
   }
  }
 }
}

