﻿// JavaScript Document

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

var kdwin = null;
var armUnicode = null;
var USDefault = null;
var armTypewriter = null;
var armOldTypewriter = null;

var layouts = null;
var layoutBox = null;
var armFlag = null;
var textArea = null;
var isNumPadKey = false;

function handleKeyDown(){
textArea.onkeydown=function(e)
{
var keyEvent=(window.event)?event : e;		
	var keyCode=keyEvent.keyCode;
	isNumPadKey = (keyCode>95 && keyCode<112) ? true : false;
	if(keyCode == 27){
		armFlag.checked = !armFlag.checked;
		armFlag.focus();     // not to delete already written text  in FireFox when Esc key is pressed.
		((keyEvent.target) ? keyEvent.target : keyEvent. srcElement).focus();
		do1();
		return true;
	}
}
}



function handleKeyPress(){
textArea.onkeypress=function(e)
{	
	if(isNumPadKey){
		return true;
	}

	if (e) {                                                            //Mozila & Opera
	
		keyId = e.which;
		if (document.getElementById('visPress').checked && document.getElementById('keyboard').style.display == '') {
			changeKeyColor(keyId);
		}
		if (!armFlag.checked) {
			return true;	
		}
		
		if(e.altKey || e.ctrlKey) return true;
		if(keyId<32) return true;		
		textArea = e.target;
		var symb =  layouts[layoutBox.value][keyId];
		if('scrollTop' in textArea)
			var scrollTop=textArea.scrollTop;
		if(symb){
			var start=textArea.selectionStart;
			if(start != null){
				textArea.value=textArea.value.substring(0, start) + symb + textArea.value.substring(textArea.selectionEnd); 
				textArea.setSelectionRange(++start,start);
				if('scrollTop' in textArea)
					textArea.scrollTop=scrollTop;
				return false;
			}
		}
	}
	
	else{                                                      //IE
		keystate = window.event.keyCode;
		var symb =  layouts[layoutBox.value][keystate];
		if (document.getElementById('visPress').checked && document.getElementById('keyboard').style.display == '') {
			changeKeyColor(keystate);
		}
		
		if (!armFlag.checked) {
			return true;
		}	
	
		if(symb){
			window.event.keyCode =symb.charCodeAt(0);
		}
	}
}
}



