var arKeysHandled = new Array();

function HandleKey(intKeyCode, bShift, bAlt, bCtrl, strActionControl)
{
	var ar = new Array();
	ar.push(intKeyCode);
	ar.push(bShift);
	ar.push(bAlt);
	ar.push(bCtrl);
	ar.push(strActionControl);
	arKeysHandled.push(ar);
}

function UnhandleKey(intKeyCode)
{
	for( var i=0; i<arKeysHandled.length; i++ )
		if( arKeysHandled[i][0] == intKeyCode )
		{
			arKeysHandled.splice( i, 1 );
			i--;
		}
}


function getKey(e)
{
	if( e == null )
	 return 0;

	if(window.event) 
	{
		return e.keyCode; 
	}
	else if(e.which) 
	{
		return e.which; 
	}
	else 
	{
		return 0;
	}
}

function keyAlensaHandler(e) 
{
	Key = getKey(e);
	if (0 != Key)
	{
		if (0 < arKeysHandled.length)
		{
			for(i = 0; i < arKeysHandled.length; i++)
			{
				var ar = arKeysHandled[i];
				var intKeyCode = ar[0];
				var bShift = ar[1];
				var bAlt = ar[2];
				var bCtrl = ar[3];
				var strActionControl = ar[4];
				
				if( browser.isIE )
				{
					if ((intKeyCode == Key) && (bShift == window.event.shiftKey) && (bAlt == window.event.altKey) && (bCtrl == window.event.ctrlKey))
					{
						var s = document.getElementById(strActionControl).onclick; 
						if( s != null )
							eval(s + '; anonymous();');  
					}
				}
				if( browser.isNS )
				{
				/*
					alert( intKeyCode );
					alert( Key );
					
					alert( bShift );
					alert( ( ( e.modifiers & Event.SHIFT_MASK ) == 1 ) );
					
					alert( bAlt );
					alert( e.modifiers & Event.ALT_MASK );
					

					alert( bCtrl );
					alert( e.modifiers & Event.CONTROL_MASK); */
					
					if( intKeyCode == Key )
						if( bShift == ( e.modifiers & Event.SHIFT_MASK == 1 ) ) 
							if( bAlt == ( e.modifiers & Event.ALT_MASK == 1 ) ) 
								if( bCtrl == ( e.modifiers & Event.CONTROL_MASK  == 1 ) )
								{
									alert( 'not implemented!!!');
								}
				}
			}
		}
	}
}

function HandleEnter(strControl)
{
	HandleKey(13, false, false, false, strControl);
}

function HandleEnterMultiline()
{
	if( window.event.keyCode == 13 )
		window.event.cancelBubble = true;
}

function SubmitOnEnter(e, strControl)
{
	Key = getKey(e);
	if (13 == Key)
	{
        if (browser.isIE) 
        {
            var s = document.getElementById(strControl).onclick; 
		    eval(s + '; anonymous();');  
			return false;	
        }

        if (browser.isNS) 
        {
            var s = document.getElementById(strControl);
            var str = s.attributes ["onclick" ].nodeValue;
            str = str.replace( "return ", "")
		    eval( str );  	
			return false;
        }
	}	
	return true;
}

function anonymous()
{
    return true;
}