// Инициализируем таблицу перевода
var trans = [];
for (var i = 0x410; i <= 0x44F; i++)
  trans[i] = i - 0x350; // А-Яа-я
trans[0x401] = 0xA8;    // Ё
trans[0x451] = 0xB8;    // ё

function uaclLinkKeyword(keyword) {

  var contentText=document.body.innerHTML;
  var advTagBegin='http://rupoisk.ru/index.php?divis=xxxx&search_string='+escape_new(keyword)+'" target="_blank">';
  var advTagEnd="</a>";
  var newText="";
  var x=-1;
  var lkeyword=keyword.toLowerCase();
  var ltext=contentText.toLowerCase();
  var keywordlen=keyword.length;

  while(contentText.length>0) {
    var x=ltext.indexOf(lkeyword,(x+1));

  if(x<0) {
    newText+=contentText;
    var contentText="";
  } else {
      if((contentText.lastIndexOf("<\!--uaContextLinks-->",x)>=contentText.lastIndexOf("<\!--\/uaContextLinks-->",x)) && (newText.length>0 || contentText.lastIndexOf("<\!--uaContextLinks-->",x)>=0)) {
        if(contentText.lastIndexOf(">",x)>=contentText.lastIndexOf("<",x)) {
          if(contentText.lastIndexOf("<\/a>",x)>=contentText.lastIndexOf("<a ",x)) {
            if((ltext.charAt(x-1)<'a' || ltext.charAt(x-1)>'z') && (ltext.charAt(x+keywordlen)<'a' || ltext.charAt(x+keywordlen)>'z')) {
              newText+=contentText.substring(0,x)+advTagBegin+contentText.substr(x,keywordlen)+advTagEnd;
              var contentText=contentText.substr(x+keywordlen);
              var ltext=contentText.toLowerCase();
              var x=-1;
            }
          }
        }
      }
    }
  }

  document.body.innerHTML=newText;

}

// Переопределяем функцию escape()
function escape_new(str)
{
  var ret = [];
  // Составляем массив кодов символов, попутно переводим кириллицу
  for (var i = 0; i < str.length; i++)
  {
    var n = str.charCodeAt(i);
    if (typeof trans[n] != 'undefined')
      n = trans[n];
    if (n <= 0xFF)
      ret.push(n);
  }
  return escape(String.fromCharCode.apply(null, ret));
}

