Потребител:Nk/Monobook.js

От Уикикниги

Забележка: За да се видят промените, необходимо е след публикуване на страницата, кешът на браузъра да бъде изтрит.

  • Firefox / Safari: Задържа се клавиш Shift и се щраква върху Презареждане (Reload) или чрез клавишната комбинация Ctrl-F5 or Ctrl-R (⌘-R за Mac);
  • Google Chrome: клавишна комбинация Ctrl-Shift-R (⌘-Shift-R за Mac)
  • Internet Explorer / Edge: Задържа се клавиш Ctrl и се щраква върху Refresh или чрез клавишната комбинация Ctrl-F5;
  • Opera: Press Ctrl-F5.
/*
Този файл съдържа код на [[Джаваскрипт]] и се зарежда при всички потребители 
<pre>
*/

/* tooltips and access keys */
ta = new Object();
ta['pt-userpage'] = new Array('.','Вашата потребителска страница');
ta['pt-anonuserpage'] = new Array('.','Потребителската страница за адреса, от който редактирате');
ta['pt-mytalk'] = new Array('n','Вашата дискусионна страница');
ta['pt-anontalk'] = new Array('n','Дискусия относно редакциите от този адрес');
ta['pt-preferences'] = new Array('','Вашите настройки');
ta['pt-watchlist'] = new Array('l','Списък на страници, чиито промени сте избрали да наблюдавате');
ta['pt-mycontris'] = new Array('y','Списък на Вашите приноси');
ta['pt-login'] = new Array('o','В момента не сте влезли. Насърчаваме Ви да влезете, въпреки че не е задължително.');
ta['pt-anonlogin'] = new Array('o','Насърчаваме Ви да влезете, въпреки че не е задължително.');
ta['pt-logout'] = new Array('o','Излизане от Уикипедия');
ta['ca-talk'] = new Array('t','Беседа относно страницата');
ta['ca-edit'] = new Array('e','Можете да редактирате страницата. Моля, използвайте бутона за предварителен преглед преди да съхраните.');
ta['ca-addsection'] = new Array('+','Добавяне на коментар към страницата');
ta['ca-viewsource'] = new Array('e','Страницата е защитена. Може да разгледате изходния й код.');
ta['ca-history'] = new Array('h','Предишни версии на страницата');
ta['ca-protect'] = new Array('=','Защитаване на страницата');
ta['ca-delete'] = new Array('d','Изтриване на страницата');
ta['ca-undelete'] = new Array('d','Възстановяване на изтрити редакции на страницата');
ta['ca-move'] = new Array('m','Преместване на страницата');
ta['ca-nomove'] = new Array('','Нямате разрешение за преместване на страницата');
ta['ca-watch'] = new Array('w','Добавяне на страницата към списъка Ви за наблюдение');
ta['ca-unwatch'] = new Array('w','Премахване на страницата от списъка Ви за наблюдение');
ta['search'] = new Array('f','Претърсване на Уикипедия');
ta['p-logo'] = new Array('','Началната страница');
ta['n-mainpage'] = new Array('z','Началната страница');
ta['n-portal'] = new Array('','Информация за проекта');
ta['n-currentevents'] = new Array('','Списък на основните категории в Уикипедия');
ta['n-recentchanges'] = new Array('r','Списък на последните промени в цялото уики');
ta['n-randompage'] = new Array('x','Случайна страница');
ta['n-help'] = new Array('','Помощната страница');
ta['n-sitesupport'] = new Array('','Подкрепете Уикипедия');
ta['t-whatlinkshere'] = new Array('j','Списък на всички страници, сочещи насам');
ta['t-recentchangeslinked'] = new Array('k','Последните промени на страници, сочещи към тази страница');
ta['feed-rss'] = new Array('','RSS feed за страницата');
ta['feed-atom'] = new Array('','Atom feed за страницата');
ta['t-contributions'] = new Array('','Показване на приносите на потребителя');
ta['t-emailuser'] = new Array('','Изпращане на писмо на потребителя');
ta['t-upload'] = new Array('u','Качване на файлове');
ta['t-specialpages'] = new Array('q','Списък на всички специални страници');
ta['ca-nstab-main'] = new Array('c','Преглед на основната страница');
ta['ca-nstab-user'] = new Array('c','Преглед на потребителската страница');
ta['ca-nstab-media'] = new Array('c','Преглед на медийната страница');
ta['ca-nstab-special'] = new Array('','Това е специална страница, която не може да се редактира.');
ta['ca-nstab-wp'] = new Array('c','Преглед на проектната страница');
ta['ca-nstab-image'] = new Array('c','Преглед на страницата на картинката');
ta['ca-nstab-mediawiki'] = new Array('c','Преглед на системното съобщение');
ta['ca-nstab-template'] = new Array('c','Преглед на шаблона');
ta['ca-nstab-help'] = new Array('c','Преглед на помощната страница');
ta['ca-nstab-category'] = new Array('c','Преглед на категорийната страница');

