﻿// JScript File
var dom = (document.getElementById) ? true : false;
var ns5 = (!document.all && dom || window.opera) ? true: false;
var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false;
var ie4 = (document.all && !dom) ? true : false;
var nodyn = (!ns5 && !ie4 && !ie5 && !dom) ? true : false;
var offX= -15;	// how far from mouse to show tip
var offY= 5;
var mouseX, mouseY;
var tooltip, tipcss;
function ShowTooltip(evt, tooltipContainerId, message)
{
    tooltip = document.getElementById(tooltipContainerId);
    tipcss = tooltip.style;
    if(message)
        tooltip.innerHTML = message;
    tooltip.style.display = '';
    trackMouse(evt);
}
function trackMouse(evt) {
	standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body //create reference to common "body" across doctypes
	mouseX = (ns5)? evt.pageX: window.event.clientX + standardbody.scrollLeft;
	mouseY = (ns5)? evt.pageY: window.event.clientY + standardbody.scrollTop;
	relativePositionTip(evt);
}
function relativePositionTip(evt)
{
    if(evt.toElement)
    {
        var tipcssLeft = xPageX(evt.toElement) + Math.ceil(evt.toElement.width/2) + offX;
        tipcss.left = tipcssLeft + "px";
        var tipcssTop = xPageY(evt.toElement) + evt.toElement.height + offY;
        tipcss.top = tipcssTop + "px";
    }
    if(evt.currentTarget)
    {
        var tipcssLeft = xPageX(evt.currentTarget) + Math.ceil(evt.currentTarget.width/2) + offX;
        tipcss.left = tipcssLeft + "px";
        var tipcssTop = xPageY(evt.currentTarget) + evt.currentTarget.height + offY;
        tipcss.top = tipcssTop + "px";
    }  

}
function absolutePositionTip(evt) {
	// tooltip width and height
	var tpWd = (ie4||ie5)? tooltip.clientWidth: tooltip.offsetWidth;
	var tpHt = (ie4||ie5)? tooltip.clientHeight: tooltip.offsetHeight;
	// document area in view (subtract scrollbar width for ns)
	var winWd = (ns5)? window.innerWidth-20+window.pageXOffset: standardbody.clientWidth+standardbody.scrollLeft;
	var winHt = (ns5)? window.innerHeight-20+window.pageYOffset: standardbody.clientHeight+standardbody.scrollTop;
	// check mouse position against tip and window dimensions
	// and position the tooltip 
	if ((mouseX+offX+tpWd)>winWd) 
		tipcss.left = mouseX-(tpWd+offX)+"px";
	else 
	    tipcss.left = mouseX+offX+"px";
	if ((mouseY+offY+tpHt)>winHt) 
		tipcss.top = winHt-(tpHt+offY)+"px";
	else 
	    tipcss.top = mouseY+offY+"px";
}
function HideTooltip(tooltipContainerId)
{
    var tooltipContainer = document.getElementById(tooltipContainerId);
    tooltipContainer.innerHTML = '';
    tooltipContainer.style.display = 'none';
}

//Cross lib
function xDef()
{
  for(var i=0; i<arguments.length; ++i){if(typeof(arguments[i])=='undefined') return false;}
  return true;
}
function xGetElementById(e)
{
  if(typeof(e)=='string') {
    if(document.getElementById) e=document.getElementById(e);
    else if(document.all) e=document.all[e];
    else e=null;
  }
  return e;
}
function xPageX(e)
{
  var x = 0;
  e = xGetElementById(e);
  while (e) {
    if (xDef(e.offsetLeft)) x += e.offsetLeft;
    e = xDef(e.offsetParent) ? e.offsetParent : null;
  }
  return x;
}
function xPageY(e)
{
  var y = 0;
  e = xGetElementById(e);
  while (e) {
    if (xDef(e.offsetTop)) y += e.offsetTop;
    e = xDef(e.offsetParent) ? e.offsetParent : null;
  }
  return y;
}