मिडियाविकि:Translitgur.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/*
This script is a modified version of Alex benenson's cyrillic translitarator and this version was created by user Tatari for Devnagari and modified by user Eukesh for Gurmukhi
*/
var amhaHash='{"k":"ਕ੍","ਕ੍a":"ਕ","ਕa":"ਕਾ","ਕ੍i":"ਕਿ","ਕ੍I":"ਕੀ","ਕਿi":"ਕਿਇ","ਕੇe":"ਕੀ","ਕ੍u":"ਕੁ","ਕ੍U":"ਕੱ","ਕੋo":"ਕੂ","ਕੁu":"ਕੂ","ਕ੍e":"ਕੇ","ਕi":"ਕੈ","ਕ੍o":"ਕੋ","ਕu":"ਕੌ","ਕ੍:":"ਕਃ","ਕ:":"ਕਃ","ਕ੍O":"ਕ","ਕM":"ਕਾਁ","ਕ੍E":"ਕ","ਕM":"ਕਁ","ਕ੍र":"ਕ","ਕu":"ਕ","ਕU":"ਕ","ਕਓo":"ਕਊ","ਕl":"ਕ","ਕu":"ਕ","ਕU":"ਕ","ਕਓo":"ਕਊ","ਕ੍M":"ਕਂ","ਕ੍h":"ਖ੍","ਖ੍a":"ਖ","ਖa":"ਖਾ","ਖ੍i":"ਖਿ","ਖ੍I":"ਖੀ","ਖਿi":"ਖਿਇ","ਖੇe":"ਖੀ","ਖ੍u":"ਖੁ","ਖ੍U":"ਖੱ","ਖੋo":"ਖੂ","ਖੁu":"ਖੂ","ਖ੍e":"ਖੇ","ਖi":"ਖੈ","ਖ੍o":"ਖੋ","ਖu":"ਖੌ","ਖ੍:":"ਖਃ","ਖ:":"ਖਃ","ਖ੍O":"ਖ","ਖM":"ਖਾਁ","ਖ੍E":"ਖ","ਖM":"ਖਁ","ਖ੍र":"ਖ","ਖu":"ਖ","ਖU":"ਖ","ਖਓo":"ਖਊ","ਖ੍M":"ਖਂ","ਖl":"ਖ","ਖu":"ਖ","ਖU":"ਖ","ਖਓo":"ਖਊ",';
amhaHash+='"g":"ਗ੍","ਗ੍a":"ਗ","ਗa":"ਗਾ","ਗ੍i":"ਗਿ","ਗ੍I":"ਗੀ","ਗਿi":"ਗੀ","ਗੇe":"ਗੀ","ਗ੍u":"ਗੁ","ਗ੍U":"ਗੱ","ਗੋo":"ਗੂ","ਗੁu":"ਗੂ","ਗ੍e":"ਗੇ","ਗi":"ਗੈ","ਗ੍o":"ਗੋ","ਗu":"ਗੌ","ਗ੍:":"ਗਃ","ਗ:":"ਗਃ","ਗ੍O":"ਗ","ਗM":"ਗਾਁ","ਗ੍E":"ਗ","ਗM":"ਗਁ","ਗ੍र":"ਗ","ਗu":"ਗ","ਗU":"ਗ","ਗਓo":"ਗ","ਗ੍M":"ਗਂ","ਗl":"ਗ","ਗu":"ਗ","ਗU":"ਗ","ਗo":"ਗ","ਗ੍h":"ਘ੍","ਘ੍a":"ਘ","ਘa":"ਘਾ","ਘ੍i":"ਘਿ","ਘ੍I":"ਘੀ","ਘਿi":"ਘੀ","ਘੇe":"ਘੀ","ਘ੍u":"ਘੁ","ਘ੍U":"ਘੱ","ਘੋo":"ਘੂ","ਘੁu":"ਘੂ","ਘ੍e":"ਘੇ","ਘi":"ਘੈ","ਘ੍o":"ਘੋ","ਘu":"ਘੌ","ਘ੍:":"ਘਃ","ਘ:":"ਘਃ","ਘ੍O":"ਘ","ਘM":"ਘਾਁ","ਘ੍E":"ਘ","ਘM":"ਘਁ","ਘ੍र":"ਘ","ਘu":"ਘ","ਘU":"ਘ","ਘਓo":"ਘ","ਘ੍M":"ਘਂ","ਘl":"ਘ","ਘu":"ਘ","ਘU":"ਘ","ਘਓo":"ਘ","G":"ਙ੍","ਙ੍a":"ਙ","ਙa":"ਙਾ","ਙ੍i":"ਙਿ","ਙ੍I":"ਙੀ","ਙਿi":"ਙੀ","ਙੇe":"ਙੀ","ਙ੍u":"ਙੁ","ਙ੍U":"ਙੱ","ਙੋo":"ਙੂ","ਙੁu":"ਙੂ","ਙ੍e":"ਙੇ","ਙi":"ਙੈ","ਙ੍o":"ਙੋ","ਙu":"ਙੌ","ਙ੍:":"ਙਃ","ਙ:":"ਙਃ","ਙ੍O":"ਙ","ਙM":"ਙਾਁ","ਙ੍E":"ਙ","ਙM":"ਙਁ","ਙ੍र":"ਙ","ਙu":"ਙ","ਙU":"ਙ","ਙਓo":"ਙ","ਙ੍M":"ਙਂ","ਙl":"ਙ","ਙu":"ਙ","ਙU":"ਙ","ਙਓo":"ਙ",';
amhaHash+='"c":"ਚ੍","ch":"ਚ੍","ਚ੍a":"ਚ","ਚa":"ਚਾ","ਚ੍i":"ਚਿ","ਚ੍I":"ਚੀ","ਚਿi":"ਚੀ","ਚੇe":"ਚੀ","ਚ੍u":"ਚੁ","ਚ੍U":"ਚੱ","ਚੋo":"ਚੂ","ਚੁu":"ਚੂ","ਚ੍e":"ਚੇ","ਚi":"ਚੈ","ਚ੍o":"ਚੋ","ਚu":"ਚੌ","ਚ੍:":"ਚਃ","ਚ:":"ਚਃ","ਚ੍O":"ਚ","ਚM":"ਚਾਁ","ਚ੍E":"ਚ","ਚM":"ਚਁ","ਚ੍र":"ਚ","ਚu":"ਚ","ਚU":"ਚ","ਚਓo":"ਚ","ਚ੍M":"ਚਂ","ਚl":"ਚ","ਚu":"ਚ","ਚU":"ਚ","ਚਓo":"ਚ",';
amhaHash+='"C":"ਛ੍","ਚ੍h":"ਛ੍","ਛ੍h":"ਛ੍","ਛ੍a":"ਛ","ਛa":"ਛਾ","ਛ੍i":"ਛਿ","ਛ੍I":"ਛੀ","ਛਿi":"ਛੀ","ਛੇe":"ਛੀ","ਛ੍u":"ਛੁ","ਛ੍U":"ਛੱ","ਛੋo":"ਛੂ","ਛੁu":"ਛੂ","ਛ੍e":"ਛੇ","ਛi":"ਛੈ","ਛ੍o":"ਛੋ","ਛu":"ਛੌ","ਛ੍:":"ਛਃ","ਛ:":"ਛਃ","ਛ੍O":"ਛ","ਛM":"ਛਾਁ","ਛ੍E":"ਛ","ਛM":"ਛਁ","ਛ੍र":"ਛ","ਛu":"ਛ","ਛU":"ਛ","ਛਓo":"ਛ","ਛ੍M":"ਛਂ","ਛl":"ਛ","ਛu":"ਛ","ਛU":"ਛ","ਛਓo":"ਛ",';
amhaHash+='"j":"ਜ੍","ਜ੍a":"ਜ","ਜa":"ਜਾ","ਜ੍i":"ਜਿ","ਜ੍I":"ਜੀ","ਜਿi":"ਜੀ","ਜੇe":"ਜੀ","ਜ੍u":"ਜੁ","ਜ੍U":"ਜੱ","ਜੋo":"ਜੂ","ਜੁu":"ਜੂ","ਜ੍e":"ਜੇ","ਜi":"ਜੈ","ਜ੍o":"ਜੋ","ਜu":"ਜੌ","ਜ੍:":"ਜਃ","ਜ:":"ਜਃ","ਜ੍O":"ਜ","ਜM":"ਜਾਁ","ਜ੍E":"ਜ","ਜM":"ਜਁ","ਜ੍र":"ਜ","ਜu":"ਜ","ਜU":"ਜ","ਜਓo":"ਜ","ਜ੍M":"ਜਂ","ਜl":"ਜ","ਜu":"ਜ","ਜU":"ਜ","ਜਓo":"ਜ","ਜ੍h":"ਝ੍","ਝ੍a":"ਝ","ਝa":"ਝਾ","ਝ੍i":"ਝਿ","ਝ੍I":"ਝੀ","ਝਿi":"ਝੀ","ਝੇe":"ਝੀ","ਝ੍u":"ਝੁ","ਝ੍U":"ਝੱ","ਝੋo":"ਝੂ","ਝੁu":"ਝੂ","ਝ੍e":"ਝੇ","ਝi":"ਝੈ","ਝ੍o":"ਝੋ","ਝu":"ਝੌ","ਝ੍:":"ਞਃ","ਝ੍a:":"ਝਃ","ਝ੍O":"ਝ","ਝM":"ਝਾਁ","ਝ੍E":"ਝ","ਝM":"ਝਁ","ਝ੍र":"ਝ","ਝu":"ਝ","ਝU":"ਝ","ਝਓo":"ਝ","ਝ੍M":"ਝਂ","ਝl":"ਝ","ਝu":"ਝ","ਝU":"ਝ","ਝਓo":"ਝ",';
amhaHash+='"z":"ਝ੍","ਝ:":"ਝਃ","Z":"ਝ੍","Y":"ਞ੍","ਞ੍a":"ਞ","ਞa":"ਞਾ","ਞ੍i":"ਞਿ","ਞ੍I":"ਞੀ","ਞਿi":"ਞੀ","ਞੇe":"ਞੀ","ਞ੍u":"ਞੁ","ਞ੍U":"ਞੱ","ਞੋo":"ਞੂ","ਞੁu":"ਞੂ","ਞ੍e":"ਞੇ","ਞi":"ਞੈ","ਞ੍o":"ਞੋ","ਞu":"ਞੌ","ਞ:":"ਞਃ","ਞ੍O":"ਞ","ਞM":"ਞਾਁ","ਞ੍E":"ਞ","ਞM":"ਞਁ","ਞ੍र":"ਞ","ਞu":"ਞ","ਞU":"ਞ","ਞਓo":"ਞ","ਞ੍M":"ਞਂ","ਞl":"ਞ","ਞu":"ਞ","ਞU":"ਞ","ਞਓo":"ਞ",';
amhaHash+='"T":"ਟ੍","ਟ੍a":"ਟ","ਟa":"ਟਾ","ਟ੍i":"ਟਿ","ਟ੍I":"ਟੀ","ਟਿi":"ਟੀ","ਟੇe":"ਟੀ","ਟ੍u":"ਟੁ","ਟ੍U":"ਟੱ","ਟੋo":"ਟੂ","ਟੁu":"ਟੂ","ਟ੍e":"ਟੇ","ਟi":"ਟੈ","ਟ੍o":"ਟੋ","ਟu":"ਟੌ","ਟ੍:":"ਟਃ","ਟ:":"ਟਃ","ਟ੍O":"ਟ","ਟM":"ਟਾਁ","ਟ੍E":"ਟ","ਟM":"ਟਁ","ਟ੍र":"ਟ","ਟu":"ਟ","ਟU":"ਟ","ਟਓo":"ਟ","ਟ੍M":"ਟਂ","ਟl":"ਟ","ਟu":"ਟ","ਟU":"ਟ","ਟਓo":"ਟ","ਟ੍h":"ਠ੍","ਠ੍a":"ਠ","ਠa":"ਠਾ","ਠ੍i":"ਠਿ","ਠ੍I":"ਠੀ","ਠਿi":"ਠੀ","ਠੇe":"ਠੀ","ਠ੍u":"ਠੁ","ਠ੍U":"ਠੱ","ਠੋo":"ਠੂ","ਠੁu":"ਠੂ","ਠ੍e":"ਠੇ","ਠi":"ਠੈ","ਠ੍o":"ਠੋ","ਠu":"ਠੌ","ਠ੍:":"ਠਃ","ਠ੍a:":"ਠਃ","ਠ੍O":"ਠ","ਠM":"ਠਾਁ","ਠ੍E":"ਠ","ਠM":"ਠਁ","ਠ੍र":"ਠ","ਠu":"ਠ","ਠU":"ਠ","ਠਓo":"ਠ","ਠ੍M":"ਠਂ","ਠl":"ਠ","ਠu":"ਠ","ਠU":"ਠ","ਠਓo":"ਠ",';
amhaHash+='"D":"ਡ੍","ਡ੍a":"ਡ","ਡa":"ਡਾ","ਡ੍i":"ਡਿ","ਡ੍I":"ਡੀ","ਡਿi":"ਡੀ","ਡੇe":"ਡੀ","ਡ੍u":"ਡੁ","ਡ੍U":"ਡੱ","ਡੋo":"ਡੂ","ਡੁu":"ਡੂ","ਡ੍e":"ਡੇ","ਡi":"ਡੈ","ਡ੍o":"ਡੋ","ਡu":"ਡੌ","ਡ੍:":"ਡਃ","ਡ:":"ਡਃ","ਡ੍O":"ਡ","ਡM":"ਾਁ","ਡ੍E":"ਡ","ਡM":"ਡਁ","ਡ੍र":"ਡ","ਡu":"ਡ","ਡU":"ਡ","ਡਓo":"ਡ","ਡ੍M":"ਡਂ","ਡl":"ਡ","ਡu":"ਡ","ਡU":"ਡ","ਡਓo":"ਡ","ਡ੍h":"ਢ੍","ਢ੍a":"ਢ","ਢa":"ਢਾ","ਢ੍i":"ਢਿ","ਢ੍I":"ਢੀ","ਢਿi":"ਢੀ","ਢੇe":"ਢੀ","ਢ੍u":"ਢੁ","ਢ੍U":"ਢੱ","ਢੋo":"ਢੂ","ਢੁu":"ਢੂ","ਢ੍e":"ਢੇ","ਢi":"ਢੈ","ਢ੍o":"ਢੋ","ਢu":"ਢੌ","ਢ੍:":"ਢਃ","ਢ੍a:":"ਢਃ","ਢ੍O":"ਢ","ਢM":"ਢਾਁ","ਢ੍E":"ਢ","ਢM":"ਢਁ","ਢ੍र":"ਢ","ਢu":"ਢ","ਢU":"ਢ","ਢਓo":"ਢ","ਢ੍M":"ਢਂ","ਢl":"ਢ","ਢu":"ਢ","ਢU":"ਢ","ਢਓo":"ਢ",';
amhaHash+='"N":"ਣ੍","ਣ੍a":"ਣ","ਣa":"ਣਾ","ਣ੍i":"ਣਿ","ਣ੍I":"ਣੀ","ਣਿi":"ਣੀ","ਣੇe":"ਣੀ","ਣ੍u":"ਣੁ","ਣ੍U":"ਣੱ","ਣੋo":"ਣੂ","ਣੁu":"ਣੂ","ਣ੍e":"ਣੇ","ਣi":"ਣੈ","ਣ੍o":"ਣੋ","ਣu":"ਣੌ","ਣ੍:":"ਣਃ","ਣ:":"ਣਃ","ਣ੍O":"ਣ","ਣM":"ਣਾਁ","ਣ੍E":"ਣ","ਣM":"ਣਁ","ਣ੍र":"ਣ","ਣu":"ਣ","ਣU":"ਣ","ਣਓo":"ਣ","ਣ੍M":"ਣਂ","ਣl":"ਣ","ਣu":"ਣ","ਣU":"ਣ","ਣਓo":"ਣ",';
amhaHash+='"t":"ਤ੍","ਤ੍a":"ਤ","ਤa":"ਤਾ","ਤ੍i":"ਤਿ","ਤ੍I":"ਤੀ","ਤਿi":"ਤੀ","ਤੇe":"ਤੀ","ਤ੍u":"ਤੁ","ਤ੍U":"ਤੱ","ਤੋo":"ਤੂ","ਤੁu":"ਤੂ","ਤ੍e":"ਤੇ","ਤi":"ਤੈ","ਤ੍o":"ਤੋ","ਤu":"ਤੌ","ਤ੍:":"ਤਃ","ਤ:":"ਤਃ","ਤ੍O":"ਤ","ਤM":"ਤਾਁ","ਤ੍E":"ਤ","ਤM":"ਤਁ","ਤ੍र":"ਤ","ਤu":"ਤ","ਤU":"ਤ","ਤਓo":"ਤ","ਤ੍M":"ਤਂ","ਤl":"ਤ","ਤu":"ਤ","ਤU":"ਤ","ਤਓo":"ਤ","ਤ੍h":"ਥ੍","ਥ੍a":"ਥ","ਥa":"ਥਾ","ਥ੍i":"ਥਿ","ਥ੍I":"ਥੀ","ਥਿi":"ਥੀ","ਥੇe":"ਥੀ","ਥ੍u":"ਥੁ","ਥ੍U":"ਥੱ","ਥੋo":"ਥੂ","ਥੁu":"ਥੂ","ਥ੍e":"ਥੇ","ਥi":"ਥੈ","ਥ੍o":"ਥੋ","ਥu":"ਥੌ","ਥ੍:":"ਥਃ","ਥ੍a:":"ਥਃ","ਥ੍O":"ਥ","ਥM":"ਥਾਁ","ਥ੍E":"ਥ","ਥM":"ਥਁ","ਥ੍र":"ਥ","ਥu":"ਥ","ਥU":"ਥ","ਥਓo":"ਥ","ਥ੍M":"ਥਂ","ਥl":"ਥ","ਥu":"ਥ","ਥU":"ਥ","ਥਓo":"ਥ",';
amhaHash+='"d":"ਦ੍","ਦ੍a":"ਦ","ਦa":"ਦਾ","ਦ੍i":"ਦਿ","ਦ੍I":"ਦੀ","ਦਿi":"ਦੀ","ਦੇe":"ਦੀ","ਦ੍u":"ਦੁ","ਦ੍U":"ਦੱ","ਦੋo":"ਦੂ","ਦੁu":"ਦੂ","ਦ੍e":"ਦੇ","ਦi":"ਦੈ","ਦ੍o":"ਦੋ","ਦu":"ਦੌ","ਦ੍:":"ਦਃ","ਦ:":"ਦਃ","ਦ੍O":"ਦ","ਦM":"ਦਾਁ","ਦ੍E":"ਦ","ਦM":"ਦਁ","ਦ੍र":"ਦ","ਦu":"ਦ","ਦU":"ਦ","ਦਓo":"ਦ","ਦ੍M":"ਦਂ","ਦl":"ਦ","ਦu":"ਦ","ਦU":"ਦ","ਦਓo":"ਦ","ਦ੍h":"ਧ੍","ਧ੍a":"ਧ","ਧa":"ਧਾ","ਧ੍i":"ਧਿ","ਧ੍I":"ਧੀ","ਧਿi":"ਧੀ","ਧੇe":"ਧੀ","ਧ੍u":"ਧੁ","ਧ੍U":"ਧੱ","ਧੋo":"ਧੂ","ਧੁu":"ਧੂ","ਧ੍e":"ਧੇ","ਧi":"ਧੈ","ਧ੍o":"ਧੋ","ਧu":"ਧੌ","ਧ੍:":"ਧਃ","ਧ੍a:":"ਧਃ","ਧ੍O":"ਧ","ਧM":"ਧਾਁ","ਧ੍E":"ਧ","ਧੇM":"ਧਁ","ਧ੍र":"ਧ","ਧu":"ਧ","ਧU":"ਧ","ਧਓo":"ਧ","ਧ੍M":"ਧਂ","ਧl":"ਧ","ਧu":"ਧ","ਧU":"ਧ","ਧਓo":"ਧ",';
amhaHash+='"n":"ਨ੍","ਨ੍a":"ਨ","ਨa":"ਨਾ","ਨ੍i":"ਨਿ","ਨ੍I":"ਨੀ","ਨਿi":"ਨੀ","ਨੇe":"ਨੀ","ਨ੍u":"ਨੁ","ਨ੍U":"ਨੱ","ਨੋo":"ਨੂ","ਨੁu":"ਨੂ","ਨ੍e":"ਨੇ","ਨi":"ਨੈ","ਨ੍o":"ਨੋ","ਨu":"ਨੌ","ਨ੍:":"ਨਃ","ਨ:":"ਨਃ","ਨ੍O":"ਨ","ਨM":"ਨਾਁ","ਨ੍E":"ਨ","ਨM":"ਨਁ","ਨ੍र":"ਨ","ਨu":"ਨ","ਨU":"ਨ","ਨਓo":"ਨ","ਨ੍M":"ਨਂ","ਨl":"ਨ","ਨu":"ਨ","ਨU":"ਨ","ਨਓo":"ਨ",';
amhaHash+='"p":"ਪ੍","ਪ੍a":"ਪ","ਪa":"ਪਾ","ਪ੍i":"ਪਿ","ਪ੍I":"ਪੀ","ਪਿi":"ਪੀ","ਪੇe":"ਪੀ","ਪ੍u":"ਪੁ","ਪ੍U":"ਪੱ","ਪੋo":"ਪੂ","ਪੁu":"ਪੂ","ਪ੍e":"ਪੇ","ਪi":"ਪੈ","ਪ੍o":"ਪੋ","ਪu":"ਪੌ","ਪ੍:":"ਪਃ","ਪ:":"ਪਃ","ਪ੍O":"ਪ","ਪM":"ਪਾਁ","ਪ੍E":"ਪ","ਪM":"ਪਁ","ਪ੍र":"ਪ","ਪu":"ਪ","ਪU":"ਪ","ਪਓo":"ਪ","ਪ੍M":"ਪਂ","ਪl":"ਪ","ਪu":"ਪ","ਪU":"ਪ","ਪਓo":"ਪ",';
amhaHash+='"P":"ਪ੍","ਪ੍a:":"ਪਃ","ਪ੍h":"ਫ੍","ਫ੍a":"ਫ","ਫa":"ਫਾ","ਫ੍i":"ਫਿ","ਫ੍I":"ਫੀ","ਫਿi":"ਫੀ","ਫ੍ee":"ਫੀ","ਫ੍u":"ਫੁ","ਫ੍U":"ਫੱ","ਫੋo":"ਫੂ","ਫ੍uu":"ਫੂ","ਫ੍e":"ਫੇ","ਫi":"ਫੈ","ਫ੍o":"ਫੋ","ਫu":"ਫੌ","ਫ੍:":"ਫਃ","ਫ੍a:":"ਫਃ","ਫ੍O":"ਫ","ਫM":"ਫਾਁ","ਫ੍E":"ਫ","ਫM":"ਫਁ","ਫ੍र":"ਫ","ਫu":"ਫ","ਫU":"ਫ","ਫਓo":"ਫ","ਫ੍M":"ਫਂ","ਫl":"ਫ","ਫu":"ਫ","ਫU":"ਫ","ਫਓo":"ਫ",';
amhaHash+='"f":"ਫ੍","F":"ਫ੍","b":"ਬ੍","ਬ੍a":"ਬ","ਬa":"ਬਾ","ਬ੍i":"ਬਿ","ਬ੍I":"ਬੀ","ਬਿi":"ਬੀ","ਬੇe":"ਬੀ","ਬ੍u":"ਬੁ","ਬ੍U":"ਬੱ","ਬੋo":"ਬੂ","ਬੁu":"ਬੂ","ਬ੍e":"ਬੇ","ਬi":"ਬੈ","ਬ੍o":"ਬੋ","ਬu":"ਬੌ","ਬ੍:":"ਬਃ","ਬ:":"ਬਃ","ਬ੍O":"ਬ","ਬM":"ਬਾਁ","ਬ੍E":"ਬ","ਬM":"ਬਁ","ਬ੍र":"ਬ","ਬu":"ਬ","ਬU":"ਬ","ਬਓo":"ਬ","ਬ੍M":"ਬਂ","ਬl":"ਬ","ਬu":"ਬ","ਬU":"ਬ","ਬਓo":"ਬ",';
amhaHash+='"B":"ਬ੍","ਬ੍h":"ਭ੍","ਭ੍a":"ਭ","ਭa":"ਭਾ","ਭ੍i":"ਭਿ","ਭ੍I":"ਭੀ","ਭਿi":"ਭੀ","ਭੇe":"ਭੀ","ਭ੍u":"ਭੁ","ਭ੍U":"ਭੱ","ਭੋo":"ਭੂ","ਭੁu":"ਭੂ","ਭ੍e":"ਭੇ","ਭi":"ਭੈ","ਭ੍o":"ਭੋ","ਭu":"ਭੌ","ਭ੍:":"ਭਃ","ਭ੍a:":"ਭਃ","ਭ੍O":"ਭ","ਭM":"ਭਾਁ","ਭ੍E":"ਭ","ਭM":"ਭਁ","ਭ":"ਭ","ਭu":"ਭ","ਭU":"ਭ","ਭਓo":"ਭ","ਭ੍M":"ਭਂ","ਭl":"ਭ","ਭu":"ਭ","ਭU":"ਭ","ਭਓo":"ਭ","U092DU094D":"ਭ੍",';
amhaHash+='"m":"ਮ੍","ਮ੍a":"ਮ","ਮa":"ਮਾ","ਮ੍i":"ਮਿ","ਮ੍I":"ਮੀ","ਮਿi":"ਮੀ","ਮੇe":"ਮੀ","ਮ੍u":"ਮੁ","ਮ੍U":"ਮੱ","ਮੋo":"ਮੂ","ਮੁu":"ਮੂ","ਮ੍e":"ਮੇ","ਮi":"ਮੈ","ਮ੍o":"ਮੋ","ਮu":"ਮੌ","ਮ੍:":"ਮਃ","ਮ:":"ਮਃ","ਮ੍O":"ਮ","ਮM":"ਮਾਁ","ਮ੍E":"ਮ","ਮM":"ਮਁ","ਮ੍र":"ਮ","ਮu":"ਮ","ਮU":"ਮ","ਮਓo":"ਮ","ਮ੍M":"ਮਂ","ਮl":"ਮ","ਮu":"ਮ","ਮU":"ਮ","ਮਓo":"ਮ",';
amhaHash+='"y":"ਯ੍","ਯ੍a":"ਯ","ਯa":"ਯਾ","ਯ੍i":"ਯਿ","ਯ੍I":"ਯੀ","ਯਿi":"ਯੀ","ਯੇe":"ਯੀ","ਯ੍u":"ਯੁ","ਯ੍U":"ਯੱ","ਯੋo":"ਯੂ","ਯੁu":"ਯੂ","ਯ੍e":"ਯੇ","ਯi":"ਯੈ","ਯ੍o":"ਯੋ","ਯu":"ਯੌ","ਯ੍:":"ਯਃ","ਯ:":"ਯਃ","ਯ੍O":"ਯ","ਯM":"ਯਾਁ","ਯ੍E":"ਯ","ਯM":"ਯਁ","ਯ੍र":"ਯ","ਯu":"ਯ","ਯU":"ਯ","ਯਓo":"ਯ","ਯ੍M":"ਯਂ","ਯl":"ਯ","ਯu":"ਯ","ਯU":"ਯ","ਯਓo":"ਯ",';
amhaHash+='"r":"ਰ੍","ਰ੍r":"ਰ੍","ਰ੍a":"ਰ","ਰa":"ਰਾ","ਰ੍i":"ਰਿ","ਰ੍I":"ਰੀ","ਰਿi":"ਰੀ","ਰੇe":"ਰੀ","ਰ੍u":"ਰੁ","ਰ੍U":"ਰੱ","ਰੋo":"ਰੂ","ਰੁu":"ਰੂ","ਰ੍e":"ਰੇ","ਰi":"ਰੈ","ਰ੍o":"ਰੋ","ਰu":"ਰੌ","ਰ੍:":"ਰਃ","ਰ:":"ਰਃ","ਰ੍O":"ਰ","ਰM":"ਰਾਁ","ਰ੍E":"ਰ","ਰM":"ਰਁ","ਰ੍M":"ਰਂ","ਰ":"ਰ","ਰu":"ਰ","ਰU":"ਰ","ਰਓo":"ਰ","ਰ੍र":"ਰ","ਰu":"ਰ","ਰU":"ਰ","ਰਓo":"ਰ",';
amhaHash+='"R":"ੜ੍","ੜ੍a":"ੜ","ੜa":"ੜਾ","ੜ੍i":"ੜਿ","ੜ੍I":"ੜੀ","ੜਿi":"ੜੀ","ੜੇe":"ੜੀ","ੜ੍u":"ੜੁ","ੜ੍U":"ਰੱ","ੜੋo":"ੜੂ","ੜੁu":"ੜੂ","ੜ੍e":"ੜੇ","ੜi":"ੜੈ","ੜ੍o":"ੜੋ","ੜu":"ੜੌ","ੜ੍:":"ੜਃ","ੜ:":"ੜਃ","ੜ੍O":"ੜ","ੜM":"ੜਾਁ","ੜ੍E":"ੜ","ੜM":"ੜਁ","ੜ੍M":"ੜਂ","ੜ":"ੜ","ੜu":"ੜ","ੜU":"ੜ","ੜਓo":"ੜ","ੜu":"ੜ","ੜU":"ੜ","ੜਓo":"ੜ",';
amhaHash+='"l":"ਲ੍","ਲ੍a":"ਲ","ਲa":"ਲਾ","ਲ੍i":"ਲਿ","ਲ੍I":"ਲੀ","ਲਿi":"ਲੀ","ਲੇe":"ਲੀ","ਲ੍u":"ਲੁ","ਲ੍U":"ਲੱ","ਲੋo":"ਲੂ","ਲੁu":"ਲੂ","ਲ੍e":"ਲੇ","ਲi":"ਲੈ","ਲ੍o":"ਲੋ","ਲu":"ਲੌ","ਲ੍:":"ਲਃ","ਲ:":"ਲਃ","ਲ੍O":"ਲ","ਲM":"ਲਾਁ","ਲ੍E":"ਲ","ਲM":"ਲਁ","ਲ੍र":"ਲ","ਲu":"ਲ","ਲU":"ਲ","ਲਓo":"ਲ","ਲ੍M":"ਲਂ","ਲl":"ਲ","ਲu":"ਲ","ਲU":"ਲ","ਲਓo":"ਲ",';
amhaHash+='"v":"ਭ੍","ਵ੍a":"ਵ","ਵa":"ਵਾ","ਵ੍i":"ਵਿ","ਵ੍I":"ਵੀ","ਵਿi":"ਵੀ","ਵੇe":"ਵੀ","ਵ੍u":"ਵੁ","ਵ੍U":"ਵੱ","ਵੋo":"ਵੂ","ਵੁu":"ਵੂ","ਵ੍e":"ਵੇ","ਵi":"ਵੈ","ਵ੍o":"ਵੋ","ਵu":"ਵੌ","ਵ੍:":"ਵਃ","ਵ:":"ਵਃ","ਵ੍O":"ਵ","ਵM":"ਵਾਁ","ਵ੍E":"ਵ","ਵM":"ਵਁ","ਵ੍र":"ਵ","ਵu":"ਵ","ਵU":"ਵ","ਵਓo":"ਵU","ਵ੍M":"ਵਂ","ਵl":"ਵ","\u0935\u0962u":"ਵ","\u0935\u0962U":"ਵ","\u0935\u0962ਓo":"ਵ",';
amhaHash+='"V":"ਵ੍","w":"ਵ੍","W":"ਵ੍","ਸ੍h":"ਸ਼੍","ਸ਼੍a":"ਸ਼","ਸ਼a":"ਸ਼ਾ","ਸ਼੍i":"ਸ਼ਿ","ਸ਼੍I":"ਸ਼ੀ","ਸ਼ਿi":"ਸ਼ੀ","ਸ਼ੇe":"ਸ਼ੀ","ਸ਼੍u":"ਸ਼ੁ","ਸ਼੍U":"ਸ਼ੱ","ਸ਼ੋo":"ਸ਼ੂ","ਸ਼ੁu":"ਸ਼ੂ","ਸ਼੍e":"ਸ਼ੇ","ਸ਼i":"ਸ਼ੈ","ਸ਼੍o":"ਸ਼ੋ","ਸ਼u":"ਸ਼ੌ","ਸ਼੍:":"ਸ਼ਃ","ਸ਼੍a:":"ਸ਼ਃ","ਸ਼੍O":"ਸ਼","ਸ਼M":"ਸ਼ਾਁ","ਸ਼੍E":"ਸ਼","ਸ਼M":"ਸ਼ਁ","ਸ਼੍rर":"ਸ਼ਰ","ਸ਼ਰu":"ਸ਼ਰ","ਸ਼ਰU":"ਸ਼ਰ","ਸ਼ਰoo":"ਸ਼ਰ","ਸ਼੍र":"ਸ਼","ਸ਼u":"ਸ਼","ਸ਼U":"ਸ਼","ਸ਼ਓo":"ਸ਼","ਸ਼੍M":"ਸ਼ਂ","ਸ਼l":"ਸ਼","ਸ਼u":"ਸ਼","ਸ਼U":"ਸ਼","ਸ਼ਓo":"ਸ਼","ਸ਼੍h":"੍","੍a":"","a":"ਾ","੍i":"ਿ","੍I":"ੀ","ਿi":"ੀ","ੇe":"ੀ","੍u":"ੁ","੍U":"ੱ","ੋo":"ੂ","ੁu":"ੂ","੍e":"ੇ","i":"ੈ","੍o":"ੋ","u":"ੌ","੍:":"ਃ",":":"ਃ","੍O":"","M":"ਾਁ","੍E":"","M":"ਁ","੍र":"","u":"","U":"","ਓo":"","੍M":"ਂ","l":"","u":"","U":"","ਓo":"","੍h":"੍",';
amhaHash+='"s":"ਸ੍","ਸ੍a":"ਸ","ਸa":"ਸਾ","ਸ੍i":"ਸਿ","ਸ੍I":"ਸੀ","ਸਿi":"ਸੀ","ਸੇe":"ਸੀ","ਸ੍u":"ਸੁ","ਸ੍U":"ਸੱ","ਸੋo":"ਸੂ","ਸੁu":"ਸੂ","ਸ੍e":"ਸੇ","ਸi":"ਸੈ","ਸ੍o":"ਸੋ","ਸu":"ਸੌ","ਸ:":"ਸਃ","ਸਾ:":"ਸਃ","ਸ੍O":"ਸ","ਸM":"ਸਾਁ","ਸ੍E":"ਸ","ਸM":"ਸਁ","ਸ੍र":"ਸ","ਸu":"ਸ","ਸU":"ਸ","ਸਓo":"ਸ","ਸ੍M":"ਸਂ","ਸl":"ਸ","ਸu":"ਸ","ਸU":"ਸ","ਸਓo":"ਸ",';
amhaHash+='"S":"੍","h":"ਹ੍","ਹ੍a":"ਹ","ਹa":"ਹਾ","ਹ੍i":"ਹਿ","ਹ੍I":"ਹੀ","ਹਿi":"ਹੀ","ਹੇe":"ਹੀ","ਹ੍u":"ਹੁ","ਹ੍U":"ਹੱ","ਹੋo":"ਹੂ","ਹੁu":"ਹੂ","ਹ੍e":"ਹੇ","ਹi":"ਹੈ","ਹ੍o":"ਹੋ","ਹu":"ਹੌ","ਹ੍:":"ਹਃ","ਹ:":"ਹਃ","ਹ੍O":"ਹ","ਹM":"ਹਾਁ","ਹ੍E":"ਹ","ਹM":"ਹਁ","ਹ੍र":"ਹ","ਹu":"ਹ","ਹU":"ਹ","ਹਓo":"ਹ","ਹ੍M":"ਹਂ","ਹl":"ਹ","ਹu":"ਹ","ਹU":"ਹ","ਹਓo":"ਹ",';
amhaHash+='"L":"ਲ਼੍","ਲ਼੍a":"ਲ਼","ਲ਼a":"ਲ਼ਾ","ਲ਼੍i":"ਲ਼ਿ","ਲ਼੍I":"ਲ਼ੀ","ਲ਼ਿi":"ਲ਼ੀ","ਲ਼ੇe":"ਲ਼ੀ","ਲ਼੍u":"ਲ਼ੁ","ਲ਼੍U":"ਲ਼ੱ","ਲ਼ੋo":"ਲ਼ੂ","ਲ਼ੁu":"ਲ਼ੂ","ਲ਼੍e":"ਲ਼ੇ","ਲ਼i":"ਲ਼ੈ","ਲ਼੍o":"ਲ਼ੋ","ਲ਼u":"ਲ਼ੌ","ਲ਼੍:":"ਲ਼ਃ","ਲ਼:":"ਲ਼ਃ","ਲ਼੍O":"ਲ਼","ਲ਼M":"ਲ਼ਾਁ","ਲ਼੍E":"ਲ਼","ਲ਼M":"ਲ਼ਁ","ਲ਼੍र":"ਲ਼","ਲ਼u":"ਲ਼","ਲ਼U":"ਲ਼","ਲ਼ਓo":"ਲ਼","ਲ਼੍M":"ਲ਼ਂ","ਲ਼l":"ਲ਼","ਲ਼u":"ਲ਼","ਲ਼U":"ਲ਼","ਲ਼ਓo":"ਲ਼",';
amhaHash+='"x":"ਕ੍੍","ਕ੍੍a":"ਕ੍","ਕ੍a":"ਕ੍ਾ","ਕ੍੍i":"ਕ੍ਿ","ਕ੍੍I":"ਕ੍ੀ","ਕ੍ਿi":"ਕ੍ੀ","ਕ੍ੇe":"ਕ੍ੀ","ਕ੍੍u":"ਕ੍ੁ","ਕ੍੍U":"ਕ੍ੱ","ਕ੍ੋo":"ਕ੍ੂ","ਕ੍ੁu":"ਕ੍ੂ","ਕ੍੍e":"ਕ੍ੇ","ਕ੍i":"ਕ੍ੈ","ਕ੍੍o":"ਕ੍ੋ","ਕ੍u":"ਕ੍ੌ","ਕ੍੍:":"ਕ੍ਃ","ਕ੍:":"ਕ੍ਃ","ਕ੍੍O":"ਕ੍","ਕ੍M":"ਕ੍ਾਁ","ਕ੍੍E":"ਕ੍","ਕ੍M":"ਕ੍ਁ","ਕ੍੍र":"ਕ੍","ਕ੍u":"ਕ੍","ਕ੍U":"ਕ੍","ਕ੍ਓo":"ਕ੍","ਕ੍੍M":"ਕ੍ਂ","ਕ੍l":"ਕ੍","ਕ੍u":"ਕ੍","ਕ੍U":"ਕ੍","ਕ੍ਓo":"ਕ੍",';
amhaHash+='"X":"ਕ੍੍","ਜ੍n":"ਜ੍ਞ੍","ਗ੍y":"ਜ੍ਞ੍","ਜ੍ਞ੍a":"ਜ੍ਞ","ਜ੍ਞa":"ਜ੍ਞਾ","ਜ੍ਞ੍i":"ਜ੍ਞਿ","ਜ੍ਞ੍I":"ਜ੍ਞੀ","ਜ੍ਞਿi":"ਜ੍ਞੀ","ਜ੍ਞੇe":"ਜ੍ਞੀ","ਜ੍ਞ੍u":"ਜ੍ਞੁ","ਜ੍ਞ੍U":"ਜ੍ਞੱ","ਜ੍ਞੋo":"ਜ੍ਞੂ","ਜ੍ਞੁu":"ਜ੍ਞੂ","ਜ੍ਞ੍e":"ਜ੍ਞੇ","ਜ੍ਞi":"ਜ੍ਞੈ","ਜ੍ਞ੍o":"ਜ੍ਞੋ","ਜ੍ਞu":"ਜ੍ਞੌ","ਜ੍ਞ੍:":"ਜ੍ਞਃ","ਜ੍ਞ੍a:":"ਜ੍ਞਃ","ਜ੍ਞ੍O":"ਜ੍ਞ","ਜ੍ਞM":"ਜ੍ਞਾਁ","ਜ੍ਞ੍E":"ਜ੍ਞ","ਜ੍ਞM":"ਜ੍ਞਁ","ਜ੍ਞ੍र":"ਜ੍ਞ","ਜ੍ਞu":"ਜ੍ਞ","ਜ੍ਞU":"ਜ੍ਞ","ਜ੍ਞਓo":"ਜ੍ਞ","ਜ੍ਞ੍M":"ਜ੍ਞਂ","ਜ੍ਞl":"ਜ੍ਞ","ਜ੍ਞu":"ਜ੍ਞ","ਜ੍ਞU":"ਜ੍ਞ","ਜ੍ਞਓo":"ਜ੍ਞ",';
amhaHash+='"a":"ਅ","m":"","ਅa":"ਆ","A":"ਆ","i":"ਇ","I":"ਈ","ਇi":"ਈ","ਏe":"ਐ","u":"ਉ","ਉu":"ਊ","U":"ਊ","ਓo":"ਔ","e":"ਏ","ਅi":"ਐ","o":"ਓ","ਅu":"ਔ","H":"ਃ","M":"ਂ","ਂM":"ਁ","E":"","M":"ਅਁ","O":"","M":"ਆਁ","ਆU":"","l":"","u":"","र":"","i":"","u":"","U":"","ਓo":"","I":"","ਇi":"","~":"","q":"ੑ","ੑq":"","Q":"","Q":"","J":"਼","ਣ੍N":"ੰ","K":"਼","C":"॰","z":"","z":"","0":"੦","1":"੧","2":"੨","3":"੩","4":"੪","5":"੫","6":"੬","7":"੭","8":"੮","9":"੯"}';
// for compatibility with bookmarklets
function cyr_translit(src) {
return to_cyrillic(src);
}
var conversionHash = undefined;
var maxcyrlength = 0;
function getConversionHash() {
if (conversionHash == undefined) {
conversionHash = eval("("+amhaHash+")");
maxcyrlength=6;
}
return conversionHash;
}
function to_cyrillic(src, output, chunks) {
if (src == undefined || src == "" || src == null)
return src;
if (output == undefined)
output = new String();
var hash = getConversionHash();
var location = 0;
while (location < src.length) {
var len = Math.min(maxcyrlength, src.length - location);
var arr = undefined;
var sub;
while (len > 0) {
sub = src.substr(location, len);
arr = hash[sub];
if (arr != undefined)
break;
else
len--;
}
// need this for translit on the fly
if (chunks != undefined)
chunks[chunks.length] = sub;
if (arr == undefined) {
output += sub;
location ++;
}
else {
// case analysis
var newChar = arr;
if (sub.toLowerCase() == sub.toUpperCase() && arr.length > 1 && arr[1] && (newChar.toUpperCase() != newChar.toLowerCase())) {
// need translit hash to determine if previous character (and possibly the one before it)
// were converted and are in upper case
// set prevDud to true previous is not a translated character or simply a blank
// set prevCap to true if previous was translated and was upper case
var prevCh = output.length == 0 ? null : output.substr(output.length - 1, 1);
var prevDud = !prevCh || !getTranslitString(prevCh);
var prevCap = (!prevDud && prevCh == prevCh.toUpperCase());
// sub is caseless but result isn't. case will depend on lookbehind and lookahead
if (prevDud || !prevCap) {
output += newChar.toLowerCase();
prevCap = false;
}
else {
var next = " ";
if (location + len < src.length)
next = src.substr(location + len, 1);
if (next != next.toUpperCase() && next == next.toLowerCase() ) {
//next is lowercase (and not caseless)
output += newChar.toLowerCase();
}
else if (next == next.toUpperCase() && next != next.toLowerCase() ) {
// next is uppercase (and not caseless)
output += newChar.toUpperCase();
}
else {
// next is caseless. output case determined by the case of output[length - 2]
var pprevCh = output.length == 1 ? null : output.substr(output.length - 2, 1);
var pprevDud = !pprevCh || !getTranslitString(pprevCh);
if (!pprevDud && (pprevCh == pprevCh.toUpperCase())) {
//pre-prev is in upper case. output is also uppercase
output += newChar.toUpperCase();
}
else {
output += newChar.toLowerCase();
}
}
}
}
else if ((sub.toLowerCase() == sub.toUpperCase()) && (arr.length < 2 || !arr[1])) {
// literal treatment of newChar
output += newChar;
}
else if (sub != sub.toLowerCase()) {
// sub not all-lowercase
output += newChar.toUpperCase();
}
else {
// sub is lowercase
output += newChar.toLowerCase();
}
location += len;
}
}
return output;
}
function convertIt(src,converter){
var resultbuffer="";
for(var i=0;i<src.length;i++){
resultbuffer=converter(resultbuffer+src[i]);
}
return converter(resultbuffer);
}
var translitHash = undefined;
function initTranslit() {
if (translitHash == undefined) {
translitHash = new Array();
for (var i = 0; i < conversionHash.length; i++) {
var ch = conversionHash[i][1];
// if the translit string is not caseless, convert cyr string to upper case
// otherwise maintain its case
if (conversionHash[i][0].toUpperCase() != conversionHash[i][0].toLowerCase())
ch = ch.toUpperCase();
if (translitHash[ch] == undefined)
translitHash[ch] = conversionHash[i][0];
}
}
}
//-- translit on-the-fly --
function replaceValue(node, value, stepback) {
if (stepback == undefined)
stepback = 0;
if (isExplorer()) {
var range = document.selection.createRange();
range.moveStart("character", -stepback);
range.text = value;
range.collapse(false);
range.select();
}
else {
var scrollTop = node.scrollTop;
var cursorLoc = node.selectionStart;
node.value = node.value.substring(0, node.selectionStart - stepback) + value +
node.value.substring(node.selectionEnd, node.value.length);
node.scrollTop = scrollTop;
node.selectionStart = cursorLoc + value.length - stepback;
node.selectionEnd = cursorLoc + value.length - stepback;
}
}
// compare positions
function positionIsEqual(other) {
if (isExplorer())
return this.position.isEqual(other.position);
else
return this.position == other.position;
}
function Position(node) {
if (node.selectionStart != undefined)
this.position = node.selectionStart;
else if (document.selection && document.selection.createRange())
this.position = document.selection.createRange();
this.isEqual = positionIsEqual;
}
function resetState() {
this.position = new Position(this.node);
this.transBuffer = "";
this.cyrBuffer = "";
}
function StateObject(node) {
this.node = node;
this.reset = resetState;
this.cyrBuffer = "";
this.transBuffer = "";
this.position = new Position(node);
}
var stateHash = new Array();
function isExplorer() {
return (document.selection != undefined && document.selection.createRange().isEqual != undefined);
}
function pressedKey(event) {
if (isExplorer())
return event.keyCode;
else
return event.which;
}
function translitonkey(event) {
/*
if ((event.keyCode == 255 && event.charCode > 0) || event.keyCode == 8) {
return;
}
*/
if (event == undefined)
event = window.event;
var node = null;
if (event.target)
node = event.target;
else if (event.srcElement)
node = event.srcElement;
// initialize state
var state = stateHash[node];
if (state == null) {
state = new StateObject(node);
stateHash[node] = state;
}
if ( (pressedKey(event) > 20) && !event.ctrlKey && !event.altKey && !event.metaKey) {
var c = String.fromCharCode(pressedKey(event));
// process input
var result = process_translit(state, c);
// finish up
if (c != result.out || result.replace != 0) {
if (isExplorer())
event.returnValue = false;
else
event.preventDefault();
replaceValue(node, result.out, result.replace);
state.position = new Position(node);
}
}
}
function TranslitResult() {
this.out = "";
this.replace = 0;
}
function process_translit(state, c) {
// reset state if position changed
if (!state.position.isEqual(new Position(state.node)))
state.reset();
var result = new TranslitResult();
// initial backbuffer. Add to it as characters are converted
var backbuffer = getBackBuffer(state.node, state.cyrBuffer.length, 2);
var chunks = new Array();
state.transBuffer = state.transBuffer+ c
var str = to_cyrillic(state.cyrBuffer+c, backbuffer, chunks);
// remove backbuffer from output
str = str.substr(backbuffer.length);
result.out = str;
/* str is now left alone - it has the output matching contents of chunks and
will be used to reinitialize backbuffers, along with chunks and state.transBuffer
*/
// get the difference between state.cyrBuffer and output
for (var i = 0; i < Math.min(state.cyrBuffer.length, result.out.length); i++) {
if (state.cyrBuffer.substr(i, 1) != result.out.substr(i, 1)) {
result.replace = state.cyrBuffer.length - i;
result.out = result.out.substr(i);
break;
}
}
if (result.replace == 0) {
if(result.out.length<state.cyrBuffer.length)
result.replace=state.cyrBuffer.length- result.out.length;
result.out = result.out.substr(Math.min(state.cyrBuffer.length, result.out.length));
// result.out+="\u0008"
}
// update state: backbuffer, bufferArray
if (chunks.length > 0 && chunks[chunks.length - 1] == result.out.substr(result.out.length - 1)) {
// no convertion took place, reset state
state.reset();
}
else {
while (state.transBuffer.length > maxcyrlength) {
state.transBuffer = state.transBuffer.substr(chunks[0].length);
chunks.shift();
str = str.substr(1);
}
state.cyrBuffer = str;
}
return result;
}
function getBackBuffer(node, offset, count) {
if (isExplorer()) { //.tagName.toUpperCase() == "EDITOR") {
var range = document.selection.createRange();
range.moveStart("character", -offset);
var result = range.text.substr(-count);
if (!result)
result = "";
return result;
} else {
return node.value.substring(0, node.selectionStart - offset).substr(-count);
}
}
// need this for bookmarklets
function getSelectedNode() {
if (document.activeElement)
return document.activeElement;
else
if (window.getSelection && window.getSelection() && window.getSelection().rangeCount > 0) {
var range = window.getSelection().getRangeAt(0);
if (range.startContainer && range.startContainer.childNodes && range.startContainer.childNodes.length > range.startOffset)
return range.startContainer.childNodes[range.startOffset]
}
return null;
}
function toggleCyrMode() {
var node = getSelectedNode();
if (node) {
if (stateHash[node]) {
if (removeKeyEventListener(node))
delete stateHash[node];
}
else {
if (addKeyEventListener(node))
stateHash[node] = new StateObject(node);
}
}
}
function addKeyEventListener(node) {
if (node.addEventListener)
node.addEventListener("keypress", translitonkey, false);
else if (node.attachEvent)
node.attachEvent("onkeypress", translitonkey);
else return false;
return true;
}
function removeKeyEventListener(node) {
if (node.removeEventListener)
node.removeEventListener("keypress", translitonkey, false);
else if (node.detachEvent)
node.detachEvent("onkeypress", translitonkey);
else return false;
return true;
}
function getSelectedText() {
if (isExplorer()) {
return document.selection.createRange().text;
}
else {
var node = getSelectedNode();
if (node && node.value && node.selectionStart != undefined && node.selectionEnd != undefined)
return node.value.substring(node.selectionStart, node.selectionEnd);
}
return "";
}