Hello all,

I am creating a simulation in which the Function keys are used.

I have stolen some Javascript to block the F1 --> F12 keys...
...but it ONLY works when the HTML page is in focus. When the SWF is in focus doesn't work.

Does anybody have any ideas?
~ Thanks!!

Code:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
<link rel="stylesheet" type="text/css" href="captivate.css" />
<script src="standard.js" type="text/javascript"></script>

<script type="text/javascript">
	var nonChar = false;
	var Combo = false;
	
	document.onhelp = new Function("return false;");
	window.onhelp = new Function("return false;");
	
	document.onkeydown = function(e) { handleKeys(e); }
        	
	function handleKeys(e) 
	{
		isScrolling = false;
		ScrollingX = false;
		ScrollingY = false;

		var character;
		var evt = (e) ? e : window.event;       //IE reports window.event not arg

		if (!evt.stopPropagation) 
		{
			evt.stopPropagation = function() { this.cancelBubble = true; };
			evt.preventDefault = function() { this.returnValue = false; };
		}

		if (!evt.stop) 
		{
			evt.stop = function() {
				this.stopPropagation();
				this.preventDefault();
			};
		}

		if (evt.type == "keydown") {
			character = evt.keyCode;
			if (character < 16 ||                    // non printables
				(character > 16 && character < 32) ||     // avoid shift
				(character > 32 && character < 41) ||     // navigation keys
				character == 46 ||                   // Delete Key (Add to these if you need)
				character == 45 ||                   // Insert Key
				(character > 111 && character < 124)    // F1 to F12
			) {
				nonChar = true;
				Keyhandler_Meta(character, evt, e);     // function to handle non Characters
			} else
				nonChar = false;
		}
		else 
		{                                       // This is keypress
			if (nonChar) return;                // Already Handled on keydown
			character = (evt.charCode) ? evt.charCode : evt.keyCode;
			if (character > 31 && character < 256)        // safari and opera
				if ((evt.ctrlKey && evt.altKey) || (!evt.ctrlKey && !evt.altKey)) //allow AltGr
				Keyhandler_Char(character, evt);
		}
	}
	function Keyhandler_Char(character, evt) 
	{
		var A = String.fromCharCode(character);
		evt.stop();
	}
	
	function Keyhandler_Meta(Meta, evt, e)
	{
		if (!evt.kill)
		{
			evt.kill = function()
			{
				if (e == undefined) evt.keyCode = false; //Kill IE6+7
				evt.stop();
				evt.returnValue = false;
			}
		}
		switch (Meta)
		{
			case 116: //F5
			case 117: //F6
			case 115: //F4
			case 114: //F3
			case 113: //F2
			case 118: //F7
			case 119: //F8
			case 120: //F9
			case 121: //F10
			case 122: //F11
			case 123: //F12
			case 112: //F1 (note: F1 can't be disabled in IE7)
				evt.kill();
				window.focus();
				break;
			default:
				break;
		}
		return false;
	}

</script>
</head>

<body>
	<div id="CaptivateContent" onkeydown="blockit">&nbsp;</div>

	<script type="text/javascript">
	   var so = new SWFObject("untitled1.swf", "Captivate", "1025", "799", "10", "#CCCCCC");
		so.addParam("quality", "high");
		so.addParam("name", "Captivate");
		so.addParam("id", "Captivate");
		so.addParam("wmode", "window");
		so.addParam("bgcolor","#f5f4f1");
		so.addParam("menu", "false");
		so.addParam("AllowScriptAccess","always");
		so.addVariable("variable1", "value1");
		so.setAttribute("redirectUrl", "http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash");
		so.write("CaptivateContent");
	</script>
	  
	<script type="text/javascript">
		document.getElementById('Captivate').focus();
		document.Captivate.focus();
	</script>

</body>
</html>