
var badKeys = new Object();
badKeys.single = new Object();
badKeys.single['13'] = 'Enter outside text fields';
badKeys.alt = new Object();
badKeys.ctrl = new Object();

function checkKeyCode(type, code) {
	if (badKeys[type][code]) {
		return true;
	} else {
		return false;
	}
}

function getKeyText(type, code) {
	return badKeys[type][code];
}

var ie=document.all;
var w3c=document.getElementById&&!document.all;

function keyEventHandler(evt) {
	this.target = evt.target || evt.srcElement;
	this.keyCode = evt.keyCode || evt.which;
	var targtype = this.target.type;
	if (w3c) {
		if (document.layers) {
			this.altKey = ((evt.modifiers & Event.ALT_MASK) > 0);
			this.ctrlKey = ((evt.modifiers & Event.CONTROL_MASK) > 0);
			this.shiftKey = ((evt.modifiers & Event.SHIFT_MASK) > 0);
		} else {
			this.altKey = evt.altKey;
			this.ctrlKey = evt.ctrlKey;
		}
		// Internet Explorer
	} else {
		this.altKey = evt.altKey;
		this.ctrlKey = evt.ctrlKey;
	}

	// Find out if we need to disable this key combination
	var badKeyType = "single";
	if (this.ctrlKey) {
		badKeyType = "ctrl";
	} else if (this.altKey) {
		badKeyType = "alt";
	}
	if (checkKeyCode(badKeyType, this.keyCode)) {
		return cancelKey(evt, this.keyCode, this.target, getKeyText(badKeyType, this.keyCode));
	}
}

function cancelKey(evt, keyCode, target, keyText) {
	if (keyCode==8 || keyCode==13) {
		// Don’t want to disable Backspace or Enter in text fields
		if (target.type == "textbox" || target.type == "textarea") {
			//window.status = "";
			return true;
		}
	}
	if (evt.preventDefault) {
		evt.preventDefault();
		evt.stopPropagation();
	} else {
		evt.keyCode = 0;
		evt.returnValue = false;
	}
	return false;
}

function addEvent(obj, evType, fn, useCapture) {
	// General function for adding an event listener
	if (obj.addEventListener) {
		obj.addEventListener(evType, fn, useCapture);
		return true;
	} else if (obj.attachEvent) {
		var r = obj.attachEvent("on" + evType, fn);
		return r;
	} else {
		alert(evType+" handler could not be attached");
	}
}

function addKeyEvent() {
	// Specific function for this particular browser
	var e = (document.addEventListener) ? 'keypress' : 'keydown';
	addEvent(document,e,keyEventHandler,false);
}

addKeyEvent();
//To disable the right mouse button
//document.oncontextmenu=new Function("return false");
