/*** Copyright (c) 2010 More Software Solutions AS ***/

var numKeypadTargetField = null;

function addNumKeypadDigit(digit, maxlength) {
	if (document.getElementById('numkeypadvalue').value.length < maxlength) {
		document.getElementById('numkeypadvalue').value = document.getElementById('numkeypadvalue').value + digit;
	}
}

function deleteNumKeypadDigit() {
	var newValue = '';
	var currentValue = document.getElementById('numkeypadvalue').value;
	if (currentValue.length > 0) newValue = currentValue.substring(0, currentValue.length - 1);
	document.getElementById('numkeypadvalue').value = newValue;
}

function closeNumKeypad() {
	if (numKeypadTargetField) {
		numKeypadTargetField.value = document.getElementById('numkeypadvalue').value;
	}
	
	var keypadDiv = document.getElementById('numkeypaddiv');
	if (keypadDiv) keypadDiv.style.display = 'none';
}

function cancelNumKeypad() {
	var keypadDiv = document.getElementById('numkeypaddiv');
	if (keypadDiv) keypadDiv.style.display = 'none';
}

function showNumKeypad(field, maxlength, offsetX, offsetY) {
	if (!field) return;
	
	numKeypadTargetField = field;
	
	if (!offsetX) offsetX = 0;
	if (!offsetY) offsetY = 21;

	var keypadHtml = '<table border="0" style="background-color:#cccccc; border: solid 1px #555555;"><tr><td><table border="0" width="100%"><tr><td colspan="3"><input type="text" id="numkeypadvalue" size="14" maxlength="' + maxlength + '" value="' + field.value + '"/></td></tr>';
	keypadHtml += '<tr>';
	for (var i = 1; i <= 3; i ++) keypadHtml += '<td><button class="keypadbutton" onclick="addNumKeypadDigit(' + i + ',' + maxlength + ');">' + i + '</button></td>';
	keypadHtml += '</tr><tr>';
	for (var i = 4; i <= 6; i ++) keypadHtml += '<td><button class="keypadbutton" onclick="addNumKeypadDigit(' + i + ',' + maxlength + ');">' + i + '</button></td>';
	keypadHtml += '</tr><tr>';
	for (var i = 7; i <= 9; i ++) keypadHtml += '<td><button class="keypadbutton" onclick="addNumKeypadDigit(' + i + ',' + maxlength + ');">' + i + '</button></td>';
	keypadHtml += '</tr>';
	keypadHtml += '<tr><td>&nbsp;</td><td><button class="keypadbutton" onclick="addNumKeypadDigit(0,' + maxlength + ');">0</button></td><td><button class="keypadbutton" onclick="deleteNumKeypadDigit();">&lt;-</button></td></tr>';
	keypadHtml += '</table>';
	keypadHtml += '<table border="0" width="100%">';
	keypadHtml += '<tr><td><button style="width: 50px;" onclick="closeNumKeypad();">OK</button></td><td><button style="width: 50px;" onclick="cancelNumKeypad();">Avbryt</button></td></tr>';	
	keypadHtml += '</table></td></tr></table>';

	var keypadDiv = document.getElementById('numkeypaddiv');
	if (!keypadDiv) {
		keypadDiv = document.createElement('DIV');
		keypadDiv.id = 'numkeypaddiv';
		keypadDiv.style.display='none';
		keypadDiv.style.position='absolute';
		document.body.appendChild(keypadDiv);
	}
	
	keypadDiv.style.left = getAbsolutePosX(field) + offsetX;
	keypadDiv.style.top = getAbsolutePosY(field) + offsetY;
	
	keypadDiv.style.width = 130;
	keypadDiv.style.height = 130;
	keypadDiv.innerHTML = keypadHtml;

	keypadDiv.style.display='block';
}

