/* Based on script by Igor Ilin (Èãîðü Èëüèí) <info@translit.ru> */
var lat = ('/E_/e_/O_/o_Øh_Éo_Çh_Öh_Ñh_Ée_Éu_Éa_Ûo_Ûu_Ûa_ØH_ÉO_ÇH_ÖH_ÑH_ÉE_ÉU_ÉA_ÛO_ÛU_ÛA_A_B_V_G_D_E_Z_I_J_K_L_M_N_O_P_R_S_T_U_F_X_C_ú#_Y_ü\'_H_W_Q_øh_éo_çh_öh_ñh_ée_éu_éa_ûo_ûa_a_b_v_g_d_e_z_i_j_k_l_m_n_o_p_r_s_t_u_f_x_c_#_y_\'_h_w_q_'+String.fromCharCode(220)+'_'+String.fromCharCode(214)+'_'+String.fromCharCode(196)+'_'+String.fromCharCode(252)+'_'+String.fromCharCode(246)+'_'+String.fromCharCode(228)).split('_');
var rus = ('E_e_O_o_Ù_¨_Æ_×_Ø_Ý_Þ_ß_¨_Þ_ß_Ù_¨_Æ_×_Ø_Ý_Þ_ß_¨_Þ_ß_À_Á_Â_Ã_Ä_Å_Ç_È_É_Ê_Ë_Ì_Í_Î_Ï_Ð_Ñ_Ò_Ó_Ô_Õ_Ö_Ú_Û_Ü_Õ_Ù_ß_ù_¸_æ_÷_ø_ý_þ_ÿ_¸_ÿ_à_á_â_ã_ä_å_ç_è_é_ê_ë_ì_í_î_ï_ð_ñ_ò_ó_ô_õ_ö_ú_û_ü_õ_ù_ÿ_Þ_¨_Ý_þ_¸_ý').split('_');

function jc_setuptranslit(e,mError,mON,mOFF) {
	if(jc_isO9){alert(mError);}
	else{jc_enable_translit=(jc_enable_translit)?0:1;e.innerHTML=(jc_enable_translit==1)?mON:mOFF;}
	jc_geteditor().focus();
}
function jc_translate(e) {
	var c=e.keyCode?e.keyCode:(e.which?e.which:void 0);
	if((jc_def(e.which)&&(e.which==0))||(e.ctrlKey||e.altKey))return true;
        if(jc_def(c)&&(c>33)) {
        	if(e.preventDefault){e.preventDefault();}
        	var ta=jc_geteditor(),result="",pretxt="";
        	if(ta.setSelectionRange){
	        	pretxt=ta.value.substring(0,ta.selectionStart);
        		result=jc_translatesymbol(pretxt+String.fromCharCode(c));
        		therest=ta.value.substr(ta.selectionEnd);
	        	ta.value=result+therest;
        		ta.setSelectionRange(result.length,result.length);
		}else{
			var sel=document.selection.createRange();sel.text="";sel.moveStart("character",-1);
			pretxt=sel.text;if(pretxt.length>1) pretxt="";event.keyCode=0;
			result=jc_translatesymbol(pretxt+String.fromCharCode(c));
			if(pretxt!=""){sel.select();sel.collapse();}
			with(document.selection.createRange()){text=result;collapse();select();}
		}
		return false;
        }
        return true;
}
function jc_translatesymbol(t){var p=0;for(var i=0;i<lat.length;i++){p=t.length>lat[i].length?(t.length-lat[i].length):0;if(lat[i]==t.substr(p,t.length-p)){return t.substr(0,t.length-lat[i].length)+rus[i];}}return t;}
