
function CyrLatConvertor(){this.COUNT=60;this.actions=new Array("lat-cyr-neo","cyr-lat-neo","cyr-lat-classic","cyr-lat-custom");this.encodings=new Array("Windows-1251","KOI8-R");this.action=this.actions[0];this.encoding=this.encodings[0];this.latArr=new Array('A','B','W','G','D','E','V','Z','I','J','K','L','M','N','O','P','R','S','T','U','F','H','C','~','{','}','X','Y','|','Q','a','b','w','g','d','e','v','z','i','j','k','l','m','n','o','p','r','s','t','u','f','h','c','`','[',']','x','y','\\','q');this.cyrArr_UTF8=new Array('А','Б','В','Г','Д','Е','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ь','Ю','Я','а','б','в','г','д','е','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ь','ю','я');this.cyrArr_windows_1251=new Array('À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö','×','Ø','Ù','Ú','Ü','Þ','ß','à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô','õ','ö','÷','ø','ù','ú','ü','þ','ÿ');this.latArrCustom=this.latArrClassic;this.showClassic=showClassic;this.convert=convert;this.replaceCustom=replaceCustom;}
function showClassic(){var msg="";for(i=1;i<=this.COUNT;i++){msg+=this.cyrArr_windows_1251[i-1]+"-"+
this.latArrClassic[i-1];if(i<this.COUNT)
msg+=" | ";}
return msg;}
function convert(input){var cyrArr=new Array();var srcArr=new Array();var targetArr=new Array();var assocArr=new Array();srcArr=this.latArr;targetArr=this.cyrArr_UTF8;for(var i=0;i<this.COUNT;i++){assocArr[srcArr[i]]=targetArr[i]}
var everyChar='';var output="";var inputLen=input.length;var isOneForNoTransl=false;var isMoreForNoTransl=false;var toWork=true
if(toWork){for(var i=0;i<inputLen;i++){everyChar=input.charAt(i);if(isOneForNoTransl){output+=everyChar;isOneForNoTransl=false;}
else if(isMoreForNoTransl){if(everyChar=="$"){isMoreForNoTransl=false;}else{output+=everyChar;}}else{switch(everyChar){case"$":isMoreForNoTransl=true;break;case"#":isOneForNoTransl=true;break;default:if(assocArr[everyChar]!=undefined){output+=assocArr[everyChar]}else{output+=everyChar}}}}
status=""
return output}
return''}
function replaceCustom(indexForReplace,newChar){this.latArrCustom[indexForReplace]=newChar;}