var d = 2;
var focused = null;

function convert(msgField) {

var msg = msgField.value;

d = d == 2 ? 1 : 2;

var msg_part = new Array();
var current_part = '';
var bracket_open = false;

for (i = 0; i < msg.length; i++) {

chr = msg.charAt(i);

if (chr == '[') {

bracket_open = true;
// msg_part.push(current_part);
msg_part[msg_part.length] = current_part;
current_part = chr;

} else if (chr == ']' && bracket_open) {

bracket_open = false;
current_part += chr;
//msg_part.push(current_part);
msg_part[msg_part.length] = current_part;
current_part = '';

} else {

current_part += chr;

} // if

} // for

msg_part.push(current_part);

if (d == 1) {

var search_cap = new Array(/S(HCH|hch)/g, /[YJ][Oo]/g, /C[Hh]/g, /S[Hh]/g, /(E[Hh]|-E)/g, /[YJ][Uu]/g, /[YJ][Aa]/g, /Z[Hh]/g, /(#|'')/g, /A/g, /B/g, /[VW]/g, /G/g, /D/g, /E/g, /Z/g, /I/g, /J/g, /K/g, /L/g, /M/g, /N/g, /O/g, /P/g, /R/g, /S/g, /T/g, /U/g, /F/g, /[HX]/g, /C/g, /'/g, /Y/g);
var replace_cap = new Array("Щ", "Ё", "Ч", "Ш", "Э", "Ю", "Я", "Ж", "Ъ", "А", "Б", "В", "Г", "Д", "Е", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ь", "Ы");

var search_small = new Array(/shch/g, /[yj]o/g, /ch/g, /sh/g, /(eh|-e)/g, /[yj]u/g, /[yj]a/g, /zh/g, /(#|'')/g, /a/g, /b/g, /[vw]/g, /g/g, /d/g, /e/g, /z/g, /i/g, /j/g, /k/g, /l/g, /m/g, /n/g, /o/g, /p/g, /r/g, /s/g, /t/g, /u/g, /f/g, /[hx]/g, /c/g, /'/g, /y/g, /#/);
var replace_small = new Array("щ", "ё", "ч", "ш", "э", "ю", "я", "ж", "ъ", "а", "б", "в", "г", "д", "е", "з", "и","й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ь", "ы", "ъ");

} if (d == 2) {

var search_cap = new Array(/Щ/g,/Ё/g,/Ч/g,/Ш/g,/Э/g,/Ю/g,/Я/g,/Ж/g,/А/g,/Б/g,/В/g,/Г/g,/Д/g,/Е/g,/З/g,/И/g,/Й/g,/К/g,/Л/g,/М/g,/Н/g,/О/g,/П/g,/Р/g,/С/g,/Т/g,/У/g,/Ф/g,/Х/g,/Ц/g,/Ь/g,/Ы/g,/Ъ/);
var replace_cap = new Array("SHCH","YO","CH","SH","-E","YU","YA","ZH","A","B","W","G","D","E","Z","I","J","K","L","M","N","O","P","R","S","T","U","F","X","C","'","Y","''");

var search_small = new Array(/щ/g,/ё/g,/ч/g,/ш/g,/э/g,/ю/g,/я/g,/ж/g,/а/g,/б/g,/в/g,/г/g,/д/g,/е/g,/з/g,/и/g,/й/g,/к/g,/л/g,/м/g,/н/g,/о/g,/п/g,/р/g,/с/g,/т/g,/у/g,/ф/g,/х/g,/ц/g,/ь/g,/ы/g,/ъ/);
var replace_small = new Array("shch","yo","ch","sh","-e","yu","ya","zh","a","b","w","g","d","e","z","i","j","k","l","m","n","o","p","r","s","t","u","f","x","c","'","y","''");

}

for (j = 0; j < msg_part.length; j++) {

if (msg_part[j] != '') {

for (k=0; k < search_cap.length; k++) {

msg_part[j] = msg_part[j].replace(search_small[k],replace_small[k]);
msg_part[j] = msg_part[j].replace(search_cap[k],replace_cap[k]);

}

}

j++;

} // for

msg = msg_part.join("");

msgField.value=msg;
msgField.focus();

}

function setFocused(obj) {
focused = obj;
}