


// 2009-06-07 v00.11 Christian Schildwaechter, memomo.net
	function add(letter) {
		input = document.box.elements[0];

		if (window.getSelection) { // W3C range: Gecko, Webkit, Opera
			var start     = input.selectionStart;
			var before    = input.value.substring(0, start);
			var after     = input.value.substring(start, input.value.length);

			input.value   = before + letter + after;
			input.focus();
			start++;
			input.setSelectionRange(start, start);
		}
		else if (input.createTextRange) { // MS text range: IE
			input.focus();

			// get cursor position
			var range = document.selection.createRange().duplicate()
			range.moveEnd('character', input.value.length)
			if (range.text == '') {
			 	var start =  input.value.length }
			else {
				var start =  input.value.lastIndexOf(range.text)
			}

			// update field content
			var before    = input.value.substring(0, start);
			var after     = input.value.substring(start, input.value.length);
			input.value   = before + letter + after;

			// move cursor and focus field
			new_range     = input.createTextRange()
			new_range.collapse(true);
		    new_range.move('character', ++start);
		    new_range.select(); // needed?
			input.focus();      // needed?
		} 
		else { // other browsers, append at the end
			input.value = input.value + letter;
		}
		input.focus();
	}

	function showkeyboard() {
		line= ['ÀàÈèÌìÒòÙùÄäŒœÑñ','ÂâÊêÎîÔôÛûÖöÇç¿¡','ÁáÉéÍíÓóÚúÜüß']
		document.write('<'+'table class="keyboard">\n');
		for (j=0; j<line.length; j++) {
			current_line = line[j]; 
			document.write('  <'+'tr>\n');
			for (i=0; i<line[j].length; i++) {
				key = current_line.substring(i,i+1);
				document.write('    <'+'td><'+'button class="keyboard" type="button" value="' + key + '" onClick="add(\''  + key + '\')">' + key + '<'+'/button><'+'/td>\n');
			}
			document.write('<'+'/tr>\n');
		}
		document.write('<'+'/table>\n');
	}

