var isIE = document.all;
var isNN = !document.all&&document.getElementById;
var isN4 = document.layers;

function checkV(e){
  if (isN4){
    if (e.which==2||e.which==3){
        return false;
    } else {
      return true;
    }
  } else {
    return false;
  }
}

function addEvent(elm, evType, fn, useCapture) {
	if(elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);
		return true;
	} else if (elm.attachEvent) {
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	} else {
		elm['on' + evType] = fn;
	}
	return true;
}

// removes the square border that IE
// insists on adding to checkboxes and radio
function removeCheckBoxBorders()
{
	var el = document.getElementsByTagName("input");
	for (var i=0;i<el.length;i++) {
		var type = el[i].getAttribute("type");
		if((type=="checkbox")||(type=="radio")) {
			el[i].style.border = "none";
		}
	}
}

// Links in a Standards-Compliant World
function externalLinks() { 
 if (!document.getElementsByTagName) return; 
 var anchors = document.getElementsByTagName("a"); 
 for (var i=0; i<anchors.length; i++) { 
   var anchor = anchors[i]; 
   if (anchor.getAttribute("href") && 
       anchor.getAttribute("rel") == "external") 
     anchor.target = "_blank"; 
 } 
}

addEvent(window, 'load', removeCheckBoxBorders, false);
addEvent(window, 'load', externalLinks, false);
if (isIE||isNN){
  document.oncontextmenu=checkV;
} else {
  document.captureEvents(Event.MOUSEDOWN || Event.MOUSEUP);
  document.onmousedown=checkV;
}
