// One character letters
t_table1 = 'qwertyuiop[]asdfghjkl;\'zxcvbnm,./`QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?';
w_table1 = 'éöóêåíãøùçõúôûâàïðîëäæýÿ÷ñìèòüáþ.¸ÉÖÓÊÅÍÃØÙÇÕÚÔÛÂÀÏÐÎËÄÆÝß×ÑÌÈÒÜÁÞ,';



// HTML Special characters
spec_table=new Array("&trade;","&amp;","&lt;","&gt;","&nbsp;","&copy;","&reg;","&");


function EnRu(str)
{
 var len = str.length;
 var new_str="";

 for (i = 0; i < len; i++)
 {
  // Skip tags

  while ((i<len) && (str.substr(i,1)=="<"))
  {
      while ( (i<len) && ((c=str.substr(i,1))!=">") )
          {
                          new_str+=c;
                          i++;
          }
          new_str+=">";
          if (i<len-1)
          {
                          i++;
          }
          else
                  return new_str;
  }

  //skip BBCode
  while ((i<len) && (str.substr(i,1)=="["))
  {
      while ((i<len) && ((c=str.substr(i,1))!="]"))
          {
                          new_str+=c;
                          i++;
          }
          new_str+="]";
          if (i<len-1)
          {
                          i++;
          }
          else
                  return new_str;
  }

  //skip html special characters
  while (str.substr(i,1)=='&')
  {
                  for (j=0; j<spec_table.length; j++)
                  {
                        var spec_len=spec_table[j].length;
                        if ((i<=len-spec_len) && (str.substr(i,spec_len)==spec_table[j]))
                        {
                                new_str+=str.substr(i,spec_len);
                                i+=spec_len;
                                if (i==len)
                                {
                                                return new_str;
                                }
                                break;
                        }
          }
  }





   // Convert one-character letter
   var c = str.substr(i, 1);
   var pos = t_table1.indexOf(c);
   if (pos < 0)
    new_str+= c;
   else
    new_str+= w_table1.substr(pos, 1);

 }

 return new_str;
}