/* 
чрез тази функция се показва поздравително съобщение на всеки невлязъл потребител, ако:
    страницата НЕ е защитена
    страницата Е от основното именно пространство, т.е. е статия
    има препращач
    препращачът НЕ съдържа wikipedia.org (например идва от Гугъл)
взета е от [[:de:MediaWiki:Monobook.js]], с малки промени
*/
onload = function externMessage() {
if (
    ((self.location.href + "").indexOf("/wiki/") != -1) &&  // дали потребителят вече не редактира
    (document.getElementById("pt-login")) &&  // дали потребителят НЕ е влязъл
    (document.getElementById("ca-edit")) &&   // дали страницата НЕ е защитена
    (document.getElementsByTagName("body")[0].className == "ns-0") &&   // дали страницата Е статия
    (document.referrer != "") &&             // дали ИМА препращач
    (document.referrer.search(/wikipedia\.org/) == -1) // дали препращачът НЕ съдържа wikipedia.org
    )
{
    var externMessage = document.createElement("div");
    externMessage.setAttribute('id','externMessage');
    // Съобщението, показвано на потребителите
    externMessage.innerHTML = '<b>Добре дошли</b> в Уикипедия! Можете не само да четете тази статия, но също така и да я <b><a href="/wiki/%D0%A3%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%92%D1%8A%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5" title="Повече информация за редактирането на статии в Уикипедия">редактирате и подобрите</a></b>.';
    document.getElementById("bodyContent").insertBefore(
    externMessage, document.getElementById("contentSub")
    );
}
}

/* 
Код за вмъкване на шаблони чрез падащо меню, дефинирано в [[МедияУики:Summary]]
(по идея на [[:he:MediaWiki:Summary|еврейската Уикипедия]])
*/

/* associative array for all templates
    their id-s are defined in [[MediaWiki:Summary]] -- values of OPTION elements
*/
var t = new Array();
t['disam'] = new Array("'''", "Понятие", "''' може да се отнася за:\n\n* \n* \n* \n\n{"+"{пояснение}}");
t['todo'] = new Array("{"+"{subst:Обработка|", "форматиране", "}}");
t['stub'] = new Array("{"+"{мъниче", "", "}}");
t['to-disam'] = new Array("{"+"{към пояснение|термин|", "термин", " (пояснение)}}");
t['cat'] = new Array("[[Кат"+"егория:", "Категория", "]]");
t['cat-info'] = new Array("{"+"{Категория инфо|", "Име на статия", "}}");
t['bio-info'] = new Array("{"+"{Биография инфо|\n  име= \n| портрет= dot.png\n| описание= \n| наставка= \n| роден-дата=[[]] [[]] \n| роден-място=[[]], [[]] \n| починал-дата=[[]] [[]] \n| починал-място=[[]], [[]]\n", "", "}}");
t['company-info'] = new Array("{"+"{Компания инфо|\n  име        = \n| лого       = dot.png\n| основаване = ?\n| град       = [[]]\n| страна     = [[]]\n| заети      = ?\n| продукти   = [[]]\n| сайт       = ?\n", "", "}}");
t['ext-links'] = new Array("\n== Външни препратки ==\n\n* [http://", "сайт.бг Външна препратка", "]");
t['see-also'] = new Array("\n== Вижте също ==\n\n* ["+"[", "Име на статия", "]]");
t['table'] = new Array("\n{|\n|\n|-\n|\n|}", "", "");
t['ekip'] = new Array("{"+"{Екип отбор|\n дом-тяло=orange\n|дом-ръкави=orange\n|дом-шорти=black\n|дом-чорапи=orange\n\n|гост-тяло=green\n|гост-ръкави=green\n|гост-шорти=black\n|гост-чорапи=green\n", "", "}}");
// t['<TEMPLATE-ID>'] = new Array("<LEFT>", "<CONTENT>", "<RIGHT>");

