var key_ctrl_down = false;
var key_shift_down = false;
var key_alt_down = false;

/* Context Menu - menuitem */
function ContextMenu_activateItem( obj ) {
	obj.className = 'menu_over';
}

function ContextMenu_deactivateItem( obj ) {
	obj.className = 'menu';
}

/* Context Menu - global */

function ContextMenu_show() {
	/* Get object to show */
	obj = getElement( 'popupmenu' );
	
	/* Update position */
	newX = mouse_x-5;
	newY = mouse_y-5;
	
	obj.style.left = newX+'px';
	obj.style.top = newY+'px';
	
	/* Update display */
	obj.style.visibility = 'visible';
	obj.style.display = 'block';
}

function ContextMenu_hide() {
	/* Set timer for remove menu */
	timer_contextmenu = setTimeout( 'doHideContextmenu()', 200 );
}

function ContextMenu_keepVisible() {
	/* Remove timer */
	clearTimeout( timer_contextmenu );
}


function doHideContextmenu() {
	/* Get object to show */
	obj = getElement('popupmenu');

	/* Update display */
	obj.style.visibility = 'hidden';
	obj.style.display = 'none';
}

/* Mouse position */
var mouse_x = 0;
var mouse_y = 0;
/* Timer for context menu */
var timer_contextmenu;

/* Used in contextmenu */
function captureMouseMovement( event ) {
	/* Keep track of mouse position */

	/* Test for IE or NS */
	if (document.all) {
		/* IE browser */
		mouse_x = window.event.clientX;
		mouse_y = window.event.clientY;
	} else {
		/* NS browser */
		mouse_x = event.pageX;
		mouse_y = event.pageY;
	}
}

/* Keycodes:
	16: Shift
	17: Ctrl
	18: Alt
*/

/* Used in file view */
function captureKeyDown ( event ) {
	/* Set variable */
	keyPress = 0;

	/* Get keycode */
	if ( document.layers ) {
		keyPress = event.which;
	} else if (document.all) {
		keyPress = window.event.keyCode;
	} else {
		keyPress = event.which;
	}
	
	/* Handle keycode */
	key_shift_down = key_shift_down | (keyPress == 16 );
	key_ctrl_down = key_ctrl_down | (keyPress == 17 );
	key_alt_down = key_alt_down | (keyPress == 18 );
}

function captureKeyUp( event ) {
	/* Set variable */
	keyPress = 0;
	
	/* Get keycode */
	if ( document.layers ) {
		keyPress = event.which;
	} else if (document.all) {
		keyPress = window.event.keyCode;
	} else {
		keyPress = event.which;
	}

	key_shift_down = key_shift_down & (!(keyPress == 16 ));
	key_ctrl_down = key_ctrl_down & (!(keyPress == 17 ));
	key_alt_down = key_alt_down & (!(keyPress == 18 ));
}

/* Set capture for mouse & keyboard*/
/* Test for IE or NS */
if (document.layers) {
	/* NS < 6 browser */
	document.captureEvents(Event.MOUSEMOVE | Event.KEYDOWN | Event.KEYUP);
	document.onmousemove = captureMouseMovement;
	document.onkeydown = captureKeyDown;
	document.onkeyup = captureKeyUp;
} else if (document.all) {
	/* IE browser */
	document.onmousemove = captureMouseMovement;
	document.onkeydown = captureKeyDown;
	document.onkeyup = captureKeyUp;
} else {
	/* NS >= 6 browser */
	document.onmousemove = captureMouseMovement;
	document.onkeydown = captureKeyDown;
	document.onkeyup = captureKeyUp;
}