var
	keyboardCaught = 0;
	
function inputChange(el, force, url, e) {
	d = new Date();
	t = d.getTime();
	
	if (!el)
		return;
	if (force || (el.lchva != el.value)) {
		keynum = 0;
		if (e) {
			keynum = e.keyCode;
			if (!keynum)
				keynum = e.which;
		}
		if ((!el.lchev) || (t - el.lchev >= 1000) || (keynum == 13) || (keynum == 9)) {
			el.tmt = '';
			messageREWAD(url, 'value='+encodeURIComponent(el.value), null);
			if (keynum == 13)
				messageREWAD(url, 'enter=1&value='+encodeURIComponent(el.value), null);
			el.lchev = t;
			el.lchva = el.value;
		}
		else if (!el.tmt) {
			if (!el.added) {
				inputs.push(el);
				el.added = 1;
			}
			el.tmtText = 'inputChange(dgbi(\''+el.id+'\'), 0, \''+url+'\', 0)';
			el.tmt = setTimeout('inputChange(dgbi(\''+el.id+'\'), 0, \''+url+'\', 0)', 500);
		}
	}
}

function keyboardCatch() {
	keyboardCaught = 1;
	document.body.onkeydown = onKeyDown;
}

function keyboardRelease() {
	keyboardCaught = 0;
	document.body.onkeydown = doNothing;
}

function onKeyDown(eventeg) {
	if (eventeg) ev = eventeg;
	else ev = event;
	
	if (window.event) {
		keynum = ev.keyCode;
	} else if (ev.which) {
		keynum = ev.which;
	}
	
	messageREWAD('/:/'+controller+'/keydown', 'key='+keynum);
}
