var currentText;
var currentIcon;
var currentSpan;

function tooltipIcon(helpIcon,isFocus)
{
	if(isFocus == 'true')
	{
	  document.getElementById(helpIcon).src="/images/icons/help1_over.gif";
	} else {
	   document.getElementById(helpIcon).src="/images/icons/help1.gif";
	}
}
// Position the div to put it in the relevant viewing area.
function repositionTooltip(element, leftTop, imgIcon) {
	var leftPos = leftTop[0] + imgIcon.offsetWidth;
  var topPos = leftTop[1] + imgIcon.offsetHeight;

  if (self.innerHeight) { // all except Explorer
    screenWidth = self.innerWidth;
    screenHeight = self.innerHeight;
  } else if (document.documentElement // Explorer 6 Strict Mode
             && document.documentElement.clientHeight) {
    screenWidth = document.documentElement.clientWidth;
    screenHeight = document.documentElement.clientHeight;
  } else if (document.body) { // other Explorers
    screenWidth = document.body.clientWidth;
    screenHeight = document.body.clientHeight;
  }

  if (document.documentElement.scrollTop) {
    scrollTop = document.documentElement.scrollTop;
  } else {
    scrollTop = document.body.scrollTop;
  }

  if (document.documentElement.scrollLeft) {
    scrollLeft = document.documentElement.scrollLeft;
  } else {
    scrollLeft = document.body.scrollLeft;
  }

  if (element.offsetWidth) {
    tipWidth = element.offsetWidth;
  } else {
    tipWidth = element.clientWidth;
  }

  if (((document.documentElement.dir &&
        document.documentElement.dir.toLowerCase()=="rtl") ||
       (document.body.dir &&
        document.body.dir.toLowerCase()=="rtl")) &&
      leftTop[0] - (tipWidth) - scrollLeft > 0) {
    element.style.left=leftPos-(tipWidth) + "px";
  } else if (screenWidth > (leftTop[0] + tipWidth - scrollLeft)) {
    element.style.left = leftPos + "px";
  } else {
    element.style.left=leftPos-(tipWidth) + "px";
  }

  if (element.offsetHeight) {
    tipHeight = element.offsetHeight;
  } else {
    tipHeight = element.clientHeight;
  }

  if (screenHeight > (leftTop[1] + tipHeight + 30 - scrollTop)) {
    element.style.top=topPos + "px";
  } else {
    element.style.top=topPos-tipHeight + "px";
  }
}

function TooltipLoader(loaderName) {
  this.loaderName = loaderName;
  var timer = null;

  this.getLeftTopAbsPos = function(elem)
  {
    var left = 0;
    var top = 0;
    do {
      left += elem.offsetLeft;
      top += elem.offsetTop;
    } while(elem = elem.offsetParent);
    return [left, top];
  }

  this.loadContentDelayed = function(elementText, iconElementImg, iconElementName)
  {
  	currentText = elementText;
  	currentSpan = iconElementName;
  	currentIcon = iconElementImg;
  	clearTimeout(timer);
    var imgIcon = document.getElementById(currentSpan);
    var leftTop = this.getLeftTopAbsPos(imgIcon);

    var destDiv = document.getElementById('helpDiv');
    repositionTooltip(destDiv, leftTop, imgIcon);
    destDiv.style.visibility='visible';
    
    var element = document.getElementById('helpDiv');
		if (element)
		{
			element.innerHTML = currentText;
			repositionTooltip(element, leftTop, imgIcon);
			element.style.visibility='visible';
		}
  }

  this.hideContent = function(elementId) {
    timer = setTimeout(loaderName + ".hideContentDelayed(\'"+elementId+"\');", 200);
  }

  this.hideContentDelayed = function(elementId)
  {
  	document.getElementById(elementId).style.visibility='hidden';	
  }
}

