var tmp_id = '';
var item = new Array(99999);
var req;
var wHeight;
var lHeight;
var x;
var y;
var fHeight;
var tmpvar;

function showtip(e,id) {
  var url = "xstooltip/xs_tooltip.php?itemid=" + id;
  
  if(item[id] == null)
  {
    document.getElementById('toolBox').innerHTML = "Wait please, searching item...";
    tmp_id = id;
    retrieveURL(url);
  }
  else
  {
    document.getElementById('toolBox').innerHTML = item[id];
  }
  showtipatcursor(e);
}

function retrieveURL(url) {
  if (window.XMLHttpRequest) { // Non-IE browsers
    req = new XMLHttpRequest();
    req.onreadystatechange = processStateChange;
    try {
      req.open("GET", url, true);
    } catch (e) {
            alert(e);
    }
    req.send(null);
  } else if (window.ActiveXObject) { // IE
    req = new ActiveXObject("Microsoft.XMLHTTP");
    if (req) {
      req.onreadystatechange = processStateChange;
      req.open("GET", url, true);
      req.send();
    }
  }
}

function processStateChange() {
  if (req.readyState == 4) 
  { // Complete
    if (req.status == 200) 
    { // OK response
      if (req.responseText.length > 0)
      {
        document.getElementById('toolBox').innerHTML = req.responseText;
        item[tmp_id] = req.responseText;
      }
      else
      {
        document.getElementById('toolBox').innerHTML = "Item not found!";
        item[tmp_id] = "Item not found!";
      }
    } else {
      //alert("Problem: " + req.statusText);
    }
  }
}

function showtipatcursor(e) 
{
  var obj = document.getElementById('tooltipcontainer');
  obj.style.display = "block";
  
	wHeight = document.body.clientHeight+document.body.scrollTop;
  lHeight = obj.offsetHeight;

  if (document.all&&!window.opera) { 
    y = event.clientY + 10 + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
    x = event.clientX + 10 + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
    
  } else {
    y = e.pageY + 10;
    x = e.pageX + 10;
  }
  
  fHeight = y + lHeight;
  
  if(fHeight > wHeight)
  {
    tmpvar = fHeight - wHeight;
    obj.style.top = (y - tmpvar) +"px";
    obj.style.left = x +"px";        
  }
  else
  {
    obj.style.top = y +"px";
    obj.style.left = x +"px";
  }      
}

function hidetip() 
{
  var obj = document.getElementById('tooltipcontainer');
  obj.style.display = "none";
}

