// Main function to retrieve mouse x-y pos.s
var divName = 'hintInfo';
var offX = 20;
var offY = -32;

var savedContentWindow = null;

function startHintOnMarker(element, content) {
  stopHintTimeout();

  var obj = $(divName);
  var markerId = null;

  if(element.idUser) markerId = 'user'+element.idUser;
  else if(element.idPod) markerId = element.idPod;

  if((savedContentWindow!=markerId || obj.activeEffect!=null) && markerId!=null){
    var marker = null;
    savedContentWindow = markerId;
    
    marker = map.getMarker(markerId);

    if(marker!=null){
      var point = map.map.fromLatLngToContainerPixel(marker.GoogleMarker.getLatLng());

      obj.style.left = (point.x+offX) + 'px';
      obj.style.top = (point.y+offY) + 'px';

      refreshHintWindow(element, content);
    }
  }

  if(obj.activeEffect){
    obj.activeEffect.cancel();
    obj.activeEffect=null;
  }
  new Effect.Appear(obj, {duration:0.2});
}

function refreshHintWindow(element, content){
  var markerId = null;
  if(element.idUser) markerId = 'user'+element.idUser;
  else if(element.idPod) markerId = element.idPod;

  if(savedContentWindow==markerId){
    var obj = $(divName);
    obj.innerHTML = generateWindow(content);
  }
}

var timeoutHandle = null;
function stopHintTimeout(){
  if(timeoutHandle!=null){
    clearTimeout(timeoutHandle);
    timeoutHandle = null;
  }
}

function stopHint() {
  stopHintTimeout();
  timeoutHandle = setTimeout('closeTheHint();', 500);
}

function closeTheHint(){
  var obj = $(divName);
  obj.activeEffect = new Effect.Fade(obj, {duration:0.4});
}
