Hi All, Here are requirements for a javascript program I am writing. The goal is to have a serverless web page that can accept various languages and search unicode text from a file in the same directory with the search page html file. So the page reads a unicode text file in the same directory and accepts input from user. All output is to the page. Mozilla, Netscape and IE are desired. You may take a stab at it if you like. 1. Page has a language selection drop down. 2. Page has a direction favoring drop down. 3. Page has a textarea entry. Rules of textarea: 1. Whatever language is selected in the language dropdown are the characters that will appear when an English keyboard is typed on. 2. Direction favoring rules, for the direction dropdown a. absolute right. every character in every language acts like English. Text always flows from left to right as you type. b. absolute left. every character in every language acts like Hebrew. Text always flows from right to left as you type, even numbers. c. favor right. generally the text flows from left to right, but contiguous letters of different languages flow their natural direction. Numbers always go right. Most characters go the direction of the current language selected. Here is an example. Underscore represents a blank. e = english, h=hebrew (selected from dropdown) e h e (prder languages are selected) a b c ; # _ _ א ב ג . a 1 2 3 1 2 3 4 5 6 10 9 8 7 11 12 13 14 15 (order keys are typed) d. favor left generally the text flows from right to left, but contiguous letters of different languages flow their natural direction. Numbers always go right. Most characters go the direction of the current language selected. Here is an example Underscore represents a blank. e= english, h=hebrew (selected from dropdown) e(third) e (first) h(second) (order languages are selected) . a 1 2 3 _ א ב ג a b c ; # _ 11 12 13 14 15 10 9 8 7 1 2 3 4 5 6 (order keys are typed) These examples don't show all the cases, but if numbers are typed in while Hebrew is selected, they go the wrong way, to the right, just like in English. e. split The idea here is that only 2 languages are allowed on a single line. If English is selected english characters stay over on the left side. Hebrew characters stay over on the right side. If you attempt to mix them in this mode the cursor will jump to the "end" of characters of the same language and appear there. If you insert characters of the same language they will go where typed. Numbers always go right, and will appear at the caret, where ever it is. Punctuation will go the direction of the current language and act like current language characters. I'm starting to see why this has been so difficult. It seems so intuitive. Currently have attempted using both the Range and TextRange objects, with some success. Also!!! - the arrow keys must always go the direction they show on the keyboard. They cannot go crazily jumping around the line as the caret moves through different languages. Also!!! - The enter key works with the "direction favored" selection, not the language selected. So "favor right"will put everthing to the right of the caret on the next line going down. "Favor left" will put everything left of the cursor on the next line down. Enjoy, Steve