/* keystroke 
 * Copyright (C) 2009 Brian Pittman - http://dreamer.me/
 * GPL (GPL-license.txt) license.
 *
 * This should probably be encapsulated in some sort of object or something
 */

function addListener(a,b,c,d){if(a.addEventListener){a.addEventListener(b,c,d);return true;}else if(a.attachEvent){var e=a.attachEvent("on"+b,c);return e;}else{alert("Handler could not be attached");}}

function bind(a,b,c,d){return window.addListener(a,b,function(){d.apply(c,arguments)});}

function handleKeystroke(evt) 
{              
	if (disable_key_shortcuts) return;
	
	// Grab the cross browser event
	if( !evt ) evt = window.event;
	// Character code of key pressed
	var asc = !evt.keyCode ? (!evt.which ? evt.charCode : evt.which) : evt.keyCode;
	// ASCII character of above code
	var chr = String.fromCharCode(asc).toLowerCase();
	for (var i in this)
	{
	  if (asc == i)
	  {
		 this[i](evt);
		 break;
	  }
	}
}
function cancelEvent(evt)
{
	evt.cancelBubble = true;
	evt.returnValue = false;
	if (evt.preventDefault) evt.preventDefault();
	if (evt.stopPropagation) evt.stopPropagation();
	return false;
}

var disable_key_shortcuts = false;

var keyMap = new Array();
var KEY_ENTER = 13;
var KEY_ESCAPE = 27;
var KEY_PAGE_DOWN  = 34;
var KEY_PAGE_UP    = 33;
var KEY_ARROW_DOWN = 40;
var KEY_ARROW_UP   = 38;
var KEY_ARROW_LEFT   = 37;
var KEY_ARROW_RIGHT   = 39;
var KEY_ZERO = 48;
var KEY_NUMPAD_ZERO = 96;
var KEY_LETTER_A = 65;
var KEY_LETTER_a = 97;


		//function pageUp(evt)
		//{
			//alert("You clicked UP but I am canceling that request");
			//cancelEvent(evt);
		//}
		// Add the keydown listner to the document object for global capture
