document.onkeydown = keyDown;
document.onkeyup = keyUp;

function touchAlt(Event) {
  if (window.event) {
    return (window.event.altKey);
  } else {
    return (Event.altKey);
  }
} 

function touchCtrl(Event) {
  if (window.event) {
    return (window.event.ctrlKey);
  } else {
    return (Event.ctrlKey);
  }
} 

function keyDown(Event)
{
	var key = 0;
	try{
		key = event.keyCode;
	}
	catch(e){
		try{
			key = Event.which;  
		}
		catch(e){
		  key=0; // no key function
		}
	}
	if (touchCtrl(Event) && touchAlt(Event))	alert("Alt Gr")
	if (key == 16 || key == 17) settings.shiftKey = true;
	if (key==34 || key==99) { step_right(); OMOver(document.getElementById("ncp_3"))}
	if (key==33 || key==105) { step_left(); OMOver(document.getElementById("ncp_2"))}
	if (!settings.shiftKey && (key == 39 || key == 102 || key == 54)) {	 next_move(); OMOver(document.getElementById("ncp_4"))}
  if (key == 35 || key == 97)  { end_move(); OMOver(document.getElementById("ncp_5"))}
  if (key == 40 || key == 98)  { end_of_variant(); OMOver(document.getElementById("ncp_5"))}
  if (!settings.shiftKey && (key == 37 || key == 100 || key == 52))	{ prev_move(); OMOver(document.getElementById("ncp_1"))}
  if (key == 36 || key == 103) { start_move(); OMOver(document.getElementById("ncp_0"))}
  if (key == 38 || key == 104) { start_of_variant(); OMOver(document.getElementById("ncp_0"))}
  if (key==101) { next_variant();}
  if (key==107) zoomBoard(true);
  if (key==109) zoomBoard(false);
}

function keyUp(Event)
{
  
	var key = 0;
	try{
		key = event.keyCode;
	}
	catch(e){
		try{
			key = Event.which;  
		}
		catch(e){
		  key=0; // no key function
		}
	}
	if (key == 16 || key == 17) settings.shiftKey = false;
	if (key==34 || key==99) { OMOut(document.getElementById("ncp_3"));}
	if (key==33 || key==105) { OMOut(document.getElementById("ncp_2"))}
	if (!settings.shiftKey && (key == 39 || key == 102 || key == 54)) {	 OMOut(document.getElementById("ncp_4"))}
  if (key == 40 || key == 98 || key == 97)  { OMOut(document.getElementById("ncp_5"))}
  if (!settings.shiftKey && (key == 37 || key == 100 || key == 52))	{ OMOut(document.getElementById("ncp_1"))}
  if (key == 38 || key==104 || key==103) { OMOut(document.getElementById("ncp_0"))}

}

var ie=document.all;
var nn6=document.getElementById&&!document.all;

var isdrag=false;
var x,y;
var dobj;

function movemouse(e)
{
  if (isdrag)
  {
    leftValue = nn6 ? tx + e.clientX - x : tx + event.clientX - x;
    if (leftValue>=10 && leftValue<=210)dobj.style.left = leftValue+"px";
//    dobj.style.top  = nn6 ? ty + e.clientY - y +"px": ty + event.clientY - y+"px";
    return false;
  }
}

function selectmouse(e) 
{
  var fobj       = nn6 ? e.target : event.srcElement;
  var topelement = nn6 ? "HTML" : "BODY";

  while (fobj.tagName != topelement && fobj.className != "dragme")
  {
    fobj = nn6 ? fobj.parentNode : fobj.parentElement;
  }

  if (fobj.className=="dragme")
  {
    isdrag = true;
    dobj = fobj;
    tx = parseInt(dobj.style.left+0);
    ty = parseInt(dobj.style.top+0);
    x = nn6 ? e.clientX : event.clientX;
    y = nn6 ? e.clientY : event.clientY;
    document.onmousemove=movemouse;
    return false;
  }
}

