// much code to create this was borrowed and implemented from code that was/is featured on quirksmode.com // The infomation on that website has been invaluable for a lot of purposes. thanks! document.writeln(''); document.writeln(''); document.oncontextmenu=checkMouseDown; var use_my_menu = 1; function disablemenu() { document.getElementById('context_menu').style.display = "none"; use_my_menu = 0; } function killEvents(e) { if (!e) { var e = window.event; e.cancelBubble = true; } if (e.stopPropagation) { e.stopPropagation(); } } var menuVisible = 0; function checkMouseDown(e) { if (!use_my_menu) { return true; } var rightclick, leftclick; if (!e) { var e = window.event; } if (e.which) { rightclick = (e.which == 3); } else if (e.button) { rightclick = (e.button == 2); } if (e.which) { leftclick = (e.which == 1); } else if (e.button) { leftclick = (e.button == 1); } var theTarget = (window.event) ? e.srcElement : e.target; menuVisible = (document.getElementById('context_menu').style.display == ""); if (rightclick) { document.getElementById('context_menu').style.display = ""; var posx = 0; var posy = 0; if (!e) { var e = window.event; } if (e.pageX || e.pageY) { posx = e.pageX; posy = e.pageY; document.getElementById('context_menu').style.left = posx+"px"; document.getElementById('context_menu').style.top = posy+"px"; } else if (e.clientX || e.clientY) { posx = e.clientX + document.body.scrollLeft; posy = e.clientY + document.body.scrollTop; document.getElementById('context_menu').left = posx; document.getElementById('context_menu').top = posy; } killEvents(e); return false; } else if (leftclick && menuVisible) { if (theTarget.className != 'context_menu_item') { document.getElementById('context_menu').style.display = "none"; } killEvents(e); return true; } else if (leftclick && !menuVisible) { killEvents(e); return true; } else { return false; } return false; } if (parseInt(navigator.appVersion)>3) { document.onmousedown = checkMouseDown; if (navigator.appName=="Netscape") { document.captureEvents(Event.MOUSEDOWN); } }