// JavaScript Document
var menus = Array();

var MS_TimeOut = 500;
var MS_MX = 0;
var MS_MY = 0;
var MS_TimerStart = null;
var MS_HideMenuTimer = null;

function MS_init(to,mx,my)
{
   MS_TimeOut = to;
   MS_MX = mx;
   MS_MY = my;
 }
   
function MS_FindMI(itm,add)
{
   var found = false;
   for(i = 0;i < menus.length;i++)
      if(itm == menus[i])
         found = i;
   if(!found && add)
      menus[menus.length] = itm;
   return(document.getElementById(itm));
 }
   
function MS_RollOver_Menu(itm,parnt)
{
   MS_ClearTimeout(); 
   MS_HideMenus();
   if(!itm)
      return;
   itm = MS_FindMI(itm,true);
   parnt = MS_FindMI(parnt);
   itm.style.display = "block";
   itm.style.top = MS_MoveYPos(MS_MY,parnt)+"px";
   itm.style.left = MS_MoveXPos(MS_MX,parnt)+"px";
 }
   
function MS_RollOut_Menu_Item()
{
   MS_StartTimeout(); 
 }

function MS_RollOver_MItem()
{
   MS_ClearTimeout(); 
 }

function MS_ClearTimeout() 
{
   if (MS_HideMenuTimer) clearTimeout(MS_HideMenuTimer);
   MS_HideMenuTimer = null;
 }

function MS_StartTimeout() 
{
   MS_TimerStart = new Date();
   MS_HideMenuTimer = setTimeout("MS_CatchTimeout()", MS_TimeOut);
 }

function MS_CatchTimeout() 
{
   var elapsed = new Date() - MS_TimerStart;
   var timeout = MS_TimeOut;
   if (elapsed < timeout) 
   {
      MS_HideMenuTimer = setTimeout("MS_CatchTimeout()", timeout+100-elapsed);
      return;
    }
   MS_HideMenus();
 }

function MS_HideMenus()
{
   for(i = 0;i < menus.length;i++)
      document.getElementById(menus[i]).style.display = "none";
 }
   
function MS_MoveXPos (x, img) 
{ 
   var onWindows = navigator.platform ? navigator.platform == "Win32" : false;
   var macIE45 = document.all && !onWindows && getExplorerVersion() == 4.5;
   var par = img;
   var lastOffset = 0;
   while(par)
   {
      if( par.leftMargin && ! onWindows ) x += parseInt(par.leftMargin);
      if( (par.offsetLeft != lastOffset) && par.offsetLeft ) x += parseInt(par.offsetLeft);
      if( par.offsetLeft != 0 ) lastOffset = par.offsetLeft;
      par = macIE45 ? par.parentElement : par.offsetParent;
    }		
   return x;
 }

function MS_MoveYPos (y, img) 
{
   var onWindows = navigator.platform ? navigator.platform == "Win32" : false;
   var macIE45 = document.all && !onWindows && getExplorerVersion() == 4.5;
   var par = img;
   var lastOffset = 0;
   while(par)
   {
      if( par.topMargin && !onWindows ) y += parseInt(par.topMargin);
      if( (par.offsetTop != lastOffset) && par.offsetTop ) y += parseInt(par.offsetTop);
      if( par.offsetTop != 0 ) lastOffset = par.offsetTop;
      par = macIE45 ? par.parentElement : par.offsetParent;
    }		
   return y;
 }
