var linkadd = '';

function registerKey(key,url) {
        if (url != null)
                keyArray[key] = url + linkadd;
        else
                keyArray[key] = null;
}

function registerKeyAction(key,action) {
        keyAction[key] = action;
}

document.onkeydown = function (evt) {
        evt = evt || window.event;
        keycode = evt.keyCode || evt.which;   
        tag = (evt.srcElement) ? evt.srcElement.tagName : evt.target.nodeName;
	if (tag != null)
	        tagname = tag.toUpperCase();
	else
		tagname = '';
 
        // disable for form elements && input
        if (tagname == 'INPUT' || tagname == 'TEXTAREA' || tagname == 'SELECT')
                return(true);

        // evt.ctrlKey
        // evt.shiftKey
        // evt.altKey

        var index = numindex = '';
        if (evt.ctrlKey) index = index + 'CTRL+';
        if (evt.shiftKey) index = index + 'SHIFT+';
        if (evt.altKey) index = index + 'ALT+';
        numindex = index + keycode
        index = index + String.fromCharCode(keycode);

        if (keyArray[index] != null) {
                document.location = keyArray[index];
                return(false);

        }else if (keyArray[numindex] != null) {
                document.location = keyArray[numindex];
                return(false);

        }else if (keyAction[index] != null) {
                eval(keyAction[index]);
                return(false);

        }else if (keyAction[numindex] != null) {
                eval(keyAction[numindex]);
                return(false);
        }

        //testing purpose only
        //alert(index);

        return(true);
}

var keyArray = new Array();
var keyAction = new Array();

