/*
 * Protect Key Event
 * 2008.07 KiHyun Kim
 */

( function() {
	var protectSelect = function(e) {
		try {
			var obj	= ( (window.event) ? window.event.srcElement : e.target );
			if ((obj.type=='text')||(obj.type=='textarea')||(obj.type=='file')||(obj.type=='password')) return true;
			if (obj.getAttribute('allowSelect')=='1') return true;
			return false;
		}catch(x){
			return true;
		}
	}
	var protectKey = function (e) {
		var obj		= ( (window.event) ? window.event.srcElement : e.target );
		var code	= ( (window.event) ? event.keyCode : e.which );
		var ctrl	= ( (window.event) ? event.ctrlKey : e.ctrlKey );
		var alt		= ( (window.event) ? event.altKey : e.altKey );
		if ((alt == true) && (code >= 37 && code <= 40)) return false;
		if (protectSelect(e)) {
			if( (ctrl == true && (code == 78 || code == 82)) || (code >= 112 && code <= 123)) {
				if (window.event) { event.keyCode = 0; event.cancelBubble = true; event.returnValue = false; } 
				return false;
			}
		}else{
			if( (ctrl == true && (code == 78 || code == 82)) || (code >= 112 && code <= 123) || code == 8) {
				if (window.event) { event.keyCode = 0; event.cancelBubble = true; event.returnValue = false; } 
				return false;
			}
		}
		return true;
	}
	document.ondblclick		= protectSelect;
	document.onmousedown	= protectSelect;
	document.oncontextmenu	= protectSelect;
	document.onselectstart	= protectSelect;
	document.onkeydown		= protectKey;
} )();

/*
( function() {
	var protectLink = function(e) {
		var button	= ( (window.event) ? event.button : e.button );
		var ctrl	= ( (window.event) ? event.ctrlKey : e.ctrlKey );
		var shift	= ( (window.event) ? event.shiftKey : e.shiftKey );
		if (window.event) {
			if ((button == 1) && (!ctrl) && (!shift)) { return true; }
		}else{
			if ((button == 0) && (!ctrl) && (!shift)) { return true; }
		}
		if (window.event) { event.cancelBubble = true; event.returnValue = false; }
		alert("入力されたマウスのクリックはご使用できません。");
		return false;
	}
	var protectLinkInit = function(e) {
		var objLinks = document.getElementsByTagName('A');
		for (var i=0; i < objLinks.length; i++) {
			if (objLinks[i].attachEvent) {
				objLinks[i].attachEvent('onmousedown', protectLink);
			}else if (objLinks[i].addEventListener) {
				objLinks[i].addEventListener('mousedown', protectLink, false);
			}
		}
	}
	if (window.attachEvent) {
	    window.attachEvent('onload', protectLinkInit);
	}else if (window.addEventListener) {
		window.addEventListener('load', protectLinkInit, false);
	}
} )();
*/
