jq(window).load(function() {
	var $ = jq;
	//return 0;
	var arrX = [
		7, /*oben*/
		7,
		7,
		7,
		7,
		7,
		7,
		7,
		7,
		7,
		7,
		7,
		7,
		7,
		7,
		7,
		34,
		34,
		34,
		34,
		34,
		34,
		34,
		34,
		34,
		34,
		34,
		34,
		34,
		34,
		34,
		34,
		34,
		61,
		61,
		61,
		61,
		61,
		61,
		61,
		61,
		61,
		61,
		61,
		61,/*letzte*/
		88,
		88,
		88,
		88,
		88,
		88,
		88,
		88,
		88,
		88,
		88,
		115
	];
	
	var arrY = [
		5,
		30,
		56,
		82,
		108,
		134,
		159,
		185,
		211,
		236,
		262,
		288,
		314,
		374,
		400,
		426,
		6,
		32,
		58,
		83,
		109,
		136,
		161,
		186,
		211,
		238,
		263,
		289,
		315,
		332,
		426,
		400,
		374,
		19,
		45,
		71,
		96,
		122,
		147,
		173,
		199,
		224,
		250,
		277,
		302,
		31,
		57,
		83,
		109,
		135,
		161,
		187,
		212,
		238,
		264,
		289,
		81
	];
	/*
	var keys = [
		/*evtl. Die Nummern 
		1662,
		1633,
		1634,
		1635,
		1638,
		1639,
		1640,
		1641,
		1632,
		1590,
		1589,
		1579,
		1602,
		1601,
		1594,
		1593,
		1607,
		1582,
		1581,
		1580,
		1670,
		13, /*vllt. Backspace??
		1588,
		1587,
		1740,
		1576,
		1604,
		15753,
		1578,
		1606,
		1605,
		1705,
		13, /*oder return?
		1592,
		1591,
		1586,
		1585,
		1584,
		1583,
		1574,
		1608,
		32]; */
	var keys = [
		/*oben*/
		1633,
		1634,
		1635,
		1636,
		1637,
		1638,
		1639,
		1640,
		1641,
		1632,
		33,
		1567 ,
		8,
		64,
		41,
		40,
		
		/*2.*/
		1590,
		1589,
		1579,
		1602,
		1601,
		1594,
		1593,
		1607,
		1582,
		1581,
		1580,
		1670,
		1570,
		10, /*vllt. Backspace??*/
		37,
		47,
		58,
		/*3.*/
		1662,
		1588,
		1587,
		1740,
		1576,
		1604,
		1575,
		1578,
		1606,
		1605,
		1705,
		1711,
		/*4.*/
		1649,
		1592,
		1591,
		1688 ,
		1586,
		1585,
		1584,
		1583,
		1608,
		46,
		1644,
		20]; /*Space*/
	//alert(keys.length);
	//$('textarea').wrap('<bdo dir="rtl"></bdo>');
	//alert($('.keyboard').currentStyle.hasLayout);;
	$('.keyboard_container').append('<div class="keyboard"></div>');
	for(var i = 0; i < arrX.length; i++) {
		$('.keyboard').append('<div onclick="javascript:insertCode('+keys[i]+')" class="button key_'+keys[i]+'" style="top: '+(arrX[i]+4)+'px; left: '+(arrY[i]+4)+'px; background-position: -'+(arrY[i]+4)+'px -'+(arrX[i]+4)+'px">'+'&nbsp;'+/*String.fromCharCode(keys[i])+*/'</div>');
	}
	/*
	var t = '';
	for (var i = 0; i < 4000; i++) {
		t += i + ' ' + String.fromCharCode(i) + '<br>';
	}
	$('.keyboard_handler').text('');
	$(document).focus();
	var t = '';
	$('.test').html(t);
		for (var i = 1000; i < 3000; i++) {
			
		t += i + ' ' + String.fromCharCode(i) + '<br>';
	}
	$('.test').html(t);
	*/
});

function getRangeObject(selectionObject) {
	if (selectionObject.getRangeAt)
		return selectionObject.getRangeAt(0);
	else { // Safari!
		var range = document.createRange();
		range.setStart(selectionObject.anchorNode,selectionObject.anchorOffset);
		range.setEnd(selectionObject.focusNode,selectionObject.focusOffset);
		return range;
	}
}

function insertCode(code) {
	var $ = jq,
		input = $('textarea');
	input.focus();
	//alert(code);
	var keyString = String.fromCharCode(code);
	//console.log(input);
	
	
	/*
	var sel;
	if(window.getSelection) { sel = window.getSelection();}
	else {sel = document.selection.createRange();}
	//alert(sel);
	
	var range = getRangeObject(sel);
	//alert(sel.getRangeAt(0).startOffset);
	console.log(range);
	*/
	
	switch(code) {
		/*Space*/
		case 20: 
			input.val(input.val()+' ');
		break;
		/*backspace*/
		case 8:
			input.val(input.val().substr(0, input.val().length-1));
		break;
		case 10:
			input.val(input.val() + "\n");
		break;
		default:
			input.val(input.val() + keyString);
			//alert(keyString);
		break;
 
	}
	return false;
}

