/************************************************************* Добавляет исправление раскладки в каждый результат поиска *************************************************************/(function(){if(/^(?:Служебная|Special):(?:Search|Поиск)$/.test(mw.config.get('wgPageName'))){jQuery(function($){varkeytr={};{varenkeys="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ[]{};':\",.\/<>?@#\$^&\`~";varen_keys=Array();for(vari=0;i<enkeys.length;i++){en_keys[i]=enkeys.charAt(i)}//в MSIE enkeys[i] не пашетvarrukeys="фисвуапршолдьтщзйкыегмцчняФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯхъХЪжэЖЭбю.БЮ,\"№;:?ёЁ";varru_keys=Array();for(vari=0;i<rukeys.length;i++){ru_keys[i]=rukeys.charAt(i)}//в MSIE rukeys[i] не пашетfor(iinru_keys){keytr[ru_keys[i]]=en_keys[i]}for(iinen_keys){keytr[en_keys[i]]=ru_keys[i]}}vartr=function(s){vark='';for(vari=0;i<s.length;i++){k+=keytr[s.charAt(i)]||s.charAt(i)}returnk;};varform=document.getElementById('search');//Форма поискаif(!form)return;varstr=form.elements.search;//Поле поиска (на странице поиска, vector)vartsf=document.getElementById('searchInput');//Поле поиска (обычное)//Если есть, то будет <p class=mw-search-exists><b>Есть..., иначе <p calss=mw-search-createlink><b>Создать...//Ещё перед этим иногда вылезает <div class=search-didyoumean>Возможно, вы имели в виду...if($(".mw-search-exists").length===0){//Не найдено такой страницыvartrsb=document.createElement('p');trsb.className="mw-search-createlink";varv=tr(str.value);mw.loader.using('mediawiki.util').done(function(){$.ajax({type:"GET",// request type ( GET or POST )url:mw.util.wikiScript('api'),// the URL to which the request is sent data:{'action':'query','format':'json','titles':v.replace(/\|.*$/,'')},dataType:'json',// the type of data that you're expecting back from the serversuccess:function(npage){//function to be called if the request succeedsfor(variinnpage.query.pages||npage.query.interwiki){if(i>=0){//Есть такая страница, даём ссылкуvara=(npage.query.pages||npage.query.interwiki)[i].title;if(npage.query.interwiki){trsb.innerHTML="<b>Может быть страница в другом разделе: <a href='"+mw.config.get('wgServer')+'/wiki/'+encodeURIComponent(a)+"'></a></b>";}else{trsb.innerHTML="<b>Есть страница <a href='"+mw.config.get('wgServer')+'/wiki/'+encodeURIComponent(a)+"'></a></b>";}with(trsb.lastChild/*b*/.lastChild/*a*/){title=a;appendChild(document.createTextNode(v));}}else{//Нет такой страницы, даём кнопкуtrsb.innerHTML='<button type="button"></button>';varb=trsb.firstChild;b.onclick=function(){str.value=v;form.submit();};b.appendChild(document.createTextNode('Искать: '+v));}}varcreate1=$('.mw-search-createlink')[0]||form.lastChild;create1.parentNode.insertBefore(trsb,create1);vararw=document.createElement('a');arw.onclick=function(){if(str.value==v){str.value=arw;tsf.value=arw;}else{arw=str.value;str.value=v;tsf.value=v;}};with(arw){innerHTML=" ↑";/*style.color='blue';style.cursor='pointer';*/style.marginLeft='0.3em';title='Подставить в поле поиска'}trsb.appendChild(arw);}//json fn});//ajax});}//if});}}());