var DISPLAY_DEBUG = 0; var TAG_START_COMPOSIT_LETTER = '['; var TAG_END_COMPOSIT_LETTER = ']'; var arm_uni = ['\u0531', '\u0532', '\u0533', '\u0534', '\u0535', '\u0536', '\u0537', '\u0538', '\u0539', '\u053A', '\u053B', '\u053C', '\u053D', '\u053E', '\u053F', '\u0540', '\u0541', '\u0542', '\u0543', '\u0544', '\u0545', '\u0546', '\u0547', '\u0548', '\u0549', '\u054A', '\u054B', '\u054C', '\u054D', '\u054E', '\u054F', '\u0550', '\u0551', '\u0548\u0552', '\u0553', '\u0554', '\u0555', '\u0556', '\u0561', '\u0562', '\u0563', '\u0564', '\u0565', '\u0566', '\u0567', '\u0568', '\u0569', '\u056A', '\u056B', '\u056C', '\u056D', '\u056E', '\u056F', '\u0570', '\u0571', '\u0572', '\u0573', '\u0574', '\u0575', '\u0576', '\u0577', '\u0578', '\u0579', '\u057A', '\u057B', '\u057C', '\u057D', '\u057E', '\u057F', '\u0580', '\u0581', '\u0578\u0582', '\u0583', '\u0584', '\u0585', '\u0586', '\u0587', ]; var arm_uni_composit = Array(); arm_uni_composit[0] = [33, 71]; var arm_lat = ['A', 'B', 'G', 'D', 'E', 'Z', 'Ee', 'Y1', 'Th', 'Jh', 'I', 'L', 'X', 'Ts', 'K', 'H', 'Dz', 'Gh', 'C1', 'M', 'Y', 'N', 'Sh', 'O', 'Ch', 'P', 'J', 'R1', 'S', 'V', 'T', 'R', 'C', 'U', 'Ph', 'Q', 'Oo', 'F', 'a', 'b', 'g', 'd', 'e', 'z', 'ee', 'y1', 'th', 'jh', 'i', 'l', 'x', 'ts', 'k', 'h', 'dz', 'gh', 'c1', 'm', 'y', 'n', 'sh', 'o', 'ch', 'p', 'j', 'r1', 's', 'v', 't', 'r', 'c', 'u', 'ph', 'q', 'oo', 'f', 'ev', ]; var arm_lat_composit = Array(); arm_lat_composit[0] = ['0', '1', '2', '3', '4', '5', '10', '11', '12', '14', '15', '19', '20', '21', '23', '26', '25', '28', '29', '30', '31', '32', '33', '35', '37', '38', '39', '40', '41', '42', '43', '48', '49', '50', '52', '53', '57', '58', '59', '61', '63', '64', '66', '67', '68', '69', '70', '71', '73', '75', ]; arm_lat_composit[1] = ['6', '7', '8', '9', '13', '16', '17', '18', '22', '24', '27', '34', '36', '44', '45', '46', '47', '51', '54', '55', '56', '60', '62', '65', '72', '74', '76', ]; arm_lat_composit[2] = [ ]; function convertLatArmU(str) { var ustr = ''; var str_arr = str.split(''); var ustr_arr = str_arr; for ( i = (arm_lat_composit.length-1); i >= 0; i--) { // for each composit level for ( k = 0; k < ustr_arr.length; k++) { // fo each string char var str_test_chunk = ''; debug('typeof ustr_arr[' + (k+i) + ']: ' + ustr_arr[k+i] + ' = ' + (typeof ustr_arr[k+i])); if ((typeof ustr_arr[k+i]) == 'undefined') { break; } for (n = 0; n < (i+1); n++ ) { // each chunk equal to char_number in current composit level str_test_chunk += ustr_arr[(k+n)]; } debug('str_test_chunk = ' + str_test_chunk); for ( a = 0; a < arm_lat_composit[i].length; a++) { // for each composit in curr level debug('..arm_lat[' + arm_lat_composit[i][a] + '] = ' + arm_lat[arm_lat_composit[i][a]]); if (str_test_chunk == arm_lat[arm_lat_composit[i][a]]) { // test if chars are matching // replace first(or only) char by corresponding unicode value debug('....Replacing by: ' + arm_uni[arm_lat_composit[i][a]]); ustr_arr[k] = arm_uni[arm_lat_composit[i][a]]; for ( b = 1; b < str_test_chunk.length; b++) { // each remaining (if any) debug('!...unsetting value: ' + ustr_arr[k+b]); debug('!...ustr_arr = ' + ustr_arr.join(', ')); ustr_arr[k+b] = ''; // set to '' } break; } } } } ustr = ustr_arr.join(''); return ustr; } function convertArmULat(str) { var lstr = '' var str_arr = str.split(''); var lstr_arr = str_arr; for (i = 0; i < lstr_arr.length; i++) { // for each string char for (k = 0; k < arm_uni.length; k++) { // each arm uni char if (lstr_arr[i] == arm_uni[k]) { lstr_arr[i] = arm_lat[k]; break; } } } lstr = lstr_arr.join(''); return lstr; } function outArmUni(str) { var ustr = convertLatArmU(str); //var ustr_node = document.createTextNode(' ' + ustr); //document.getElementById('out').appendChild(ustr_node); document.getElementById('in').value = ustr; } function outArmLat (str) { var lstr = convertArmULat(str); document.getElementById('in').value = lstr; } function debug(str) { if (DISPLAY_DEBUG) { var debug_str_node = document.createTextNode(str); document.getElementById('debug').appendChild(debug_str_node); var br_elm = document.createElement('BR'); document.getElementById('debug').appendChild(br_elm); } } function init() { blurOnFocus(); //var t = document.createTextNode(arm_lat.join(' ')); //document.getElementById('out').appendChild(t); //var ut = document.createTextNode(' ' + arm_uni.join(' ')); //document.getElementById('out').appendChild(ut); } window.onload=init;