/* Създаване на съдържанието на кутията с допълнителните знаци */
function createLetExt() {
    var letters = new Array(
     new Array(
      'ѣ', 'ѫ', 'ѭ', 'ѧ',  'ѩ'),
     new Array(
      'α', 'β', 'γ', 'δ', 'ε', 'ζ', 'η', 'θ', 'ι', 'κ', 
      'λ', 'μ', 'ν', 'ξ', 'ο', 'π', 'ρ', 'σ', 'ς', 'τ', 
      'υ', 'φ', 'χ', 'ψ', 'ω', 'Γ', 'Δ', 'Θ', 'Λ', 'Ξ', 
      'Π', 'Σ', 'Φ', 'Ψ', 'Ω'), 
     new Array(
      '∫', '∑', '∏', '√', '−', '±', '∞', '≈', '~', '∝', '≡', 
      '≠', '≤', '≥', '×', '·', '÷', '∂', '′', '″', '∇', '∮', '⊥',
      '‰', '°', '∴', 'ℵ', 'ℋ', '℧', '№', '^', '¹', '²', '³', '½', '¼', '¾',
      '∈', '∉', '∩', '∪', '⊂', '⊃', '⊆', '⊇', 
      '∧', '∨', 'ø', '¬', '∃', '∀', '⇒', '⇐',
      '⇓', '⇑', '⇔', '→', '←', '↓', '↑', '↔',  '⇄', '⇆', '⇋', '⇌',
      'ℕ', 'ℤ', 'ℚ', 'ℝ', 'ℂ', '∅', '⋮', '⋯'), 
     new Array(
      '™', '©', '®', '¢', '€', '¥', '£', '¤', '¿', '¡', 
      '«', '»', '§', '¶', '†', '‡', '•', '♀', '♂', '…', '¨'), 
     new Array(
      'Á', 'á', 'É', 'é', 'Í', 'í', 
      'Ó', 'ó', 'Ú', 'ú', 'À', 'à', 'È', 'è', 'Ì', 'ì', 
      'Ò', 'ò', 'Ù', 'ù', 'Â', 'â', 'Ê', 'ê', 'Î', 'î', 
      'Ô', 'ô', 'Û', 'û', 'Ä', 'ä', 'Ë', 'ë', 'Ï', 'ï'), 
     new Array(
      'Ö', 'ö', 'Ü', 'ü', 'ß', 'Ã', 'ã', 'Ñ', 'ñ', 'Õ', 
      'õ', 'Ç', 'ç', 'Ģ', 'ģ', 'Ķ', 'ķ', 'Ļ', 'ļ', 'Ņ', 
      'ņ', 'Ŗ', 'ŗ', 'Ş', 'ş', 'Ţ', 'ţ', 'Ć', 'ć', 'Ĺ', 
      'ĺ', 'Ń', 'ń', 'Ŕ', 'ŕ', 'Ś', 'ś', 'Ý', 'ý', 'Ź'),
     new Array( 
      'ź', 'Đ', 'đ', 'Ů', 'ů', 'Č', 'č', 'Ď', 'ď', 'Ľ', 
      'ľ', 'Ň', 'ň', 'Ř', 'ř', 'Š', 'š', 'Ť', 'ť', 'Ž', 
      'ž', 'Ǎ', 'ǎ', 'Ě', 'ě', 'Ǐ', 'ǐ', 'Ǒ', 'ǒ', 'Ǔ', 
      'ǔ', 'Ā', 'ā', 'Ē', 'ē', 'Ī', 'ī', 'Ō', 'ō', 'Ū'), 
     new Array(
      'ū', 'ǖ', 'ǘ', 'ǚ', 'ǜ', 'Ĉ', 'ĉ', 'Ĝ', 'ĝ', 'Ĥ', 
      'ĥ', 'Ĵ', 'ĵ', 'Ŝ', 'ŝ', 'Ŵ', 'ŵ', 'Ŷ', 'ŷ', 'Ă', 
      'ă', 'Ğ', 'ğ', 'Ŭ', 'ŭ', 'Ċ', 'ċ', 'Ė', 'ė', 'Ġ', 
      'ġ', 'İ', 'ı', 'Ż', 'ż', 'Ą', 'ą', 'Ę', 'ę', 'Į'), 
     new Array(
      'į', 'Ų', 'ų', 'Ł', 'ł', 'Ő', 'ő', 'Ű', 'ű', 'Ŀ', 
      'ŀ', 'Ħ', 'ħ', 'Ð', 'ð', 'Þ', 'þ', 'Œ', 'œ', 'Æ', 
      'æ', 'Ø', 'ø', 'Å', 'å')
    );
    var len = letters.length;
    var content = '';
    for (var i = 0; i < len; i++) {
      var len2 = letters[i].length;
      for (var j = 0; j < len2; j++) {
        content += "<a href=\"javascript:insertTags('"+letters[i][j]+"', '', '')\" "+
          "title=\"Вмъкване на знака '"+letters[i][j]+"'\">"+letters[i][j]+"</a> ";
      }
      if (i != len-1) { content += '· '; }
    }
    //document.getElementById('let-ext').innerHTML = content;
    return content;
}

