Jump to content

User:Khanson/lowercase.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
//Скрипт редактирования для Википедии. Переводит выделенный фрагмент текста в нижний регистр.
//Часть кода позаимствована из http://ru.wikipedia.org/wiki/MediaWiki:Wikificator.js
//Автор: X-romix
 
var XRomix_LowerCase_CantWork = 'Перевод в нижний регистр не может работать в вашем браузере.\n\nLowerCase script cannot work in your browser' // английский текст для тех, кто не видит русские буквы
var XRomix_LowerCase_FullText = 'Сначала выделите текст. Эта функция переводит выделенный текст в нижний регистр';
 
//Добавляет кнопку
function add_XRomix_LowerCase_Button(){
	var toolbar = document.getElementById('toolbar')
	var textbox = document.getElementById('wpTextbox1')
	if (!textbox || !toolbar) return
	var i = document.createElement('img')
	i.src = 'http:/upwiki/wikipedia/ru/b/b3/Button-LowerCase.PNG'
	i.alt = i.title = 'Перевод текста в нижний регистр'
	i.onclick = XRomix_LowerCase
	i.style.cursor = 'pointer'
	toolbar.appendChild(i)
} 
 
//Этот код выполняется в начале.
if (wgAction == 'edit' || wgAction == 'submit'){
  addOnloadHook(add_XRomix_LowerCase_Button)
}
 
 
//Функция для оформления таблицы
function XRomix_LowerCase(){
  
 var txt, hidden = [], hidIdx = 0, wpTextbox1 = document.editform.wpTextbox1
 var winScroll = document.documentElement.scrollTop //remember window scroll
 wpTextbox1.focus()
 
 if (typeof wpTextbox1.selectionStart != 'undefined' 
    && (navigator.productSub > 20031000 || is_safari)) { //Mozilla/Opera/Safari3
 
    var textScroll = wpTextbox1.scrollTop
    var startPos = wpTextbox1.selectionStart
    var endPos = wpTextbox1.selectionEnd
    txt = wpTextbox1.value.substring(startPos, endPos)
    if (txt == '') {alert(Khanson_LowerCase_FullText); ShowHelp(); return}
    else{
 
	  processText()
      wpTextbox1.value = wpTextbox1.value.substring(0, startPos) + txt + wpTextbox1.value.substring(endPos)
    }
    wpTextbox1.selectionStart = startPos
    wpTextbox1.selectionEnd = startPos + txt.length
    wpTextbox1.scrollTop = textScroll
 
 }else if (document.selection && document.selection.createRange) { //IE
 	 //alert("IE");
 
   var range = document.selection.createRange()
   txt = range.text
   if (txt == '') {alert(XRomix_LowerCase_FullText); ShowHelp(); return}
   else{
 
     processText()
	  range.text = txt
     //if (!window.opera) txt = txt.replace(/\r/g,'')
     if (range.moveStart) range.moveStart('character', - txt.length)
     range.select() 
   }
 
 }else // Для браузеров, которые не умеют возвращать выделенный фрагмент, выдаем ошибку
   { alert(XRomix_LowerCase_CantWork); return }
 
 document.documentElement.scrollTop = winScroll // scroll back, for IE/Opera

 var wpSummary = document.getElementById('wpSummary')
 if(wpSummary){
    var temp=wpSummary.value;
    temp=temp.replace(/\/\*.*?\*\// , ""); //комментарии
    temp=temp.replace(/[\s]*/ , ""); //пробелы
    if (temp==""){
       wpSummary.value=wpSummary.value+" - [[User talk:Khanson/lowercase.js|lowercase.js]]";
    }
 }
 
 
//Здесь производим замену в переменной txt - это отразится на выделенном фрагменте текста 
function processText(){
	txt=txt.toLocaleLowerCase(); //переводим строку в нижний регистр
}	

}