// <nowiki>// Скрипт для подстановки в текст шаблона Rq со всеми параметрами, кроме тематики.// Добавляет сам себя в HTML-код панели быстрой вставки.// Набор параметров шаблона можно указать в monobook.js, задав массив строк под именем parameters.// Если шаблона на странице нет, скрипт подставляет его в конец// Если шаблон есть, то он будет заменён шаблоном с указанными параметрами.// Если шаблонов несколько, заменён будет первый из них.// В планах:// * Добавление параметра тематики;// * Заполнение чекбоксов в соответствии с параметрами при открытии страницы редактирования с помощью регулярных выражений;// * Упрощение интерфейса.// Начало.varparameters;// Проверка, задан ли пользователем другой набор параметров шаблона:if(parameters==null){varparameters=['birth','cat','check','checktranslate','cleanup','coord','death','global','grammar','imdb','img','infobox','isbn','iwiki','linkless','looplink','patronymic','recat','refless','renew','sort','stress','stub','style','sources','taxobox','translate','wikify'];}// Функция добавления инструмента на панель быстрой вставки:functionaddRqTemplateElements(){// Находим панель: быстрой вставки:varblock=document.getElementById('editpage-specialchars');// Если панель быстрой вставки не найдена, функция завершается:if(!block)return;// Подготовка HTML-кода для вставки в начало панели:varinsertion='Параметры шаблона <a href="/wiki/Шаблон:Rq">Rq</a>: ';// Добавление чекбоксов и описаний по значению параметров в HTML-код для вставки:// (Каждый чекбокс имеет id и имя вида Rqпараметр, например, Rqbirth// Соответственно, потом его можно будет «найти» с помощью функции document.getElementById)for(varj=0;j<parameters.length;j++){insertion+='<input id="Rq'+parameters[j]+'" type="checkbox" name="Rq'+parameters[j]+'" onclick=""> '+parameters[j]+' ';}// Добавление кнопки в HTML-код для вставки:insertion+='<input type="button" name="RqPerformAction" value="Выполнить" onclick="addRqTemplatePerform()">';// Добавление подготовленного HTML-кода в код панели:block.innerHTML=insertion+block.innerHTML;}// Функция добавления в текст шаблона:functionaddRqTemplatePerform(){//Текстовое поле:vartextarea=document.editform.wpTextbox1;// Строка с шаблоном для вставки в текст:varinsertion='\{\{rq';// Регулярное выражение, которому соответствует любой шаблон Rq (или название которого начинается на Rq), вне зависимости от параметров:varregexp=/\{\{(R|r)(Q|q)(\s|\S)*\}\}/;// Составляем строку с шаблоном:for(varj=0;j<parameters.length;j++){if(document.getElementById('Rq'+parameters[j]).checked){insertion+='|'+parameters[j];}}insertion+='}}';// Ищем, есть ли в тексте шаблон Rq:if(textarea.value.search(regexp)>=0){// Если находим:// Заменяем соответствие регулярному выражению строкой с шаблоном:textarea.value=textarea.value.replace(regexp,insertion);}else{// Если не находим:// Подставляем строку с шаблоном в конец текста с новой строки:textarea.value+='\n'+insertion;}}$(addRqTemplateElements);// </nowiki>