//pozycja myszy
var mousePositionX = 0;
var mousePositionY = 0;

document.onmousedown = captureMousePosition;

function captureMousePosition(e) {
  if (!e) var e = window.event;
  if (e.pageX || e.pageY)         {
    mousePositionX = e.pageX;
    mousePositionY = e.pageY;
  }
  else if (e.clientX || e.clientY)        {
    mousePositionX = e.clientX + document.body.scrollLeft
      + document.documentElement.scrollLeft;
    mousePositionY = e.clientY + document.body.scrollTop
      + document.documentElement.scrollTop;
  }
}

//pozycjonowanie layerka obok lub pod myszka
function layerPositioning(popupId, layerPosition) {
  var xOffset = 10;
  var yOffset = 10;
  var scrollSize = 15;
  if (document.all) { //IE
    var xp = document.body.scrollLeft + document.documentElement.scrollLeft;
    var xq = xp + document.body.clientWidth - scrollSize;
    var yp = document.body.scrollTop + document.documentElement.scrollTop;
    var yq = yp + document.body.clientHeight - scrollSize;
  }
  if (!document.all && document.getElementById) { //NS
    var xp = window.pageXOffset;
    var xq = xp + window.innerWidth - scrollSize;
    var yp = window.pageYOffset;
    var yq = yp + window.innerHeight - scrollSize;
  }

  var x = 0;
  if (layerPosition=="near") {
    if (mousePositionX + popupId.clientWidth + xOffset > xq)
      x = mousePositionX - popupId.clientWidth - xOffset; //prawa
    else
      x = mousePositionX + xOffset;                       //srodek
  }
  if (layerPosition=="center") {
    if (mousePositionX - popupId.clientWidth/2 < xp)
      x = mousePositionX - xOffset;                       //lewa
    else if (mousePositionX + popupId.clientWidth/2 > xq)
      x = mousePositionX - popupId.clientWidth + xOffset; //prawa
    else
      x = mousePositionX - popupId.clientWidth/2;         //srodek
  }

  var y = 0;
  if (layerPosition=="near") {
    if (mousePositionY + popupId.clientHeight + yOffset > yq)
      y = mousePositionY - popupId.clientHeight - yOffset; //dol
    else
      y = mousePositionY + yOffset;                        //srodek
  }
  if (layerPosition=="center") {
    if (mousePositionY - popupId.clientHeight/2 < yp)
      y = mousePositionY - yOffset;                        //gora
    else if (mousePositionY + popupId.clientHeight/2 > yq)
      y = mousePositionY - popupId.clientHeight + yOffset; //dol
    else
      y = mousePositionY - popupId.clientHeight/2;         //srodek
  }

  popupId.style.left = x+"px";
  popupId.style.top = y+"px";
}

// tooltip
function showToolTip(text) {
  if (!mousePositionX && !mousePositionY) {
    return;
  }
  toolTipId = document.getElementById("toolTipId");
  tooltiptext = '<div class="tooltip">' + text + '</div>';
  toolTipId.innerHTML = tooltiptext;
  layerPositioning(toolTipId, 'near')
  toolTipId.style.visibility = 'visible';
}

// funkcja ukrywajaca tooltip 
function hideToolTip() {
  toolTipId = document.getElementById("toolTipId");
  toolTipId.style.visibility = 'hidden';
}

// warstwa tooltip 
document.write('<div id="toolTipId" style="visibility:hidden; position:absolute;"></div>');