/* Скриване/показване на елемент */
function toggleElem(elemId) {
    var elem = document.getElementById(elemId);
    elem.style.display = elem.style.display == 'none' ? '' : 'none';
}

/* код от [[:ru:MediaWiki:Summary]], вижте [[:ru:Википедия:Викификатор]] */
function obrabotka() {
  check_regexp();//Проверяем поддерживаются ли рег. выражения
  document.editform.wpTextbox1.focus();
  var txtarea = document.editform.wpTextbox1;
  if(document.selection  && !is_gecko)/* IE*/ {
    txt = " "+document.selection.createRange().text;
    if (txt == " ")  {all_text();} //Если ничего не выделено
    else{
      zamena();
      txt = txt.substr (1, txt.length-1);
      document.selection.createRange().text = txt;
      }
    }
  else if((txtarea.selectionStart || txtarea.selectionStart == '0')&&(navigator.productSub>20031000)) /*Gecko-браузеры старше 10.2003*/ {
      var startPos = txtarea.selectionStart;
      var endPos = txtarea.selectionEnd;
      var scrollTop=txtarea.scrollTop;
      txt = " "+(txtarea.value).substring(startPos, endPos);
      if (txt == " ")  {all_text();} //Если ничего не выделено
      else{
        zamena();
        txt = txt.substr (1, txt.length-1);
        txtarea.value = txtarea.value.substring(0, startPos) + txt + txtarea.value.substring(endPos, txtarea.value.length);
        txtarea.focus();
        }
      }
  else{if (confirm("Уикификатор ще обработи ЦЕЛИЯ текст в статията. Да продължи ли?")){all_text();}} //Прочие браузеры
}

