﻿// JavaScript Document

 /* ՈՒՇԱԴՐՈՒԹՅՈՒՆ
Այս սկրիպտի հեղինակը Արտակ Հարությունյանն է (Harutyunyan.Artak[at]gmail.com)։ Բացառիկ իրավունքները պատկանում են www.akumb.am-ին։ Առանց http://hayeren.akumb.am-ին հղում անելու և հեղինակային իրավունքի մասին այս գրառումը պահպանելու, այս սկրիպտն օգտագործել չի թույլատրվում: Սկրիպտի մեջ սխալներ գտնելու կամ կատարելագործելու դեպքում խնդրում ենք տեղեկացնել։ */

var smallLetters = new Array(127);
var bigLetters = new Array(127);
var capsLockPressed = false;

smallLetters [96] = 96;
smallLetters [49] = 49;
smallLetters [50] = 50;
smallLetters [51] = 51;
smallLetters [52] = 52;
smallLetters [53] = 53;
smallLetters [54] = 54;
smallLetters [55] = 55;
smallLetters [56] = 56;
smallLetters [57] = 57;
smallLetters [48] = 48;
smallLetters [45] = 45;
smallLetters [61] = 61;
smallLetters [113] = 113;
smallLetters [119] = 119;
smallLetters [101] = 101;
smallLetters [114] = 114;
smallLetters [116] = 116;
smallLetters [121] = 121;
smallLetters [117] = 117;
smallLetters [105] = 105;
smallLetters [111] = 111;
smallLetters [112] = 112;
smallLetters [91] = 91;
smallLetters [93] = 93;
smallLetters [92] = 92; 
smallLetters [ 97] = 97;
smallLetters [115] = 115;
smallLetters [100] = 100;
smallLetters [102] = 102;
smallLetters [103] = 103;
smallLetters [104] = 104;
smallLetters [106] = 106;
smallLetters [107] = 107;
smallLetters [108] = 108;
smallLetters [59] = 59;
smallLetters [39] = 39;
smallLetters [122] = 122;
smallLetters [120] = 120;
smallLetters [99] = 99;
smallLetters [118] = 118;
smallLetters [98] = 98;
smallLetters [110] = 110;
smallLetters [109] = 109;
smallLetters [44] = 44;
smallLetters [46] = 46;
smallLetters [47] = 47;

bigLetters [96] = 126;
bigLetters [49] = 33;
bigLetters [50] = 64;
bigLetters [51] = 35;
bigLetters [52] = 36;
bigLetters [53] = 37;
bigLetters [54] = 94;
bigLetters [55] = 38;
bigLetters [56] = 42;
bigLetters [57] = 40;
bigLetters [48] = 41;
bigLetters [45] = 95;
bigLetters [61] = 43;
bigLetters [113] = 81;
bigLetters [119] = 87;
bigLetters [101] = 69;
bigLetters [114] = 82;
bigLetters [116] = 84;
bigLetters [121] = 89;
bigLetters [117] = 85;
bigLetters [105] = 73;
bigLetters [111] = 79;
bigLetters [112] = 80;
bigLetters [91] = 123;
bigLetters [93] = 125;
bigLetters [92] = 124;
bigLetters [ 97] = 65;
bigLetters [115] = 83;
bigLetters [100] = 68;
bigLetters [102] = 70;
bigLetters [103] = 71;
bigLetters [104] = 72;
bigLetters [106] = 74;
bigLetters [107] = 75;
bigLetters [108] = 76;
bigLetters [59] = 58;
bigLetters [39] = 34;
bigLetters [122] = 90;
bigLetters [120] = 88;
bigLetters [99] = 67;
bigLetters [118] = 86;
bigLetters [98] = 66;
bigLetters [110] = 78;
bigLetters [109] = 77;
bigLetters [44] = 60;
bigLetters [46] = 62;
bigLetters [47] = 63;

function changeKeyColor(keyId)
{
		document.getElementById("key"+codeToSmall(keyId)).className = "stKeyPressed";
		setTimeout("changeKeyColor1("+codeToSmall(keyId)+")", 100);
}

function changeKeyColor1(keyId)
{
		document.getElementById("key"+keyId).className = "stKey";
}



function virtualKeyboard(keyNumber)
{
	if('scrollTop' in textArea) 
		var scrollTop=textArea.scrollTop;

		if (capsLockPressed && (keyNumber != "13") && (keyNumber != "32")) 
		keyNumber = bigLetters[keyNumber];
		if (!armFlag.checked) {
			symb = layouts[0][keyNumber];
		}
		else {
			symb = layouts[layoutBox.value][keyNumber];
		}

	var start=textArea.selectionStart;
	if(start != null){
		if (keyNumber == "32" || keyNumber == "13") 
			textArea.value=textArea.value.substring(0, start) + String.fromCharCode(keyNumber) +  textArea.value.substring(textArea.selectionEnd);  
		else
			textArea.value=textArea.value.substring(0, start) + symb +  textArea.value.substring(textArea.selectionEnd); 

		textArea.setSelectionRange(++start,start);
		if('scrollTop' in textArea)
			textArea.scrollTop=scrollTop;
	}
	else
	{
		textArea.focus();
		var sel = document.selection;
		var rng = sel.createRange();
		rng.colapse;
		if((sel.type == "Text" || sel.type == "None") && rng != null)
		{
			if (keyNumber == "32" || keyNumber == "13")
				rng.text = String.fromCharCode(keyNumber);
			else
				rng.text = symb;
		}
		if('scrollTop' in textArea)
			textArea.scrollTop=scrollTop;
	}
	textArea.focus();
}

