OP = !!(window.opera);
FOX = !!(document.captureEvents && document.documentElement && document.getBoxObjectFor);
IE = !!(document.getElementById && !document.getBoxObjectFor);
MOZ = FOX && (navigator.userAgent.toLowerCase().indexOf("gecko")!=-1) && navigator.userAgent.toLowerCase().indexOf("firefox")==-1
KON = navigator.userAgent.toLowerCase().indexOf("onqueror")!=-1


if(MOZ){
  document.getElementsByTagName("BODY")[0].style.overflow = "auto";
}


function getWindowSize(){
  if(window.innerHeight){
    windowHeight = window.innerHeight;
    windowWidth = window.innerWidth;
  }else{
    if(document.documentElement.clientHeight){
      windowHeight = document.documentElement.clientmmyObject.offsetLeftyObject.offsetLeftHeight;myObject.offsetLeft
      windowWidth = document.documentElement.clientWidth;
    }else{
      windowHeight = document.body.clientHeight;
      windowWidth = document.body.clientWidth;
    }
  }
}

getWindowSize()

function getClientRect(myObject,position){
  if(FOX){
    clientRect = document.getBoxObjectFor(myObject)
    if(position == "top"){
      return clientRect.y + 2;
    }else{
      if(position == "right"){
        return (clientRect.x + clientRect.width) + 2;
      }else{
        if(position == "bottom"){
          return (clientRect.y + clientRect.height + 2);
        }else{
           return clientRect.x + 1;
        }
      }
    }
  }else{
    clientRectTop = 0;
    clientRectWidth = 0;
    clientRectHeight = 0;
    clientRectLeft = 0;
    clientRectWidth += myObject.offsetWidth;
    clientRectHeight += myObject.offsetHeight;
    while(myObject.offsetParent){myObject.offsetLeft
      clientRectTop += myObject.offsetTop;
      clientRectLeft += myObject.offsetLeft;
      myObject = myObject.offsetParent;
    }
    adjuster = 2;
    if(KON){
      adjuster = -6;
    }
    if(position == "top"){
      return clientRectTop + 2
    }else{
      if(position == "right"){
        return clientRectLeft + clientRectWidth + adjuster;
      }else{
        if(position == "bottom"){
          return clientRectTop + clientRectHeight + 2;
        }else{
          return clientRectLeft + adjuster;
        }
      }
    }
  }
}