//======================================
function all_text() { //Обрабатываем текст целиком
  txt = " "+document.editform.wpTextbox1.value;
  zamena();
  txt = txt.substr (1, txt.length-1);
  document.editform.wpTextbox1.value=txt;
}

//======================================
function check_regexp() { //Проверяем поддерживаются ли рег. выражения
  var reg1="код";
  reg1=reg1.replace(/д/g, "т");
  if (reg1 != "кот"){alert("Уикификатор не може да работи с вашия браузър");exit;}
  b_ver=navigator.appVersion.substr (0, 1);
  if (navigator.appName=="Netscape"&&b_ver<5){alert("Уикификатор не може да работи с браузър Netscape 4.x или по-стари версии");exit;}
  return;
}

function zamena() {
  // Заменяем теги <b>, <strong> и <i>, <em> на ''' и ''
  txt = txt.replace(/\<\/?(b|strong)\>/g, "\'\'\'");
  txt = txt.replace(/\<\/?(i|em)\>/g, "\'\'");
  //======================================
  //Исключаем из обработки всё, что находится между тегами <nowiki> и </nowiki>
  i_nowiki=0;
  a_nowiki=txt.match(/\<nowiki\>(.+)\<\/nowiki\>/g)
  r_nowiki=/\<nowiki\>(.+)\<\/nowiki\>/;
  while (r_nowiki.test(txt))
  {
  i_nowiki++;
  txt = txt.replace(r_nowiki, "\x03"+i_nowiki+"\x04");
  }
  //======================================
  //Исключаем из обработки всё, что находится между тегами <math> и </math>
  i_math=0;
  a_math=txt.match(/\<math\>(.+)\<\/math\>/g)
  r_math=/\<math\>(.+)\<\/math\>/;
  while (r_math.test(txt))
  {
  i_math++;
  txt = txt.replace(r_math, "\x05"+i_math+"\x06");
  }
  //======================================
  //Исключаем из обработки строки, начинающиеся с пробела
  f_space=txt.substr (0, 1);
  txt = txt.substr (1, txt.length-1);
  i_space=0;
  a_space=txt.match(/^( )(.+)$/mg)
  r_space=/^( )(.+)$/m;
  while (r_space.test(txt))
    {
    i_space++;
    txt = txt.replace(r_space, "\x07"+i_space+"\x08");
    }
  txt=f_space+txt;
  //======================================
  //Исключаем всё между [[ и ]]
  i_links=0;
  a_links=txt.match(/(\[\[)(.*?)(\]\])/g)
  r_links=/(\[\[)(.*?)(\]\])/;
  while (r_links.test(txt))
  {
  i_links++;
  txt = txt.replace(r_links, "\x15"+i_links+"\x16");
  }
  //======================================
  //Исключаем из обработки весь текст в кавычках после знака "="
  i_equal=0;
  a_equal=txt.match(/(=)(\s?)(\")(.*?)(\")/g)
  r_equal=/(=)(\s?)(\")(.*?)(\")/;
  while (r_equal.test(txt))
  {
  i_equal++;
  txt = txt.replace(r_equal, "\x11"+i_equal+"\x14");
  }
  //======================================
  //Заменяем обычными кавычками сочетания << и >>.
  txt = txt.replace(/(\<|\>|\&[lg]t;)\1/g, "\"");
  //======================================
  //Исключаем из обработки прочие HTML-теги ("<" и ">")
  i=0;
  a=txt.match(/<([^>]*)>/g)
  r=/<([^>]*)>/;
  while (r.test(txt))
  {
  i++;
  txt = txt.replace(r, "\x01"+i+"\x02");
  }
  //======================================
  //Заменяем правильные символы на неверные, чтобы ничего не пропустить
  txt = txt.replace(/–/g, "-");
  txt = txt.replace(/(«|»|“|”|„|\&((la|ra|bd|ld)quo|#132|#147|#148|quot);)/g, "\"");
  //======================================
  // Заменяем "...", &hellip; и &#133; на многоточие
  txt = txt.replace(/(\.{3}|\&(hellip|#133);)/g, '…');
  //======================================
  // Обработчик знака градуса и "+-"
  txt = txt.replace(/(\+[--])/g, "±");
  txt=txt.replace(/([\s\>\(\*\"]|^)\-([0-9\.\,]+)\s?\^?\s?([FC])(?=[\s\"\.\,;\<]|$)/g, "$1-$2\u00A0\u00B0$3");
  txt=txt.replace(/([\s\>\(\*\"]|^)\+([0-9\.\,]+)\s?\^?\s?([FC])(?=[\s\.\,;\<\"]|$)/g, "$1+$2\u00A0\u00B0$3");
  txt=txt.replace(/([\s\>\(\*\"]|^)\±([0-9\.\,]+)\s?\^?\s?([FC])(?=[\s\.\,;\<\"]|$)/g, "$1±$2\u00A0\u00B0$3");
  txt=txt.replace(/\&deg;/g, "\u00B0");
  //======================================
  // Обработчик минуса
  txt=txt.replace(/([sup\>|sub\>|\s])(-)(\d)/g, "$1-$3");
  txt = txt.replace(/(\d )(-)( \d)/g, "$1-$3");
  //======================================
  // Заменяем кавычки 
  //(") с „“
  txt = txt.replace(/([\x01-(\s\|\"])(\")([^\"]{0,})([^\s\"(])(\")/g, "$1„\$3\$4“");
  // Кавычки внутри кавычек
  if (/"/.test(txt))
    {
  txt = txt.replace(/([\x01(\s\"])(\")([^\"]{0,})([^\s\"(])(\")/g, "\$1„\$3\$4“");
  while (/(„)([^“]*)(„)/.test(txt))
  txt = txt.replace(/(„)([^“]*)(„)([^“]*)(“)/g, "\$1\$2«\$4»");
    }
  //======================================
  // Заменяем " - " на тире
  txt = txt.replace(/(&nbsp;|\s)-{1,2} /g,'$1\u2014 ');
  txt = txt.replace (/^- /g,"\u2014 "); 
  txt = txt.replace(/(\d)--(\d)/g, "$1–$2");
  txt = txt.replace(/(^|\s)(\d{4})-(\d{4})($|\s|\.|,)/mg, "$1$2–$3$4");
  txt = txt.replace(/(^|\s)([IVXLCDM]+)-([IVXLCDM]+)($|\s|\.|,)/img, "$1$2–$3$4");
  txt = txt.replace(/--/g, "—");
  //======================================
  // Спец-значки ©, ®, ™, § и €.
  txt = txt.replace(/(\((c|с)\)|\&copy;)/gi, "©");
  txt = txt.replace(/(\(r\)|\&reg;)/gi, "®");
  txt = txt.replace(/(\((tm|тм)\)|\&trade;)/gi, "™");
  txt = txt.replace(/(\(p\)|\&sect;)/gi, "\u00A7");
  txt = txt.replace (/\&euro;/gi, "€");
  //======================================
  // Вставляем пропущенные и убираем лишние пробелы
  txt=txt.replace(/и т\.д\./g, "и\u00A0т\.\u00A0д\.");
  txt=txt.replace(/и т\.п\./g, "и\u00A0т\.\u00A0п\.");
  txt=txt.replace(/н\.э\./g, "н\. э\.");
  txt=txt.replace(/т\.е\./g, "т\.\u00A0е\.");
  txt=txt.replace(/т\.к\./g, "т\.\u00A0к\.");
  txt=txt.replace(/([А-Я]\.)([А-Я]\.)([А-Я][а-я])/g, "$1 $2 $3");
  txt=txt.replace(/([А-Я]\.)([А-Я]\.)/g, "$1 $2");
  txt=txt.replace(/^([#\*])([\*#]*)([\[\"\(\„\w\dа-яё])/mg, "$1$2 $3");
  txt=txt.replace(/^(=+)([^\s^=])([^=]+)([^\s^=])(=+)/mg, "$1 $2$3$4 $5");
  txt=txt.replace(/([а-я])(\.)([А-ЯA-Z])/g, "$1$2 $3");
  txt = txt.replace(/([а-яa-z\)\»\“\"\]])(\s*)(\,)([а-яa-z\(\«\„\"\[])/g, "$1$3 $4");
  txt = txt.replace(/([а-яa-z\)\»\“\"\]])(\s)([\,\;])(\s)([а-яa-z\(\«\„\"\[])/g, "$1$3 $5");
  txt = txt.replace(/(\d)(\s)([%‰])/g, "$1$3");
  //======================================
  //Убираем двойные пробелы.
  txt = txt.substr (1, txt.length-1);
  txt=txt.replace(/^(?! )(.*?)( {2,})(\S)/mg, "$1 $3");
  txt=" "+txt;
  //======================================
  //Возвращаем обратно строки, начинающиеся с пробела.
  i_space=0;
  r_space=/\x07([0-9]*)\x08/;
  while (r_space.test(txt))
  {
  i_space++;
  txt = txt.replace(r_space, a_space[i_space-1]);
  }
  //======================================
  //Возвращаем обратно всё, что было между тегами "math".
  i_math=0;
  r_math=/\x05([0-9]*)\x06/;
  while (r_math.test(txt))
  {
  i_math++;
  txt = txt.replace(r_math, a_math[i_math-1]);
  }
  //======================================
  //Возвращаем обратно всё, что было между тегами "nowiki".
  i_nowiki=0;
  r_nowiki=/\x03([0-9]*)\x04/;
  while (r_nowiki.test(txt))
  {
  i_nowiki++;
  txt = txt.replace(r_nowiki, a_nowiki[i_nowiki-1]);
  }
  //======================================
  //Возвращаем обратно HTML-теги ("<" и ">")
  i=0;
  r=/\x01([0-9]*)\x02/;
  while (r.test(txt))
  {
  i++;
  txt = txt.replace(r, a[i-1]);
  }
  //======================================
  //Возвращаем обратно текст между [[ и ]]
  i_links=0;
  r_links=/\x15([0-9]*)\x16/;
  while (r_links.test(txt))
  {
  i_links++;
  txt = txt.replace(r_links, a_links[i_links-1]);
  }
  //======================================
  //Возвращаем обратно текст в кавычках после знака "="
  i_equal=0;
  r_equal=/\x11([0-9]*)\x14/;
  while (r_equal.test(txt))
  {
  i_equal++;
  txt = txt.replace(r_equal, a_equal[i_equal-1]);
  }
}

function addLoadEvent(func) {
    if (window.addEventListener) {
        window.addEventListener("load", func, false);
    } else if (window.attachEvent) { // MSIE >=5
        window.attachEvent("onload", func);
    }
}

// копирано от [[:en:MediaWiki:Monobook.js]]
function LinkFA() {
   // iterate over all <span>-elements
   for(var i=0; a = document.getElementsByTagName("span")[i]; i++) {
      // if found a FA span
      if(a.className == "FA") {
         // iterate over all <li>-elements
         for(var j=0; b = document.getElementsByTagName("li")[j]; j++) {
            // if found a FA link
            if(b.className == "interwiki-" + a.id) {
               b.style.padding = "0 0 0 16px";
               b.style.backgroundImage = "url('http://upload.wikimedia.org/wikipedia/en/6/60/LinkFA-star.png')";
               b.style.backgroundRepeat = "no-repeat";
               b.title = "Тази статия е избрана";
            }
         }
      }
   }
}

addLoadEvent(LinkFA);

/* </pre> */