Szerkesztő:Kdano/monobook.js

A mai világban a Szerkesztő:Kdano/monobook.js alapvető szerepet játszik a mindennapi élet különböző területein. Akár személyes, akár társadalmi, akár munkahelyi szférában, a Szerkesztő:Kdano/monobook.js releváns témává vált, amely megérdemli az elemzést és a megvitatást. A társadalom fejlődésével a Szerkesztő:Kdano/monobook.js kulcsfontosságú elem, amely befolyásolja döntéseinket, véleményünket és életmódunkat. Ezért alapvető fontosságú, hogy mélyebben ássunk bele a Szerkesztő:Kdano/monobook.js által lefedett különböző szempontokba, és megértsük annak hatását és hatókörét a mindennapi életben. Ebben a cikkben megvizsgáljuk a Szerkesztő:Kdano/monobook.js fontosságát, és azt, hogy miként vált manapság oly sok ember érdeklődésére.
 // -*- mode:java; coding:utf-8 -*-

// <nowiki>

//  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="http://hu.wikipedia.orghttps://wikifreehand.com/hu/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('–','','')\">–</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('†','','')\">†</a> · " +
    "<a href=\"javascript:insertTags('→','','')\">→</a> · " +
    "<a href=\"javascript:insertTags('<br>','','')\">&lt;br&gt;</a> · " +
    "<a href=\"javascript:insertTags(']','')\">]</a> " +
    "<a href=\"javascript:insertTags('%7B%7B','%7D%7D','')\">{{}}</a> · " +
    "<a href=\"javascript:insertTags('%7B%7Blektor%7D%7D','','')\"><small>lektor</small></a> · " +
    "<a href=\"javascript:insertTags('%7B%7Bforma%7D%7D','','')\"><small>forma</small></a> · " +
    "<a href=\"javascript:insertTags('%7B%7Bcsonk%7D%7D','','')\"><small>csonk</small></a> · " +
    "<a href=\"javascript:insertTags('%7B%7Bszubcsonk|~~~~~%7D%7D','','')\"><small>szubcsonk</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ő|url=%7D%7D','','')\"><small>jogsértő</small></a> · " +
    "<a href=\"javascript:insertTags('%7B%7Bnincslicenc%7D%7D','','')\"><small>nincslicenc</small></a> · " +
    "<a href=\"javascript:insertTags('%7B%7Benwiki|%7D%7D','','')\"><small>enwiki</small></a> · " +
    "<a href=\"javascript:insertTags('%5B%5BKategória:%5D%5D','','')\"><small>kategória</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:orszagEnHu()\"><small>ország</small></a> · "+
    "<a href=\"javascript:orszagSablon()\"><small>orszSabl</small></a> · "+
    "<a href=\"javascript:customReplaceForm()\"><small>egyedi</small></a> · " +
    "<a href=\"javascript:insertTags('<i>','</i>','')\">&lt;i&gt;</a> " +
    "<a href=\"javascript:insertTags('<b>','</b>','')\">&lt;b&gt;</a> " +
    "<a href=\"javascript:insertTags('<s>','</s>','')\">&lt;s&gt;</a> · " +
    "<a href=\"javascript:insertTags('#REDIRECT ]','','')\"<small>redirect</small></a> · " +
    "<a href=\"javascript:insertTags('~~~~','','')\">~~~~</a> · " +
    "<a href=\"javascript:insertTags('<math>','</math>','')\">&lt;math&gt;</a> · " +
    "<a href=\"javascript:insertTags(']','')\">]</a> · " +
    "<a href=\"javascript:insertTags('%7B%7Baláíratlan|%7D%7D','','')\"><small>aláíratlan</small></a> · " +
    "<a href=\"javascript:insertTags('%7B%7Bsubst:welcome|user=~~~~%7D%7D','','')\"><small>welcome</small></a> · "  +
    "<a href=\"javascript:insertTags('%7B%7Bsubst:Üdvözlet|user=~~~~%7D%7D','','')\"><small>üdvözlet</small></a>";
  return boxDiv;
}

function replaceRegexp(replaceWhat, replaceWith, modifiers) 
{
	if (modifiers == null) modifiers = "";
	var pattern = new RegExp(replaceWhat, modifiers);
	var obj_ta = document.editform.wpTextbox1;
	obj_ta.value = obj_ta.value.replace(pattern, replaceWith);
}

// Replaces Latin 1 chars with properly encoded Hungarian Latin 2 equivalents
function fixLatin1Chars() {	
  replaceRegexp("Õ", "Ő", "g");
  replaceRegexp("Û", "Ű", "g");
  replaceRegexp("õ", "ő", "g");
  replaceRegexp("û", "ű", "g");
  replaceRegexp("&#337;", "ő", "g");
  replaceRegexp("&#369;", "ű", "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 = [
		,
		,
		,
		,
		,
		,
		,
		,	
		,
		,
		,
		
		];

  for (var i = 0; i < months.length; i++) {
    var enMonth = months;
    var huMonth = months;
    // alert("Replacing " + enMonths + " with " + huMonth);
    // $1 = "15", $2 = "2005"
    replaceRegexp("\\\\],?\\s*\\\\]", "]. ].", "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="40"> ' +
    'erre: <input id="customReplaceWith" type="text" size="40"> ' +
    '<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);
}

function orszagEnHu() {
  var orszag = [
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,

];

  for (var i = 0; i < orszag.length; i++) {
    var enorszag = orszag;
    var huorszag = orszag;
    replaceRegexp(enorszag, huorszag, "gm");
  }
}

function orszagSablon() {
  var orszag = [
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,

];

  for (var i = 0; i < orszag.length; i++) {
    var huorszag = orszag;
    var sablon = "{{" + huorszag + "}}";
    replaceRegexp(huorszag, sablon, "gm");
  }
}
// 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);

// </nowiki>