var qtimeout = 1000;
var qclosetimer = null;
var qopentimer = null;
var qddmenuitem = null;

function qmenuOff(hid) {
  var p = document.getElementById(hid);
  var f = document.getElementById("qddiframe");
  if (p.style.visibility!='hidden') {
    p.style.visibility='hidden';
    f.style.width = '0';
    f.style.height = '0';
    f.style.zIndex = '0';
    f.style.display='none';
  }
  return;
}
function qmenuOn(g,hid,dx,dy) {
  var p = document.getElementById(hid);
  var f = document.getElementById("qddiframe");
  if (p&&p.style.visibility!='visible') {
    if (g!=null) {
      p.style.left=findPosX(g)+dx;
      p.style.top=findPosY(g)+dy;
      p.style.visibility='visible';
      f.style.left=findPosX(g)+dx;
      f.style.top=findPosY(g)+dy;
      f.style.width = p.offsetWidth;
      f.style.height = p.offsetHeight;
      f.style.zIndex = '99999';
      f.style.display='block';
    }
  }
  return;
}

// open hidden layer
function qmopen(thiz,id) { 
  // cancel close timer
  qmcancelclosetime();
  // close old layer
  qmclose();
  // get new layer and show it
  qddmenuitem = id;
  qmenuOn(thiz,id,50,-30);
  return;
}
// close showed layer
function qmclose() {
  if(qddmenuitem) {
    qmenuOff(qddmenuitem);
  }
  return;
}
// go close timer
function qmclosetime(qto) {
  if (qto) {
    qclosetimer = window.setTimeout(qmclose, qto);
  } else {
    qclosetimer = window.setTimeout(qmclose, qtimeout);
  }
  return;
}
// cancel close timer
function qmcancelclosetime() {
  if(qclosetimer) {
    window.clearTimeout(qclosetimer);
    qclosetimer = null;
  }
  return;
}

