var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1
var ns6=document.getElementById&&!document.all
var ns4=document.layers
ns6=navigator.userAgent.indexOf("Opera")!=-1?true:ns6;

var __bap_kw_linkset = new Array();

function __bap_kw_showlinkset(e, which){

  if (!document.all&&!document.getElementById&&!document.layers) return;

  __bap_kw_clearhidelinkset();

  menuobj = ie4? document.all.bapsitekwpopmenu : ns6? document.getElementById("bapsitekwpopmenu") : ns4? document.bapsitekwpopmenu : "";
  menuobj.thestyle = (ie4||ns6)? menuobj.style : menuobj;

  if (ie4||ns6) {
    menuobj.innerHTML = which;
  } else {
    menuobj.document.write('<layer name=gui bgColor=#E6E6E6 width=165 onmouseover="__bap_kw_clearhidelinkset()" onmouseout="__bap_kw_hidelinkset()">'+which+'</layer>');
    menuobj.document.close();
  }

  menuobj.contentwidth=(ie4||ns6)? menuobj.offsetWidth : menuobj.document.gui.document.width;
  menuobj.contentheight=(ie4||ns6)? menuobj.offsetHeight : menuobj.document.gui.document.height;
  eventX = ie4? event.clientX : ns6? e.clientX : e.x;
  eventY = ie4? event.clientY : ns6? e.clientY : e.y;

  eventX += 3;

  //Find out how close the mouse is to the corner of the window
  var rightedge = ie4? document.body.clientWidth-eventX : window.innerWidth-eventX;
  var bottomedge = ie4? document.body.clientHeight-eventY : window.innerHeight-eventY;

  //If the horizontal distance isn't enough to accomodate the width of the context menu
  //alert(rightedge+' - '+menuobj.contentwidth);
  if (rightedge<menuobj.contentwidth) {
    //move the horizontal position of the menu to the left by it's width
    menuobj.thestyle.left=ie4? document.body.scrollLeft+eventX-menuobj.contentwidth : ns6? window.pageXOffset+eventX-menuobj.contentwidth : eventX-menuobj.contentwidth;
  } else {
    //position the horizontal position of the menu where the mouse was clicked
    menuobj.thestyle.left=ie4? document.body.scrollLeft+eventX : ns6? window.pageXOffset+eventX : eventX;
  }

  //same concept with the vertical position
  if (bottomedge<menuobj.contentheight) {
    menuobj.thestyle.top=ie4? document.body.scrollTop+eventY-menuobj.contentheight : ns6? window.pageYOffset+eventY-menuobj.contentheight : eventY-menuobj.contentheight;
  } else {
    menuobj.thestyle.top=ie4? document.body.scrollTop+event.clientY : ns6? window.pageYOffset+eventY : eventY;
  }

  menuobj.thestyle.visibility="visible"
  return false
}

function __bap_kw_contains_ns6(a, b) {
//Determines if 1 element in contained in another
while (b.parentNode) {
        if ((b = b.parentNode) == a) {
                return true;
        }
}
return false;
}

function __bap_kw_hidelinkset() {
  if (window.menuobj) {
    menuobj.thestyle.visibility=(ie4||ns6)? "hidden" : "hide";
  }
}

function __bap_kw_dynamichide(e) {
  if (ie4&&!menuobj.contains(e.toElement)) {
    __bap_kw_hidelinkset();
  } else if (ns6&&e.currentTarget!= e.relatedTarget&& !__bap_kw_contains_ns6(e.currentTarget, e.relatedTarget)) {
    __bap_kw_hidelinkset();
  }
}

function __bap_kw_delayhidelinkset() {
  if (ie4||ns6||ns4) {
    __bap_kw_delayhide = setTimeout("__bap_kw_hidelinkset()", 500);
  }
}

function __bap_kw_clearhidelinkset() {
  if (window.__bap_kw_delayhide) {
    clearTimeout(__bap_kw_delayhide);
  }
}

function __bap_kw_highlightmenu(e, state) {
/*
  if (document.all) {
    source_el=event.srcElement;
  } else if (document.getElementById) {
    source_el=e.target;
  }

  if (source_el.className=="__bap_kw_linkitem") {
    source_el.id=(state=="on")? "bap_kw_mouseoverstyle" : "";
  } else {
    while(source_el.id!="bapsitekwpopmenu") {
      source_el=document.getElementById? source_el.parentNode : source_el.parentElement;
      if (source_el.className=="bap_kw_menuitem") {
        source_el.id=(state=="on")? "bap_kw_mouseoverstyle" : "";
      }
    }
  }
*/
}

/*
if (ie4||ns6)
document.onclick=hidemenu
*/
