var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var tempX = 0;
var tempY = 0;

function insideDiv (el,chkdiv) {
  if (!el.parentNode) {
//    window.status="1 > "+el.id+"--"+chkdiv;
    return false;
  } else if (el.parentNode.id == chkdiv) {
//    window.status="2 > "+el.id+"--"+chkdiv;
    return true;
  } else {
//    window.status="3 > "+el.id+"--"+chkdiv;
    return insideDiv(el.parentNode,chkdiv);
  }
}

function getMouseXY(e) {
  if (IE) {
/*    if (insideDiv(el,"PageDiv")) {
//    if (document.getElementById('PageDiv')) {
      Xcorr = document.getElementById('PageDiv').scrollLeft;
      Ycorr = document.getElementById('PageDiv').scrollTop;
    } else {
      Xcorr = 0;
      Ycorr = 0;
    }*/
    tempX = event.clientX + document.body.scrollLeft //+ Xcorr;
    tempY = event.clientY + document.body.scrollTop  //+ Ycorr;
//    document.title=(event.clientX + " -- " + document.body.scrollLeft + " -- " + Xcorr)
//    document.title=(event.clientY + " -- " + document.body.scrollTop + " -- " + Ycorr)
  } else {
    tempX = e.pageX;
    tempY = e.pageY;
  }
}

function findCoords(anObj) {
  var coordArr = new Array();
  var objx=0;
  var objy=0;
  var objp;
  if(anObj.offsetParent){
    objp=anObj;
    while(objp.offsetParent){
      objp=objp.offsetParent;
//      alert(objp.id+"--"+objp.offsetLeft);
      objx+=objp.offsetLeft;
      objy+=objp.offsetTop;
    }
  }
  coordArr[0] = objx + anObj.offsetLeft;
  coordArr[1] = objy + anObj.offsetTop;
  coordArr[2]=  coordArr[0] + anObj.offsetWidth;
  coordArr[3]=  coordArr[1] + anObj.offsetHeight;
//  alert (coordArr);
  return (coordArr);
}


function MessDisplay(MsgName,i,x,y,hideSel) {
  if (!IE) {
    hideSel="no";
  }
  if (i==1) {
    if (document.getElementById(MsgName).style.display=="block") {
//      alert ("First hiding");
      MessDisplay(MsgName,0,0,0,"yes")
    }
  } else {
    mesArr = findCoords(document.getElementById(MsgName));
  }
  var visValue="";
  if (i==1) {
    dispVal = 'block';
    visValue = 'hidden';
  } else {
    dispVal = 'none';
    visValue = 'visible';
  }
  if (x=="") {
    x=tempX;
  } else {
    x=x.toString()
    if (x.substr(0,1) == "x") {
      sign = x.substr(1,1)
      addVal = parseInt(sign+(x.split(sign)[1]));
      x=tempX+addVal;
    }
  }
  document.getElementById(MsgName).style.left = x;
  if (y=="") {
    y=tempY;
  } else {
    y=y.toString()
    if (y.substr(0,1) == "y") {
      sign = y.substr(1,1)
      addVal = parseInt(sign+(y.split(sign)[1]));
      y=tempY+addVal;
    }
  }
  if (insideDiv(document.getElementById(MsgName),"PageDiv")) {
    y = y - 95;
  }
  document.getElementById(MsgName).style.top = y;
  document.getElementById(MsgName).style.display = dispVal;
  if (i==1) {
    mesArr = findCoords(document.getElementById(MsgName));
  }

  if (hideSel=='yes') {
    selectName = document.getElementsByTagName("SELECT");
    for (sNam=0; sNam<selectName.length; sNam++) {
      if ((insideDiv(selectName[sNam],MsgName) == false)&&(selectName[sNam] != "length")&&(selectName[sNam] != "level")){
//        if (i==1) {
          selArr = findCoords(selectName[sNam]);
          if ( (((selArr[0] >= mesArr[0]) && (selArr[0] <= mesArr[2])) && ((selArr[1] >= mesArr[1])&&(selArr[1] <= mesArr[3]))) ||
               (((selArr[0] >= mesArr[0]) && (selArr[0] <= mesArr[2])) && ((selArr[3] >= mesArr[1])&&(selArr[3] <= mesArr[3]))) ||
               (((selArr[2] >= mesArr[0]) && (selArr[2] <= mesArr[2])) && ((selArr[1] >= mesArr[1])&&(selArr[1] <= mesArr[3]))) ||
               (((selArr[2] >= mesArr[0]) && (selArr[2] <= mesArr[2])) && ((selArr[3] >= mesArr[1])&&(selArr[3] <= mesArr[3]))) ||
               (((mesArr[0] >= selArr[0]) && (mesArr[0] <= selArr[2])) && ((mesArr[1] >= selArr[1])&&(mesArr[1] <= selArr[3]))) ||
               (((mesArr[0] >= selArr[0]) && (mesArr[0] <= selArr[2])) && ((mesArr[3] >= selArr[1])&&(mesArr[3] <= selArr[3]))) ||
               (((mesArr[2] >= selArr[0]) && (mesArr[2] <= selArr[2])) && ((mesArr[1] >= selArr[1])&&(mesArr[1] <= selArr[3]))) ||
               (((mesArr[2] >= selArr[0]) && (mesArr[2] <= selArr[2])) && ((mesArr[3] >= selArr[1])&&(mesArr[3] <= selArr[3]))) ) {
            selectName[sNam].style.visibility = visValue;
          }
//        } else {
//          selectName[sNam].style.visibility = visValue;
//        }
      }
    }
  }
}

