function displayDialog(id, e) {
  if(document.getElementById(id).style.visibility == "hidden" || document.getElementById(id).style.visibility == ""){
    var coords = mouse_pos(e);
    document.getElementById(id).style.visibility = "visible";
    document.getElementById(id).style.top = (coords.top + 10) + "px";
    document.getElementById(id).style.left = (coords.left + 10) + "px";
  }
  else{
    document.getElementById(id).style.visibility = "hidden";
  }
}

function mouse_pos(evt)
{
    if(!evt) evt = window.event;
    var pos = { left: evt.clientX, top: evt.clientY };

    var b = (window.document.compatMode && window.document.compatMode == "CSS1Compat") ? window.document.documentElement : window.document.body || null;

    if (b)
    {
        pos.left += b.scrollLeft;
        pos.top +=  b.scrollTop;
    }
    return pos;
}

function trim(text) {
  return text.replace(/^\s+/, "").replace(/\s+$/, "");
}
