// <pre>
// -*- mode:java; coding:utf-8 -*-
// Generates the box element containing the spec chars.
function createCustomBar() {
var boxDiv = document.createElement('div');
boxDiv.setAttribute('id', 'customBar');
boxDiv.setAttribute('style', 'margin-bottom:2px;border:1px solid #aaaaaa;padding:3px');
boxDiv.innerHTML =
'<a href="wiki/Wikipédia:Különleges_karakterek" title="Wikipédia:Különleges karakterek">' +
'Különleges karakterek</a>: ' +
"<a href=\"javascript:insertTags('„','”','')\">„”</a> · " +
// "<a href=\"javascript:insertTags('»','«','')\">»«</a> · " +
// "<a href=\"javascript:insertTags('²','','')\">²</a> " +
// "<a href=\"javascript:insertTags('³','','')\">³</a> " +
"<a href=\"javascript:insertTags('–','','')\">en</a> · " +
"<a href=\"javascript:insertTags('½','','')\">½</a> · " +
"<a href=\"javascript:insertTags('†','','')\">†</a> · " +
"<a href=\"javascript:insertTags('<br>','','')\"><br></a> · " +
"<a href=\"javascript:insertTags('<i>','</i>','')\"><i></a> " +
"<a href=\"javascript:insertTags('<b>','</b>','')\"><b></a> " +
"<a href=\"javascript:insertTags('<s>','</s>','')\"><s></a> · " +
// "<a href=\"javascript:insertTags('[[',']]','')\">[[]]</a> " +
"<a href=\"javascript:insertTags('%7B%7B','%7D%7D','')\">{{}}</a> · " +
"<a href=\"javascript:insertTags('%7B%7BKülső/Angol%7D%7D','','')\"><small>angol</small></a> · " +
"<a href=\"javascript:insertTags('%7B%7Blektor%7D%7D','','')\"><small>lektor</small></a> · " +
// "<a href=\"javascript:insertTags('%7B%7Bcsonk%7D%7D','','')\"><small>csonk</small></a> · " +
"<a href=\"javascript:insertTags('%7B%7Benwiki|','%7D%7D','')\"><small>enwiki</small></a> · " +
// "<a href=\"javascript:insertTags('%7B%7BKözkincs%7D%7D','','')\"><small>közkincs</small></a> · " +
// "<a href=\"javascript:insertTags('%7B%7BKözkincs-régi%7D%7D','','')\"><small>régi</small></a> · " +
"<a href=\"javascript:insertTags('%7B%7Btörlés%7D%7D','','')\"><small>törlés</small></a> · " +
"<a href=\"javascript:insertTags('%7B%7Bazonnali%7D%7D','','')\"><small>azonnali</small></a> · " +
"<a href=\"javascript:insertTags('%7B%7Bjogsértő1|url=','%7D%7D','')\"><small>jogsértő</small></a> · " +
"<a href=\"javascript:insertTags('<!--','--><small>[ személyeskedés törölve [[User:Dhanak|D]] ]</small>','')\"><small>szem</small></a> · " +
"<a href=\"javascript:fixLatin1Chars()\"><small>kalapos</small></a> · " +
"<a href=\"javascript:fixHungarianQuotes()\"><small>idézőjel</small></a> · " +
"<a href=\"javascript:translateDatesEnHu()\"><small>dátum</small></a> · " +
"<a href=\"javascript:customReplaceForm()\"><small>egyedi</small></a>";
return boxDiv;
}
function replaceRegexp(replaceWhat, replaceWith, modifiers) {
if (modifiers == null) {
modifiers = "";
}
var txtarea = document.editform.wpTextbox1;
// IE
if(document.selection && !is_gecko) {
var theSelection = document.selection.createRange().text;
txtarea.focus();
theSelection = theSelection.replace(replaceWhat, replaceWith);
document.selection.createRange().text = theSelection;
// Mozilla
} else if(txtarea.selectionStart || txtarea.selectionStart == '0') {
// This is probably more complicated than it needs to be
var startPos = txtarea.selectionStart;
var endPos = txtarea.selectionEnd;
var scrollTop=txtarea.scrollTop;
var pattern = new RegExp(replaceWhat, modifiers);
var myText = (txtarea.value).replace(pattern, replaceWith);
txtarea.value = myText;
txtarea.focus();
var cPos=startPos;
txtarea.selectionStart=cPos;
txtarea.selectionEnd=cPos;
txtarea.scrollTop=scrollTop;
// All others
} else {
alert("No support for this browser yet");
return;
}
// reposition cursor if possible
if (txtarea.createTextRange) txtarea.caretPos = document.selection.createRange().duplicate();
}
// Replaces Latin 1 chars with properly encoded Hungarian Latin 2 equivalents
function fixLatin1Chars() {
replaceRegexp("Õ", "Ő", "g");
replaceRegexp("Û", "Ű", "g");
replaceRegexp("õ", "ő", "g");
replaceRegexp("û", "ű", "g");
replaceRegexp("ő", "ő", "g");
replaceRegexp("ű", "ű", "g");
}
// Replaces English style "" quotes with Hungarian „”
function fixHungarianQuotes() {
replaceRegexp("\"([^\"]*)\"", "„$1”", "mg");
}
// Translate dates from English format to Hungarian
// Currently it only handles linkified dates
function translateDatesEnHu() {
var months = [
["January", "január"],
["February", "február"],
["March", "március"],
["April", "április"],
["May", "május"],
["June", "június"],
["July", "július"],
["August", "augusztus"],
["September", "szeptember"],
["October", "október"],
["November", "november"],
["December", "december"]
];
for (var i = 0; i < months.length; i++) {
var enMonth = months[i][0];
var huMonth = months[i][1];
// alert("Replacing " + enMonths + " with " + huMonth);
// Replace "[[November 15]], [[2005]]" with "[[2005]]. [[november 15]]."
// $1 = "15", $2 = "2005"
replaceRegexp("\\[\\[" + enMonth + " (\\d+)\\]\\],?\\s*\\[\\[(\\d{4})\\]\\]", "[[$2]]. [[" + huMonth + " $1]].", "gm");
}
}
// Replace all occurences of a user-entered regexp with a user entered replacement
function customReplaceForm() {
var form =
'Cseréld ezt a reguláris kifejezést: <input id="customReplaceThis" type="text" size="30"> ' +
'erre: <input id="customReplaceWith" type="text" size="30"> ' +
'<input id="customReplaceCS" type="checkbox"> méretérzékeny <b>::</b> ' +
'<a href="javascript:performCustomReplace()">csere</a>';
insertCustomForm(form);
document.getElementById('customReplaceThis').focus();
}
function performCustomReplace() {
var replaceThis = document.getElementById('customReplaceThis');
var replaceWith = document.getElementById('customReplaceWith');
var cs = document.getElementById('customReplaceCS');
var flags = "gm";
if (!cs.checked) {
flags += "i";
}
replaceRegexp(replaceThis.value, replaceWith.value, flags);
}
function insertCustomForm(formText) {
var customBar = document.getElementById('customBar');
if (customBar == null) return;
var customForm = document.createElement('div');
customForm.setAttribute('id', 'customForm');
customForm.setAttribute('style', 'margin-bottom:2px;border:1px solid #aaaaaa;padding:3px');
customForm.innerHTML =
'<img id="customFormClose" src="http://upload.wikimedia.org/wikipedia/hu/b/bd/Close.png" ' +
'align="right" style="margin:2px" onClick="deleteCustomForm()" ' +
'onmouseover="document.images.namedItem(\'customFormClose\').src=\'http://upload.wikimedia.org/wikipedia/hu/c/cf/Close-hl.png\'" ' +
'onmouseout="document.images.namedItem(\'customFormClose\').src=\'http://upload.wikimedia.org/wikipedia/hu/b/bd/Close.png\'"' +
'onmousedown="document.images.namedItem(\'customFormClose\').src=\'http://upload.wikimedia.org/wikipedia/hu/e/eb/Close-dn.png\'">' +
formText;
var oldForm = document.getElementById('customForm');
if (oldForm != null) {
customBar.parentNode.replaceChild(customForm, oldForm);
} else {
customBar.parentNode.insertBefore(customForm, customBar);
}
}
function deleteCustomForm() {
var customForm = document.getElementById('customForm');
if (customForm != null)
customForm.parentNode.removeChild(customForm);
}
// Initializes edit box
function myOnloadHook() {
// Textarea positioning doesn't work in Opera
if (is_opera) return;
// Find the element that comes right after the special character box
var textArea = document.getElementsByName('wpTextbox1');
if (textArea.item(0) != null) {
var insertPos = textArea.item(0).nextSibling.nextSibling; // this is a <br/>
var customBar = createCustomBar();
insertPos.parentNode.replaceChild(customBar, insertPos);
// Remove global spec char bar
// var specChars = document.getElementById('specChar');
// if (specChars != null) {
// specChars.parentNode.removeChild(specChars);
// }
}
}
if (window.addEventListener != null) window.addEventListener("load", myOnloadHook, false);
else if (window.attachEvent) window.attachEvent("onload", myOnloadHook);
// [[:en:User:Lupin/popups.js]]
mw.loader.load(
'https://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s');
popupDelay=2;
popupAdminLinks=true;
popupSubpopups=false;
popupRedlinkRemoval=true;
// Combobox
document.write('<script type="text/javascript" src="'
+ 'http://hu.wikipedia.org/w/index.php?title=User:Tgr/combo.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
// </pre>