function initLayouts(){
	kdwin = new Array(127);
	armUnicode = new Array(127);
	armTypewriter = new Array(127);
	armOldTypewriter = new Array(127);
	USDefault = new Array(127);

	layouts =  new Array(5);

	layouts[0] = USDefault;
	layouts[1] = kdwin;
	layouts[2] = armUnicode;
	layouts[3] = armTypewriter;
	layouts[4] = armOldTypewriter;

USDefault [96] = '`';
USDefault [49] = '1';
USDefault [50] = '2';
USDefault [51] = '3';
USDefault [52] = '4';
USDefault [53] = '5';
USDefault [54] = '6';
USDefault [55] = '7';
USDefault [56] = '8';
USDefault [57] = '9';
USDefault [48] = '0';
USDefault [45] = '-';
USDefault [61] = '=';
USDefault [113] = 'q';
USDefault [119] = 'w';
USDefault [101] = 'e';
USDefault [114] = 'r';
USDefault [116] = 't';
USDefault [121] = 'y';
USDefault [117] = 'u';
USDefault [105] = 'i';
USDefault [111] = 'o';
USDefault [112] = 'p';
USDefault [91] = '[';
USDefault [93] = ']';
USDefault [92] = '\\';
USDefault [ 97] = 'a';
USDefault [115] = 's';
USDefault [100] = 'd';
USDefault [102] = 'f';
USDefault [103] = 'g';
USDefault [104] = 'h';
USDefault [106] = 'j';
USDefault [107] = 'k';
USDefault [108] = 'l';
USDefault [59] = ';';
USDefault [39] = '\'';
USDefault [122] = 'z';
USDefault [120] = 'x';
USDefault [99] = 'c';
USDefault [118] = 'v';
USDefault [98] = 'b';
USDefault [110] = 'n';
USDefault [109] = 'm';
USDefault [44] = ',';
USDefault [46] = '.';
USDefault [47] = '/';
USDefault [126] = '~';
USDefault [33] = '!';
USDefault [64] = '@';
USDefault [35] = '#';
USDefault [36] = '$';
USDefault [37] = '%';
USDefault [94] = '^';
USDefault [38] = '&amp;';
USDefault [42] = '*';
USDefault [40] = '(';
USDefault [41] = ')';
USDefault [95] = '_';
USDefault [43] = '+';
USDefault [81] = 'Q';
USDefault [87] = 'W';
USDefault [69] = 'E';
USDefault [82] = 'R';
USDefault [84] = 'T';
USDefault [89] = 'Y';
USDefault [85] = 'U';
USDefault [73] = 'I';
USDefault [79] = 'O';
USDefault [80] = 'P';
USDefault [123] = '{';
USDefault [125] = '}';
USDefault [124] = '|';
USDefault [65] = 'A';
USDefault [83] = 'S';
USDefault [68] = 'D';
USDefault [70] = 'F';
USDefault [71] = 'G';
USDefault [72] = 'H';
USDefault [74] = 'J';
USDefault [75] = 'K';
USDefault [76] = 'L';
USDefault [58] = ':';
USDefault [34] = '\"';
USDefault [90] = 'Z';
USDefault [88] = 'X';
USDefault [67] = 'C';
USDefault [86] = 'V';
USDefault [66] = 'B';
USDefault [78] = 'N';
USDefault [77] = 'M';
USDefault [60] = '&lt;';
USDefault [62] = '>';
USDefault [63] = '?';

armUnicode [96] = '՝';
armUnicode [49] = 'է';
armUnicode [50] = 'թ';
armUnicode [51] = 'փ';
armUnicode [52] = 'ձ';
armUnicode [53] = 'ջ';
armUnicode [54] = ')';
armUnicode [55] = 'և';
armUnicode [56] = 'ռ';
armUnicode [57] = 'չ';
armUnicode [48] = 'ճ';
armUnicode [45] = '-';
armUnicode [61] = 'ժ';
armUnicode [113] = 'ք';
armUnicode [119] = 'ո';
armUnicode [101] = 'ե';
armUnicode [114] = 'ր';
armUnicode [116] = 'տ';
armUnicode [121] = 'ը';
armUnicode [117] = 'ւ';
armUnicode [105] = 'ի';
armUnicode [111] = 'օ';
armUnicode [112] = 'պ';
armUnicode [91] = 'խ';
armUnicode [93] = 'ծ';
armUnicode [92] = 'շ';
armUnicode [ 97] = 'ա';
armUnicode [115] = 'ս';
armUnicode [100] = 'դ';
armUnicode [102] = 'ֆ';
armUnicode [103] = 'գ';
armUnicode [104] = 'հ';
armUnicode [106] = 'յ';
armUnicode [107] = 'կ';
armUnicode [108] = 'լ';
armUnicode [59] = ':';
armUnicode [39] = '՛';
armUnicode [122] = 'զ';
armUnicode [120] = 'ղ';
armUnicode [99] = 'ց';
armUnicode [118] = 'վ';
armUnicode [98] = 'բ';
armUnicode [110] = 'ն';
armUnicode [109] = 'մ';
armUnicode [44] = ',';
armUnicode [46] = '.';
armUnicode [47] = '/';
armUnicode [126] = '՜';
armUnicode [33] = 'Է';
armUnicode [64] = 'Թ';
armUnicode [35] = 'Փ';
armUnicode [36] = 'Ձ';
armUnicode [37] = 'Ջ';
armUnicode [94] = '(';
armUnicode [38] = '%';
armUnicode [42] = 'Ռ';
armUnicode [40] = 'Չ';
armUnicode [41] = 'Ճ';
armUnicode [95] = '–';
armUnicode [43] = 'Ժ';
armUnicode [81] = 'Ք';
armUnicode [87] = 'Ո';
armUnicode [69] = 'Ե';
armUnicode [82] = 'Ր';
armUnicode [84] = 'Տ';
armUnicode [89] = 'Ը';
armUnicode [85] = 'Ւ';
armUnicode [73] = 'Ի';
armUnicode [79] = 'Օ';
armUnicode [80] = 'Պ';
armUnicode [123] = 'Խ';
armUnicode [125] = 'Ծ';
armUnicode [124] = 'Շ';
armUnicode [65] = 'Ա';
armUnicode [83] = 'Ս';
armUnicode [68] = 'Դ';
armUnicode [70] = 'Ֆ';
armUnicode [71] = 'Գ';
armUnicode [72] = 'Հ';
armUnicode [74] = 'Յ';
armUnicode [75] = 'Կ';
armUnicode [76] = 'Լ';
armUnicode [58] = '…';
armUnicode [34] = '\"';
armUnicode [90] = 'Զ';
armUnicode [88] = 'Ղ';
armUnicode [67] = 'Ց';
armUnicode [86] = 'Վ';
armUnicode [66] = 'Բ';
armUnicode [78] = 'Ն';
armUnicode [77] = 'Մ';
armUnicode [60] = '«';
armUnicode [62] = '»';
armUnicode [63] = '՞';

kdwin [96] = '՝';
kdwin [49] = 'է';
kdwin [50] = 'թ';
kdwin [51] = 'փ';
kdwin [52] = 'ձ';
kdwin [53] = 'ջ';
kdwin [54] = ')';
kdwin [55] = 'և';
kdwin [56] = 'ր';
kdwin [57] = 'չ';
kdwin [48] = 'ճ';
kdwin [45] = '-';
kdwin [61] = 'ժ';
kdwin [113] = 'ք';
kdwin [119] = 'ո';
kdwin [101] = 'ե';
kdwin [114] = 'ռ';
kdwin [116] = 'տ';
kdwin [121] = 'ը';
kdwin [117] = 'ւ';
kdwin [105] = 'ի';
kdwin [111] = 'օ';
kdwin [112] = 'պ';
kdwin [91] = 'խ';
kdwin [93] = 'ծ';
kdwin [92] = 'շ';
kdwin [ 97] = 'ա';
kdwin [115] = 'ս';
kdwin [100] = 'դ';
kdwin [102] = 'ֆ';
kdwin [103] = 'գ';
kdwin [104] = 'հ';
kdwin [106] = 'յ';
kdwin [107] = 'կ';
kdwin [108] = 'լ';
kdwin [59] = ':';
kdwin [39] = '՛';
kdwin [122] = 'զ';
kdwin [120] = 'ղ';
kdwin [99] = 'ց';
kdwin [118] = 'վ';
kdwin [98] = 'բ';
kdwin [110] = 'ն';
kdwin [109] = 'մ';
kdwin [44] = ',';
kdwin [46] = '.';
kdwin [47] = '/';
kdwin [126] = '՜';
kdwin [33] = 'Է';
kdwin [64] = 'Թ';
kdwin [35] = 'Փ';
kdwin [36] = 'Ձ';
kdwin [37] = 'Ջ';
kdwin [94] = '(';
kdwin [38] = '%';
kdwin [42] = 'Ր';
kdwin [40] = 'Չ';
kdwin [41] = 'Ճ';
kdwin [95] = '–';
kdwin [43] = 'Ժ';
kdwin [81] = 'Ք';
kdwin [87] = 'Ո';
kdwin [69] = 'Ե';
kdwin [82] = 'Ռ';
kdwin [84] = 'Տ';
kdwin [89] = 'Ը';
kdwin [85] = 'Ւ';
kdwin [73] = 'Ի';
kdwin [79] = 'Օ';
kdwin [80] = 'Պ';
kdwin [123] = 'Խ';
kdwin [125] = 'Ծ';
kdwin [124] = 'Շ';
kdwin [65] = 'Ա';
kdwin [83] = 'Ս';
kdwin [68] = 'Դ';
kdwin [70] = 'Ֆ';
kdwin [71] = 'Գ';
kdwin [72] = 'Հ';
kdwin [74] = 'Յ';
kdwin [75] = 'Կ';
kdwin [76] = 'Լ';
kdwin [58] = '…';
kdwin [34] = '\"';
kdwin [90] = 'Զ';
kdwin [88] = 'Ղ';
kdwin [67] = 'Ց';
kdwin [86] = 'Վ';
kdwin [66] = 'Բ';
kdwin [78] = 'Ն';
kdwin [77] = 'Մ';
kdwin [60] = '«';
kdwin [62] = '»';
kdwin [63] = '՞';


armTypewriter [96] = '՝';
armTypewriter [49] = 'ֆ';
armTypewriter [50] = 'ձ';
armTypewriter [51] = '՛';
armTypewriter [52] = '՜';
armTypewriter [53] = '։';
armTypewriter [54] = '՞';
armTypewriter [55] = 'և';
armTypewriter [56] = '՜';
armTypewriter [57] = ')';
armTypewriter [48] = 'օ';
armTypewriter [45] = 'է';
armTypewriter [61] = 'ղ';
armTypewriter [113] = 'ճ';
armTypewriter [119] = 'փ';
armTypewriter [101] = 'բ';
armTypewriter [114] = 'ս';
armTypewriter [116] = 'մ';
armTypewriter [121] = 'ո';
armTypewriter [117] = 'ւ';
armTypewriter [105] = 'կ';
armTypewriter [111] = 'ը';
armTypewriter [112] = 'թ';
armTypewriter [91] = 'ծ';
armTypewriter [93] = 'ց';
armTypewriter [92] = '՚';
armTypewriter [ 97] = 'ջ';
armTypewriter [115] = 'վ';
armTypewriter [100] = 'գ';
armTypewriter [102] = 'ե';
armTypewriter [103] = 'ա';
armTypewriter [104] = 'ն';
armTypewriter [106] = 'ի';
armTypewriter [107] = 'տ';
armTypewriter [108] = 'հ';
armTypewriter [59] = 'պ';
armTypewriter [39] = 'ր';
armTypewriter [122] = 'ժ';
armTypewriter [120] = 'դ';
armTypewriter [99] = 'չ';
armTypewriter [118] = 'յ';
armTypewriter [98] = 'զ';
armTypewriter [110] = 'լ';
armTypewriter [109] = 'ք';
armTypewriter [44] = 'խ';
armTypewriter [46] = 'շ';
armTypewriter [47] = 'ռ';
armTypewriter [126] = '՛';
armTypewriter [33] = 'Ֆ';
armTypewriter [64] = 'Ձ';
armTypewriter [35] = '#';
armTypewriter [36] = '$';
armTypewriter [37] = '%';
armTypewriter [94] = '^';
armTypewriter [38] = '&amp;';
armTypewriter [42] = '*';
armTypewriter [40] = '(';
armTypewriter [41] = 'Օ';
armTypewriter [95] = 'Է';
armTypewriter [43] = 'Ղ';
armTypewriter [81] = 'Ճ';
armTypewriter [87] = 'Փ';
armTypewriter [69] = 'Բ';
armTypewriter [82] = 'Ս';
armTypewriter [84] = 'Մ';
armTypewriter [89] = 'Ո';
armTypewriter [85] = 'Ւ';
armTypewriter [73] = 'Կ';
armTypewriter [79] = 'Ը';
armTypewriter [80] = 'Թ';
armTypewriter [123] = 'Ծ';
armTypewriter [125] = 'Ց';
armTypewriter [124] = 'ՙ';
armTypewriter [65] = 'Ջ';
armTypewriter [83] = 'Վ';
armTypewriter [68] = 'Գ';
armTypewriter [70] = 'Դ';
armTypewriter [71] = 'Ա';
armTypewriter [72] = 'Ն';
armTypewriter [74] = 'Ի';
armTypewriter [75] = 'Տ';
armTypewriter [76] = 'Հ';
armTypewriter [58] = 'Պ';
armTypewriter [34] = 'Ր';
armTypewriter [90] = 'Ժ';
armTypewriter [88] = 'Դ';
armTypewriter [67] = 'Չ';
armTypewriter [86] = 'Յ';
armTypewriter [66] = 'Զ';
armTypewriter [78] = 'Լ';
armTypewriter [77] = 'Ք';
armTypewriter [60] = 'Խ';
armTypewriter [62] = 'Շ';
armTypewriter [63] = 'Ռ';


armOldTypewriter [96] = '՝';
armOldTypewriter [49] = 'ճ';
armOldTypewriter [50] = 'ջ';
armOldTypewriter [51] = 'ժ';
armOldTypewriter [52] = 'ձ';
armOldTypewriter [53] = 'յ';
armOldTypewriter [54] = 'ռ';
armOldTypewriter [55] = 'ր';
armOldTypewriter [56] = 'ց';
armOldTypewriter [57] = 'է';
armOldTypewriter [48] = 'ղ';
armOldTypewriter [45] = '-';
armOldTypewriter [61] = '_';
armOldTypewriter [113] = 'փ';
armOldTypewriter [119] = 'բ';
armOldTypewriter [101] = 'ս';
armOldTypewriter [114] = 'մ';
armOldTypewriter [116] = 'ո';
armOldTypewriter [121] = 'ւ';
armOldTypewriter [117] = 'կ';
armOldTypewriter [105] = 'ը';
armOldTypewriter [111] = 'թ';
armOldTypewriter [112] = 'ծ';
armOldTypewriter [91] = 'օ';
armOldTypewriter [93] = 'ֆ';
armOldTypewriter [92] = 'շ';
armOldTypewriter [ 97] = 'վ';
armOldTypewriter [115] = 'գ';
armOldTypewriter [100] = 'ե';
armOldTypewriter [102] = 'ա';
armOldTypewriter [103] = 'ն';
armOldTypewriter [104] = 'ի';
armOldTypewriter [106] = 'տ';
armOldTypewriter [107] = 'հ';
armOldTypewriter [108] = 'պ';
armOldTypewriter [59] = ';';
armOldTypewriter [39] = 'և';
armOldTypewriter [122] = 'դ';
armOldTypewriter [120] = 'չ';
armOldTypewriter [99] = 'զ';
armOldTypewriter [118] = 'լ';
armOldTypewriter [98] = 'ք';
armOldTypewriter [110] = 'խ';
armOldTypewriter [109] = 'շ';
armOldTypewriter [44] = ',';
armOldTypewriter [46] = '.';
armOldTypewriter [47] = '՞';
armOldTypewriter [126] = '՛';
armOldTypewriter [33] = 'Ճ';
armOldTypewriter [64] = 'Ջ';
armOldTypewriter [35] = 'Ժ';
armOldTypewriter [36] = 'Ձ';
armOldTypewriter [37] = 'Յ';
armOldTypewriter [94] = 'Ռ';
armOldTypewriter [38] = 'Ր';
armOldTypewriter [42] = 'Ց';
armOldTypewriter [40] = 'Է';
armOldTypewriter [41] = 'Ղ';
armOldTypewriter [95] = '(';
armOldTypewriter [43] = ')';
armOldTypewriter [81] = 'Փ';
armOldTypewriter [87] = 'Բ';
armOldTypewriter [69] = 'Ս';
armOldTypewriter [82] = 'Մ';
armOldTypewriter [84] = 'Ո';
armOldTypewriter [89] = 'Ւ';
armOldTypewriter [85] = 'Կ';
armOldTypewriter [73] = 'Ը';
armOldTypewriter [79] = 'Թ';
armOldTypewriter [80] = 'Ծ';
armOldTypewriter [123] = 'Օ';
armOldTypewriter [125] = 'Ֆ';
armOldTypewriter [124] = 'Շ';
armOldTypewriter [65] = 'Վ';
armOldTypewriter [83] = 'Գ';
armOldTypewriter [68] = 'Ե';
armOldTypewriter [70] = 'Ա';
armOldTypewriter [71] = 'Ն';
armOldTypewriter [72] = 'Ի';
armOldTypewriter [74] = 'Տ';
armOldTypewriter [75] = 'Հ';
armOldTypewriter [76] = 'Պ';
armOldTypewriter [58] = ':';
armOldTypewriter [34] = '՜';
armOldTypewriter [90] = 'Դ';
armOldTypewriter [88] = 'Չ';
armOldTypewriter [67] = 'Զ';
armOldTypewriter [86] = 'Լ';
armOldTypewriter [66] = 'Ք';
armOldTypewriter [78] = 'Խ';
armOldTypewriter [77] = 'Շ';
armOldTypewriter [60] = '«';
armOldTypewriter [62] = '»';
armOldTypewriter [63] = '՞';
}



function addTextarea(textareaNeme){
	if(layouts == null){
		armFlag = document.getElementById('armFlag');
		layoutBox = document.getElementById('layout');
		initLayouts();
	}
	textArea = document.getElementById(textareaNeme);
	handleKeyPress();
	handleKeyDown();
}


