function changeBgColorOver(id, style) {
	if (document.getElementById) {
		document.getElementById('menutd'+id).className='menutdover'+style;
		document.getElementById('menucorntd'+id).className='menucorntdover'+style;
	}
}
function changeBgColorOut(id, style) {
	if (document.getElementById) {
		document.getElementById('menutd'+id).className='menutd'+style;
		document.getElementById('menucorntd'+id).className='menucorntd'+style;
	}
}

var Menu = null;
var MenuTimer = null;

function ClearMenuTimeout() {
  if(MenuTimer) clearTimeout(MenuTimer);
  MenuTimer = null;
}

function StartMenuTimeout() {
  if(MenuTimer) clearTimeout(MenuTimer);
  MenuTimer = setTimeout("HideMenu()", 500);
}

function ShowPopup(menu_name, mode) {
  ClearMenuTimeout();
  if(Menu) {
    HideMenu();
  }
    if(Menu = document.getElementById('popup'+menu_name)) {
    if(mode == 'top') {
      holder = document.getElementById('topPopupHolder'+menu_name)
      Menu.style.left = moveXbySlicePos(3, holder);
      Menu.style.top  = moveYbySlicePos(-1, holder) + 5;
    }
    else if(mode == 'left') {
      holder = document.getElementById('leftPopupHolder'+menu_name)
      Menu.style.left = moveXbySlicePos(3, holder);
      Menu.style.top  = moveYbySlicePos(-1, holder) - 5;
    }
    else if(mode == 'right') {
      holder = document.getElementById('rightPopupHolder'+menu_name)
      Menu.style.left = moveXbySlicePos(15, holder);
      Menu.style.top  = moveYbySlicePos(-1, holder);
    }

    Menu.style.visibility = 'visible';
  }
}

function HideMenu() {
  ClearMenuTimeout();
  if (Menu) {
    Menu.style.visibility = 'hidden';
    MenuTimer = null;
  }
}

function getExplorerVersion() {
  var ieVers = parseFloat(navigator.appVersion);
  if( navigator.appName != 'Microsoft Internet Explorer' ) return ieVers;
  var tempVers = navigator.appVersion;
  var i = tempVers.indexOf( 'MSIE ' );
  if( i >= 0 ) {
    tempVers = tempVers.substring( i+5 );
    ieVers = parseFloat( tempVers );
  }
  return ieVers;
}

function moveXbySlicePos (x, img) {
  if (!document.layers) {
    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;
    }
  } else if (img.x) x += img.x;
  return x;
}

function moveYbySlicePos (y, img) {
  if(!document.layers) {
    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;
    }
  } else if (img.y >= 0) y += img.y;
  return y;
}