function fCaps(code)
{
	if (capsLockPressed)
		return bigLetters[code];	
	else
		return smallLetters[code];
}

function codeToSmall(code)
{
	for (i = 0; i < 127; i++)
	  if (bigLetters[i] == code || smallLetters[i] == code)
	    return i;
	return code;
}




function addTextarea(textareaNeme){
	textArea = document.getElementById(textareaNeme);
	handleKeyPress();
	handleKeyDown();
}

function capsState(capsLockState)
{
	if (capsLockState == "false")
		capsLockPressed = false;
	else
		capsLockPressed = true;
}

function do1() {
	if(layouts == null){
		armFlag = document.getElementById('armFlag');
		layoutBox = document.getElementById('layout');
		initLayouts();
	}
	
	if (document.getElementById("armFlag").checked)
		selectedLayout = document.getElementById("layout").value;
	else
		selectedLayout = 0;
		
	
	
	document.getElementById("key96").innerHTML = layouts[selectedLayout][fCaps(96)];
	document.getElementById("key49").innerHTML = layouts[selectedLayout][fCaps(49)];
	document.getElementById("key50").innerHTML = layouts[selectedLayout][fCaps(50)];
	document.getElementById("key51").innerHTML = layouts[selectedLayout][fCaps(51)];
	document.getElementById("key52").innerHTML = layouts[selectedLayout][fCaps(52)];
	document.getElementById("key53").innerHTML = layouts[selectedLayout][fCaps(53)];
	document.getElementById("key54").innerHTML = layouts[selectedLayout][fCaps(54)];
	document.getElementById("key55").innerHTML = layouts[selectedLayout][fCaps(55)];
	document.getElementById("key56").innerHTML = layouts[selectedLayout][fCaps(56)];
	document.getElementById("key57").innerHTML = layouts[selectedLayout][fCaps(57)];
	document.getElementById("key48").innerHTML = layouts[selectedLayout][fCaps(48)];
	document.getElementById("key45").innerHTML = layouts[selectedLayout][fCaps(45)];
	document.getElementById("key61").innerHTML = layouts[selectedLayout][fCaps(61)];

	document.getElementById("key113").innerHTML = layouts[selectedLayout][fCaps(113)];
	document.getElementById("key119").innerHTML = layouts[selectedLayout][fCaps(119)];
	document.getElementById("key101").innerHTML = layouts[selectedLayout][fCaps(101)];
	document.getElementById("key114").innerHTML = layouts[selectedLayout][fCaps(114)];
	document.getElementById("key116").innerHTML = layouts[selectedLayout][fCaps(116)];
	document.getElementById("key121").innerHTML = layouts[selectedLayout][fCaps(121)];
	document.getElementById("key117").innerHTML = layouts[selectedLayout][fCaps(117)];
	document.getElementById("key105").innerHTML = layouts[selectedLayout][fCaps(105)];
	document.getElementById("key111").innerHTML = layouts[selectedLayout][fCaps(111)];
	document.getElementById("key112").innerHTML = layouts[selectedLayout][fCaps(112)];
	document.getElementById("key91").innerHTML = layouts[selectedLayout][fCaps(91)];
	document.getElementById("key93").innerHTML = layouts[selectedLayout][fCaps(93)];
	document.getElementById("key92").innerHTML = layouts[selectedLayout][fCaps(92)];

	document.getElementById("key97").innerHTML = layouts[selectedLayout][fCaps(97)];
	document.getElementById("key115").innerHTML = layouts[selectedLayout][fCaps(115)];
	document.getElementById("key100").innerHTML = layouts[selectedLayout][fCaps(100)];
	document.getElementById("key102").innerHTML = layouts[selectedLayout][fCaps(102)];
	document.getElementById("key103").innerHTML = layouts[selectedLayout][fCaps(103)];
	document.getElementById("key104").innerHTML = layouts[selectedLayout][fCaps(104)];
	document.getElementById("key106").innerHTML = layouts[selectedLayout][fCaps(106)];
	document.getElementById("key107").innerHTML = layouts[selectedLayout][fCaps(107)];
	document.getElementById("key108").innerHTML = layouts[selectedLayout][fCaps(108)];
	document.getElementById("key59").innerHTML = layouts[selectedLayout][fCaps(59)];
	document.getElementById("key39").innerHTML = layouts[selectedLayout][fCaps(39)];

	document.getElementById("key122").innerHTML = layouts[selectedLayout][fCaps(122)];
	document.getElementById("key120").innerHTML = layouts[selectedLayout][fCaps(120)];
	document.getElementById("key99").innerHTML = layouts[selectedLayout][fCaps(99)];
	document.getElementById("key118").innerHTML = layouts[selectedLayout][fCaps(118)];
	document.getElementById("key98").innerHTML = layouts[selectedLayout][fCaps(98)];
	document.getElementById("key110").innerHTML = layouts[selectedLayout][fCaps(110)];
	document.getElementById("key109").innerHTML = layouts[selectedLayout][fCaps(109)];
	document.getElementById("key44").innerHTML = layouts[selectedLayout][fCaps(44)];
	document.getElementById("key46").innerHTML = layouts[selectedLayout][fCaps(46)];
	document.getElementById("key47").innerHTML = layouts[selectedLayout][fCaps(47)];
}



function capsText()
{
	capsLockPressed = !capsLockPressed;
	cookieSet('capsLockPressed', capsLockPressed, 15);
}

