Megjegyzés: közzététel után frissítened kell a böngésződ gyorsítótárát, hogy lásd a változásokat.

  • Firefox / Safari: tartsd lenyomva a Shift gombot és kattints a Frissítés gombra a címsorban, vagy használd a Ctrl–F5 vagy Ctrl–R (Macen ⌘–R) billentyűkombinációt
  • Google Chrome: használd a Ctrl–Shift–R (Macen ⌘–Shift–R) billentyűkombinációt
  • Internet Explorer / Edge: tartsd nyomva a Ctrl-t, és kattints a Frissítés gombra, vagy nyomj Ctrl–F5-öt
  • Opera: Nyomj Ctrl–F5-öt
// install the Hungarian translation for [[en:User:Cacycle/wikEd]]
 document.write('<script type="text/javascript" src="'
 + 'http://en.wikipedia.org/w/index.php?title=User:Cs%C3%B6rf%C3%B6ly_D/wikEd-hu.js'
 + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

// install [[User:Cacycle/wikEd]] in-browser text editor
 document.write('<script type="text/javascript" src="'
 + 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd.js'
 + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

document.write('<script type="text/javascript" src="'
 + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js' 
 + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

document.write('<script type="text/javascript" src="'
 + 'http://hu.wikipedia.org/w/index.php?title=User:Bdamokos/strings-hu.js' 
 + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

document.write('<script type="text/javascript" src="' 
             + 'http://hu.wikipedia.org/w/index.php?title=User:AntiVandal/recent2.js' 
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

// -*- 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.org/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('–','','')\">–</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: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('%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ölet</small></a> · " +
    "<a href=\"javascript:insertTags('%7B%7Bsubst:Anonüdv%7D%7D','','')\"><small>anonüdv</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 = [
		["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);
    // $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="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 = [
["Earth|World", "Föld"],
["Côte d'Ivoire", "Elefántcsontpart"],
["People's Republic of China|China", "Kína"],
["Azores", "Azori-szigetek"],
["American Samoa", "Amerikai Szamoa"],
["Antarctica", "Antarktisz"],
["Ashmore and Cartier Islands", "Ashmore- és Cartier-szigetek"],
["Baker Island", "Baker-sziget"],
["Bermuda", "Bermuda-szigetek"],
["Bouvet Island", "Bouvet-sziget"],
["British Indian Ocean Territory", "Brit Indiai-óceáni Terület"],
["British Virgin Islands", "Brit Virgin-szigetek"],
["West Bank", "Ciszjordánia"],
["Clipperton Island", "Clipperton-sziget"],
["Cook Islands", "Cook-szigetek"],
["South Georgia and the South Sandwich Islands", "Déli-Georgia és Déli-Sandwich-szigetek"],
["Turkish Republic of Northern Cyprus", "Észak-Ciprus"],
["Northern Mariana Islands", "Északi-Mariana-szigetek"],
["European Union", "Európai Unió"],
["Europa Island", "Európa-sziget"],
["Falkland Islands (Islas Malvinas)", "Falkland-szigetek"],
["Falkland Islands", "Falkland-szigetek"],
["Faroe Islands", "Feröer szigetek"],
["French Southern and Antarctic Lands", "Francia déli területek"],
["French Guiana", "Francia Guyana"],
["French Polynesia", "Francia Polinézia"],
["Gaza Strip", "Gázai övezet"],
["Gibraltar", "Gibraltár"],
["Glorioso Islands", "Glorieuse-szigetek"],
["Greenland", "Grönland"],
["Heard Island and McDonald Islands", "Heard-sziget és McDonald-szigetek"],
["Netherlands Antilles", "Holland Antillák"],
["Hong Kong", "Hongkong"],
["Howland Island", "Howland-sziget"],
["Jan Mayen", "Jan Mayen-sziget"],
["Jarvis Island", "Jarvis-sziget"],
["Johnston Atoll", "Johnston-atoll"],
["Juan de Nova Island", "Juan de Nova-sziget"],
["Cayman Islands", "Kajmán-szigetek"],
["Christmas Island", "Karácsony-sziget"],
["Kingman Reef", "Kingman-zátony"],
["Cocos (Keeling) Islands", "Kókusz (Keeling)-szigetek"],
["Coral Sea Islands", "Korall-tengeri-szigetek"],
["Macau", "Makaó"],
["Macao", "Makaó"],
["Isle of Man", "Man-sziget"],
["Man", " Isle of", "Man-sziget"],
["Midway Islands", "Midway-szigetek"],
["Navassa Island", "Navassa-sziget"],
["Norfolk Island", "Norfolk-sziget"],
["Western Sahara", "Nyugat-Szahara"],
["Palestinian National Authority", "Palesztin Nemzeti Hatóság"],
["Palmyra Atoll", "Palmyra-atoll"],
["Paracel Islands", "Paracel-szigetek"],
["Pitcairn Islands", "Pitcairn-szigetek"],
["Reunion", "Réunion"],
["Saint Pierre and Miquelon", "Saint-Pierre és Miquelon"],
["Saint-Pierre and Miquelon", "Saint-Pierre és Miquelon"],
["Svalbard", "Spitzbergák"],
["Spratly Islands", "Spratly-szigetek"],
["Saint Helena", "Szent Ilona"],
["Somaliland", "Szomáliföld"],
["Tokelau", "Tokelau-szigetek"],
["Tromelin Island", "Tromelin-sziget"],
["Turks and Caicos Islands", "Turks- és Caicos-szigetek"],
["New Caledonia", "Új-Kaledónia"],
["Virgin Islands", "Virgin-szigetek"],
["Wake Island", "Wake-sziget"],
["Wallis and Futuna", "Wallis és Futuna"],
["Taiwan", "Tajvan"],
["Burma", "Mianmar"],
["Timor-Leste", "Kelet-Timor"],
["Gambia", " The", "Gambia"],
["Democratic People's Republic of Korea", "Koreai Népi Demokratikus Köztársaság"],
["Republic of Korea", "Koreai Köztársaság"],
["Korea", " South", "Koreai Köztársaság"],
["Korea", " North", "Koreai Népi Demokratikus Köztársaság"],
["Democratic Republic of the Congo", "Kongói Demokratikus Köztársaság"],
["Democratic Congo", "Kongói Demokratikus Köztársaság"],
["Congo", " Republic of the", "Kongó"],
["Republic of Ireland|Ireland", "Írország"],
["Republic of Ireland", "Írország"],
["Republic of China (Taiwan)", "Tajvan"],
["Georgia (country)|Georgia", "Grúzia"],
["Federated States of Micronesia", "Mikronézia"],
["Micronesia", " Federated States of", "Mikronézia"],
["São Tome and Principe", "São Tomé és Príncipe"],
["Bahamas", " The", "Bahama-szigetek"],
["The Bahamas", "Bahama-szigetek"],
["Special Administrative Region|S.A.R.", "Különleges Közigazgatású Régió|KKR"],
["Special Administrative Region|SAR", "Különleges Közigazgatású Régió|KKR"],
["Afghanistan", "Afganisztán"],
["Albania", "Albánia"],
["Algeria", "Algéria"],
["United States", "Amerikai Egyesült Államok"],
["Andorra", "Andorra"],
["Angola", "Angola"],
["Antigua and Barbuda", "Antigua és Barbuda"],
["United Arab Emirates", "Arab Emírségek"],
["Argentina", "Argentína"],
["Australia", "Ausztrália"],
["Austria", "Ausztria"],
["Azerbaijan", "Azerbajdzsán"],
["Bahamas", "Bahama-szigetek"],
["Bahrain", "Bahrein"],
["Bangladesh", "Banglades"],
["Barbados", "Barbados"],
["Belarus", "Belarusz"],
["Belgium", "Belgium"],
["Belize", "Belize"],
["Benin", "Benin"],
["Bhutan", "Bhután"],
["Guinea-Bissau", "Bissau-Guinea"],
["Bolivia", "Bolívia"],
["Bosnia and Herzegovina", "Bosznia-Hercegovina"],
["Botswana", "Botswana"],
["Brazil", "Brazília"],
["Brunei", "Brunei"],
["Bulgaria", "Bulgária"],
["Burkina Faso", "Burkina Faso"],
["Burundi", "Burundi"],
["Chile", "Chile"],
["Cyprus", "Ciprus"],
["Comoros", "Comore-szigetek"],
["Costa Rica", "Costa Rica"],
["Chad", "Csád"],
["Czech Republic", "Csehország"],
["Denmark", "Dánia"],
["South Africa", "Dél-afrikai Köztársaság"],
["Dominican Republic", "Dominikai Köztársaság"],
["Dominica", "Dominikai Közösség"],
["Djibouti", "Dzsibuti"],
["Ecuador", "Ecuador"],
["Equatorial Guinea", "Egyenlítői-Guinea"],
["Egypt", "Egyiptom"],
["Cote d'Ivoire", "Elefántcsontpart"],
["Eritrea", "Eritrea"],
["Estonia", "Észtország"],
["Ethiopia", "Etiópia"],
["Fiji", "Fidzsi-szigetek"],
["Finland", "Finnország"],
["France", "Franciaország"],
["Philippines", "Fülöp-szigetek"],
["Gabon", "Gabon"],
["The Gambia", "Gambia"],
["Ghana", "Ghána"],
["Greece", "Görögország"],
["Grenada", "Grenada"],
["Georgia", "Grúzia"],
["Guatemala", "Guatemala"],
["Guinea", "Guinea"],
["Guyana", "Guyana"],
["Haiti", "Haiti"],
["Netherlands", "Hollandia"],
["Honduras", "Honduras"],
["Croatia", "Horvátország"],
["India", "India"],
["Indonesia", "Indonézia"],
["Iraq", "Irak"],
["Iran", "Irán"],
["Ireland", "Írország"],
["Iceland", "Izland"],
["Israel", "Izrael"],
["Jamaica", "Jamaica"],
["Japan", "Japán"],
["Yemen", "Jemen"],
["Jordan", "Jordánia"],
["Cambodia", "Kambodzsa"],
["Cameroon", "Kamerun"],
["Canada", "Kanada"],
["Qatar", "Katar"],
["Kazakhstan", "Kazahsztán"],
["East Timor", "Kelet-Timor"],
["Kenya", "Kenya"],
["People's Republic of China", "Kína"],
["Kyrgyzstan", "Kirgizisztán"],
["Kiribati", "Kiribati"],
["Colombia", "Kolumbia"],
["Republic of the Congo", "Kongó"],
["Democratic Republic of the Congo", "Kongói Demokratikus Köztársaság"],
["South Korea", "Koreai Köztársaság"],
["North Korea", "Koreai Népi Demokratikus Köztársaság"],
["Central African Republic", "Közép-afrikai Köztársaság"],
["Cuba", "Kuba"],
["Kuwait", "Kuvait"],
["Laos", "Laosz"],
["Poland", "Lengyelország "],
["Lesotho", "Lesotho"],
["Latvia", "Lettország"],
["Lebanon", "Libanon"],
["Liberia", "Libéria"],
["Libya", "Líbia"],
["Liechtenstein", "Liechtenstein"],
["Lithuania", "Litvánia"],
["Luxembourg", "Luxemburg"],
["Republic of Macedonia", "Macedónia"],
["Madagascar", "Madagaszkár"],
["Hungary", "Magyarország"],
["Malaysia", "Malajzia"],
["Malawi", "Malawi"],
["Maldives", "Maldív-szigetek"],
["Mali", "Mali"],
["Malta", "Málta"],
["Morocco", "Marokkó"],
["Marshall Islands", "Marshall-szigetek"],
["Mauritania", "Mauritánia"],
["Mauritius", "Mauritius"],
["Mexico", "Mexikó"],
["Myanmar", "Mianmar"],
["Micronesia", "Mikronézia"],
["Moldova", "Moldova"],
["Monaco", "Monaco"],
["Mongolia", "Mongólia"],
["Mozambique", "Mozambik"],
["United Kingdom", "Nagy-Britannia"],
["Namibia", "Namíbia"],
["Nauru", "Nauru"],
["Germany", "Németország "],
["Nepal", "Nepál"],
["Nicaragua", "Nicaragua"],
["Niger", "Niger"],
["Nigeria", "Nigéria"],
["Norway", "Norvégia"],
["Italy", "Olaszország"],
["Russia", "Oroszország"],
["Armenia", "Örményország"],
["Pakistan", "Pakisztán"],
["Palau", "Palau"],
["Panama", "Panama"],
["Papua New Guinea", "Pápua Új-Guinea"],
["Paraguay", "Paraguay"],
["Peru", "Peru"],
["Portugal", "Portugália"],
["Romania", "Románia"],
["Oman", "Omán"],
["Rwanda", "Ruanda"],
["Saint Kitts and Nevis", "Saint Kitts és Nevis"],
["Saint Lucia", "Saint Lucia"],
["Saint Vincent and the Grenadines", "Saint Vincent"],
["Solomon Islands", "Salamon-szigetek"],
["El Salvador", "Salvador"],
["San Marino", "San Marino"],
["São Tomé and Príncipe", "São Tomé és Príncipe"],
["Seychelles", "Seychelle-szigetek"],
["Sierra Leone", "Sierra Leone"],
["Spain", "Spanyolország"],
["Sri Lanka", "Srí Lanka"],
["Suriname", "Suriname"],
["Switzerland", "Svájc"],
["Sweden", "Svédország"],
["Samoa", "Szamoa"],
["Saudi Arabia", "Szaúd-Arábia"],
["Senegal", "Szenegál"],
["Serbia and Montenegro", "Szerbia és Montenegró"],
["Singapore", "Szingapúr"],
["Syria", "Szíria"],
["Slovakia", "Szlovákia"],
["Slovenia", "Szlovénia"],
["Somalia", "Szomália"],
["Sudan", "Szudán"],
["Swaziland", "Szváziföld"],
["Tajikistan", "Tádzsikisztán"],
["Republic of China", "Tajvan"],
["Tanzania", "Tanzánia"],
["Thailand", "Thaiföld"],
["Togo", "Togo"],
["Tonga", "Tonga"],
["Turkey", "Törökország"],
["Trinidad and Tobago", "Trinidad és Tobago"],
["Tunisia", "Tunézia"],
["Tuvalu", "Tuvalu"],
["Turkmenistan", "Türkmenisztán"],
["Uganda", "Uganda"],
["New Zealand", "Új-Zéland"],
["Ukraine", "Ukrajna"],
["Uruguay", "Uruguay"],
["Uzbekistan", "Üzbegisztán"],
["Vanuatu", "Vanuatu"],
["Vatican City", "Vatikán"],
["Venezuela", "Venezuela"],
["Vietnam", "Vietnam"],
["Zambia", "Zambia"],
["Zimbabwe", "Zimbabwe"],
["Cape Verde", "Zöld-foki-szigetek"]
];

  for (var i = 0; i < orszag.length; i++) {
    var enorszag = orszag[i][0];
    var huorszag = orszag[i][1];
    replaceRegexp(enorszag, huorszag, "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>

/* AntiVandal */
document.write('<script type="text/javascript" src="' 
             + 'http://hu.wikipedia.org/w/index.php?title=User:AntiVandal/recent2.js' 
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

/* Silent rollback */
document.write('<script type="text/javascript" src="' 
             + 'http://hu.wikipedia.org/w/index.php?title=User:Tgr/vandal.js' 
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

//<nowiki> Admin-like RC Patrol tools

document.write('<script type="text/javascript" src="' 
             + 'http://en.wikipedia.org/w/index.php?title=User:VoA/monobook.js' 
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

//</nowiki>[[Category:Wikipedians who use RC script ]]

//<pre>
//This function adds a link to the toolbox which, when clicked, searches the talk page history
//to find events which might be relevant to the {{ArticleHistory}} template. See the talk page for more details.
//
//To use this function add {{subst:js|User:Dr pda/articlehistory.js}} to your monobook.js
//
function loadXMLDoc(url,handler,id)
{
    url=url+id;
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        var req = new XMLHttpRequest();
    }
    // branch for IE/Windows ActiveX version
    else if (window.ActiveXObject) {
        var req = new ActiveXObject("Microsoft.XMLHTTP");
   }
   if (req) {
     req.onreadystatechange = function () {handler(req,id)};
     req.open("GET", url, true);
     req.send("");
   }
}

function getArticleOldid(req,id) {
    // only if req shows "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            // ...processing statements go here...
	 var response = req.responseXML.documentElement;
	 var rv = response.getElementsByTagName('rv');
	 var spannode = document.getElementById('oldid-'+id);
	 spannode.innerHTML = rv[0].getAttribute('revid');
	 var linode = document.getElementById(id);
	 linode.onclick='';
        } else {
            alert("There was a problem retrieving the XML data:\n" +
                req.statusText);
        }
    }
}

function getArticleOldidManual(req,id) {
    // only if req shows "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            // ...processing statements go here...
	 var response = req.responseXML.documentElement;
	 var rv = response.getElementsByTagName('rv');
	 var spannode = document.getElementById('oldid-'+id);

	 var timestamp = rv[0].getAttribute('timestamp');
	 timestamp = timestamp.replace(/Z/g,'');
	 var prettytimestamp = timestamp.replace(/T/,', ');
	 timestamp = timestamp.replace(/[-T:]/g,'');
	 var idtime = id.substr(0,4)+'-'+id.substr(4,2)+'-'+id.substr(6,2)+', '+id.substr(8,2)+':'+id.substr(10,2)+':'+id.substr(12,2);
	 
	 var revid = rv[0].getAttribute('revid');
	 
	 spannode.innerHTML = 'The last version before '+idtime+' was at '+prettytimestamp+', with an oldid of '+revid+'. Click on the links to jump to the <a href="/w/index.php?title='+articleName+'&action=history&offset='+id+'">article history</a> or <a href="/w/index.php?title='+talkName+'&action=history&offset='+id+'">talk page history</a> at this point.';
        } else {
            alert("There was a problem retrieving the XML data:\n" +
                req.statusText);
        }
    }
}

function getHistoryMilestones(req) {
    // only if req shows "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            // ...processing statements go here...
	 var response = req.responseXML.documentElement;
	 var revList = response.getElementsByTagName('rv');
	 var prettylastcomment = '';
	 var lasttimestamp = '';
	 var prettylasttimestamp = '';

         if(revList.length > 0){
	   for(var i=0; i<revList.length; i++){
	     var comment = revList[i].getAttribute('comment');
	     //strip out headers i.e. /*...*/
	     prettycomment=comment.replace(/\/\*.*\*\//,'');
	     comment=prettycomment.toLowerCase();
	     var timestamp = revList[i].getAttribute('timestamp');
	     timestamp = timestamp.replace(/Z/g,'');
	     var prettytimestamp = timestamp.replace(/T/,', ');
	     timestamp = timestamp.replace(/[-T:]/g,'');

             var output = document.getElementById("article-milestones");
	     if(comment.match('{{') || comment.match('featured') || comment.match('fac.?failed') || comment.match('review')|| comment.match(/\bfa\b/) || comment.match(/\bfac\b/) || comment.match(/\bga\b/) || comment.match(/\bgac\b/) || comment.match(/\bgafailed\b/) || comment.match(/\bga.?nominee\b/)|| comment.match('good article') || comment.match(/\bfar\b/) || comment.match(/\bfarc\b/) || comment.match(/\bfl\b/) || comment.match(/\bflrc\b/) || comment.match(/main.?page/) || comment.match('dyk') ){
	       var milestone = document.createElement("li");
	       spanid='oldid-'+timestamp;
	       milestone.innerHTML='<b>'+prettytimestamp+'</b> '+prettycomment+' <span id='+spanid+'>(oldid)</span>';
	       milestone.id=timestamp;
	       milestone.onclick=getArticleOldidWrapper;
	       output.appendChild(milestone);
             }
	     prettylastcomment = prettycomment;
	     lasttimestamp = timestamp;
	     prettylasttimestamp = prettytimestamp;
	   }
	   var getmore = document.getElementById("getmore");
	   getmore.innerHTML='(last entry read: <b>'+prettylasttimestamp+'</b> '+prettylastcomment+')';
           //Get more milestones, if any (if not, the program won't get here again)
           loadXMLDoc(talkQueryURL,getHistoryMilestones,'&rvend='+(parseInt(lasttimestamp)-1))
          }
        }
	 else {
            alert("There was a problem retrieving the XML data:\n" +
                req.statusText);
        }
    }
}

function getArticleOldidWrapper(event) {
  loadXMLDoc(articleQueryURL,getArticleOldid,this.id)
}

function manualDate(event)
  {
  var mydate=prompt("Enter the date for which you want the oldid","")
  if (mydate!=null && mydate!=""){
    var utc = Date.parse(mydate+' UTC');
    var d = new Date();
    d.setTime(utc);
    if((d.getUTCHours()+d.getUTCMinutes()) == 0){
      d.setUTCHours(23);
      d.setUTCMinutes(59);
      d.setUTCSeconds(59);
    }
    var timestamp ='';
    timestamp += d.getUTCFullYear();
    timestamp += (d.getUTCMonth()<10) ? '0'+(d.getUTCMonth()+1) : (d.getUTCMonth()+1);
    timestamp += (d.getUTCDate()<10) ? '0'+ d.getUTCDate() : d.getUTCDate();
    timestamp += (d.getUTCHours()<10) ? '0'+ d.getUTCHours() : d.getUTCHours();
    timestamp += (d.getUTCMinutes()<10) ? '0'+ d.getUTCMinutes() : d.getUTCMinutes();
    timestamp += (d.getUTCSeconds()<10) ? '0'+ d.getUTCSeconds() : d.getUTCSeconds();

    var dateoldid = document.createElement("p");
    dateoldid.id = 'oldid-'+timestamp;
    output.parentNode.insertBefore(dateoldid,enterdate.nextSibling); 
    loadXMLDoc(articleQueryURL,getArticleOldidManual,timestamp)
    }
  }

function getArticleHistory(){

 output = document.createElement("ul");
 output.id = "article-milestones";

 var dummy = document.getElementById("siteSub");
 dummy.parentNode.insertBefore(output, dummy.nextSibling);

 var getmore = document.createElement("p");
 getmore.id = 'getmore';
 output.parentNode.insertBefore(getmore,output.nextSibling); 

 enterdate = document.createElement("p");
 enterdate.id = 'enterdate';
 enterdate.innerHTML='<span style="background-color:lightblue;font-weight:bold;">Click here to enter a date manually</span>';
 enterdate.onclick = manualDate;
 output.parentNode.insertBefore(enterdate,getmore.nextSibling); 
 
 var pageName = wgPageName;
 articleName = (wgNamespaceNumber == 1) ? pageName.substr(5) : pageName;
 talkName = 'Talk:'+articleName;
 //correctly handle article name when on a Talk page archive
 var archiveIndex = articleName.toLowerCase().indexOf("/archive");
 articleName = (archiveIndex == -1) ? articleName : articleName.substring(0,archiveIndex);

 //Use query.php instead of api.php since it has a limit of 200 instead of 50
 //var apiHistoryQuery = '/w/api.php?action=query&prop=revisions&titles='+talkName+'&rvlimit=50&rvprop=timestamp|comment&format=xml';

 talkQueryURL = '/w/query.php?what=revisions&titles='+talkName+'&rvlimit=200&rvcomments&format=xml';
 articleQueryURL = '/w/query.php?what=revisions&titles='+articleName+'&rvlimit=200&rvcomments&format=xml&rvend=';
 loadXMLDoc(talkQueryURL,getHistoryMilestones,'');
}

$(function () {
  if(!document.forms.editform){
    mw.util.addPortletLink('p-tb', 'javascript:getArticleHistory()', 'Article history', 't-article-history', 'Search Talk page history for events relevant to ArticleHistory template', '', '');
  }
});
var wikEdSummaryUsing = '…wikEd';

//</pre>