Note: After saving, you have to bypass your browser's cache to see the changes. Internet Explorer: press Ctrl-F5, Mozilla: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Opera/Konqueror: press F5, Safari: hold down Shift + Alt while clicking Reload, Chrome: hold down Shift while clicking Reload.
// ---------------------------------------------------------
// Ustawienia domyślne - przycisków
// ---------------------------------------------------------
 
if (!del_buttons)
{
	var del_buttons = new Array(
		"general",	// identyfikator grupy (nie zmieniać i nie dodawać)
		"",		// etykieta
		new Array (	// przyciski
		    "Fair use",	// etykieta
		    "[[Commons:Licensing#Material_under_the_fair_use_clause_is_not_allowed_on_the_Commons|Fair use]]",	//wstawiany tekst
		    "copyvio",
		    "copyvio",
		    "bad license",
		    "bad license",
		    "no need",
		    "not needed",
		    "newbie",
		    "newbie test...",
		    "dv",
		    "derivative work",
		    "screenshot",
		    "Screenshot of a program distributed under a non-free licence",
		    "contain cv",
		    "graphic file contains elements which are licenced under a non-free licence / graphic file contains copyrighted elements",
		    "svg",
		    "Converted to SVG",
		    "dupe",
		    "dupe, unused",		    
		    "request",
		    "for uploader request",
		    "out of ps",
		    "Out of [[Commons:Project scope|project scope]]",
		    "CD",
		    "cd cover",
		    "vandalism",
		    "vandalism",
		    "no media",
		    "contains no media"
		)
	);
}
 
// ---------------------------------------------------------
// Ustawienia domyślne - linkujące oraz historia
// ---------------------------------------------------------
 
// maksymalna ilość pobieranych linkujących, 0 - nie pobiera
try { del_max_links = del_max_links } catch (e) { del_max_links = 10 }
 
// maksymalna ilość pobieranych wpisów z historii, 0 - nie pobiera
try { del_max_versions = del_max_versions } catch (e) { del_max_versions = 5 }
 
// czy włączony jest tryb hardcode? - 
try { del_hardcore = del_hardcore } catch (e) { del_hardcore = 0}
 
// tak, wiem... ale nie wymyśliłem nic lepszego...
 
// ---------------------------------------------------------
// Fragment kodu z LiveRC
// ---------------------------------------------------------
 
var wpajax = {
  http: function(bundle) {
    // mandatory: bundle.url
    // optional:  bundle.async
    // optional:  bundle.method
    // optional:  bundle.headers
    // optional:  bundle.data
    // optional:  bundle.onSuccess (xmlhttprequest, bundle)
    // optional:  bundle.onFailure (xmlhttprequest, bundle)
    // optional:  bundle.otherStuff OK too, passed to onSuccess and onFailure
    var xmlhttp;
    try {
      xmlhttp = new XMLHttpRequest(); 
    } catch(e) { 
      try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) { 
        try {
          xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {
          xmlhttp = false
        }
      }
    }
 
    if (xmlhttp) {
      xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4)
          wpajax.httpComplete(xmlhttp,bundle);
      };
      xmlhttp.open(bundle.method ? bundle.method : "GET",bundle.url,bundle.async == false ? false : true);
      if (bundle.headers) {
        for (var field in bundle.headers)
          xmlhttp.setRequestHeader(field,bundle.headers[field]);
      }
      xmlhttp.send(bundle.data ? bundle.data : null); 
    }
    return xmlhttp;
  },
 
  httpComplete: function(xmlhttp,bundle) {
    if (xmlhttp.status == 200 || xmlhttp.status == 302) {
      if (bundle.onSuccess)
        bundle.onSuccess(xmlhttp,bundle);
    } else if (bundle.onFailure) {
      bundle.onFailure(xmlhttp,bundle);
    } else {
      // A activer en debug mode ?
      // alert(xmlhttp.statusText);
    }
  }
};
 
// Parser
if (document.implementation.createDocument) {
  var gml_xmlparser = new DOMParser();
}
 
function gml_XMLParse(string) {
  if (document.implementation.createDocument) {
    return gml_xmlparser.parseFromString(string, "text/xml");
  } else if (window.ActiveXObject) {
    var gml_xmldoc = new ActiveXObject("Microsoft.XMLDOM");
    gml_xmldoc.async = "false";
    ret = gml_xmldoc.loadXML(string);      
    if (!ret)
      return null;
    return gml_xmldoc.documentElement;
  }
  return null;
}
 
// ---------------------------------------------------------
 
 
function getHist(xmlreq, data) 
{
	doc = gml_XMLParse(xmlreq.responseText);
	bodyContent  = doc.getElementById('bodyContent')
 
	var history_div = document.getElementById( 'history_div' );
	history_div.innerHTML = '';
 
	for (var i=0; i< bodyContent.childNodes.length; i++)
	{
		var tagName = bodyContent.childNodes[i].tagName;
		if (tagName && tagName.toLowerCase() == 'form')
		{
			history_div.appendChild(bodyContent.childNodes[i]);
			return;
		}
	}
	history_div.appendChild(bodyContent);
}
 
function getLinks(xmlreq, data) 
{
	doc = gml_XMLParse(xmlreq.responseText);
	bodyContent  = doc.getElementById('bodyContent')
 
	var links_div = document.getElementById( 'links_div' );
 
	for (var i=0; i< bodyContent.childNodes.length; i++)
	{
		var tagName = bodyContent.childNodes[i].tagName;
		if (tagName && tagName.toLowerCase() == 'ul')
		{
			links_div.innerHTML = '';
			links_div.appendChild(bodyContent.childNodes[i]);
			return;
		}
	}
	links_div.innerHTML = '<span style="color: green; font-size: larger; font-weight:bold">Brak linkujących</span>';
}
 
function escape_reason(text)
{
	return text.replace(/"/g,'\\"'); // 
}
 
function del_createButtons(parentNode, buttonArray)
{
	for (var j = 0; j < buttonArray.length; j+=2)
	{
		var newButton = document.createElement('a');
 
		// atrybuty
		newButton.appendChild(document.createTextNode(buttonArray[j]));
		newButton.onclick = new Function('insert_delete_reason("' + escape_reason(buttonArray[j+1]) + '")');
 
		// dodanie przycisku
		parentNode.appendChild(newButton);
	}
}
 
function del_createGroup(id, caption, buttonArray)
{
	tr = document.createElement('tr');
	tr.id = "del_" + id;
 
	td_caption = document.createElement('td');
	td_caption.align = 'right';
	td_caption.appendChild( document.createTextNode(caption) );
	tr.appendChild(td_caption);
 
	td_buttons = document.createElement('td');
	td_buttons.align = 'left';
	td_buttons.id = 'userSummaryButtonsA';
	del_createButtons(td_buttons, buttonArray);
	tr.appendChild(td_buttons);
 
	return tr;
}
 
function del_showAll()
{
	for (var i = 0; i < del_buttons.length; i+=3)
	{
		var group = del_buttons[i];
		document.getElementById("del_" + group).style.display = '';
	}
	document.getElementById("del_general").cells[0].style.visibility = 'hidden';
}
 
function del_imageForm()
{
	// zmienił się sposób usuwania plików
	// należy dodać brakujące elementy formularza
	var table = document.createElement('table');
	table.border = 0;
	var wpReason = document.getElementById('wpReason');
	var p = wpReason.parentNode;
	p.innerHTML = '';
 
	var tr = document.createElement('tr');
	var td_caption = document.createElement('td');
	td_caption.align = 'right';
	td_caption.appendChild( document.createTextNode('Powód usunięcia:') );
	tr.appendChild(td_caption);
	var td_reason = document.createElement('td');
	td_reason.appendChild(wpReason);
	tr.appendChild(td_reason);
	table.appendChild(tr);
 
	tr = document.createElement('tr');
	td_caption = document.createElement('td');
	td_reason = document.createElement('td');
 
	var button = p.parentNode.getElementsByTagName('input')[0];
	button.parentNode.innerHTML = '';
	td_reason.appendChild(button);
	tr.appendChild(td_caption);
	tr.appendChild(td_reason);
 
	table.appendChild(tr);
	p.appendChild(table);
	return tr;
}
 
addOnloadHook(function()
{
	// jeżeli to nie jest strona 'Usuń' zakończ działanie
	if (wgAction != "delete") 
		return;
 
	var current_group = '';
	var defaultReason = '';
 
	if ( document.getElementById('wpReason') )
		defaultReason = document.getElementById('wpReason').value;
 
	var tr_watch;
 
	if (wgNamespaceNumber == 6)
	{
		current_group = 'img';
		tr_watch = del_imageForm();
	}
	else
	{
		var wpWatch = document.getElementById('wpWatch');
		tr_watch = wpWatch.parentNode.parentNode;
	}
	var table= tr_watch.parentNode;
 
	if (defaultReason.match(/#REDIRECT/i))
	{
		current_group = 'redir';
	}
	else if (wgPageName.substring(0, 8) == 'Dyskusja')
	{
		current_group = 'talk';
	}
	else if (wgNamespaceNumber == 14)
	{
		current_group = 'tech';
	}
	else if (defaultReason.match(/\{\{(?:Pocz)?SDU/i))
	{
		current_group = 'tech';
	}
/*	niepotrzebne
 	else if (defaultReason.match(/\{\{(?:auto)?NPA/i))
	{
	    current_group = 'tech';
	}
*/
	for (var i = 0; i < del_buttons.length; i+=3)
	{
		var group = del_buttons[i];
		var caption = del_buttons[i+1];
		var buttons = del_buttons[i+2];
 
		var new_tr = del_createGroup(group, caption, buttons);
 
		if (group == 'general')
		{
			var newButton = document.createElement('a');
 
			// atrybuty
			newButton.appendChild(document.createTextNode("pokaż wszystkie"));
			newButton.onclick = del_showAll;
 
			// dodanie przycisku
			new_tr.firstChild.appendChild(newButton);
		}
		else if (group == current_group)
		{
			new_tr.firstChild.style.fontWeight = 'bold';
		}
		else
		{
			new_tr.style.display = 'none';
		}
		table.insertBefore(new_tr, tr_watch);
	}
 
	var ek_found = defaultReason.match(/\{\{ek\|(?:1=)?(.+?)(?:\}\}|$)/);
 
	if (ek_found)
	{
		var newButton = document.createElement('a');
 
		// atrybuty
		newButton.appendChild(document.createTextNode("z eka"));
		newButton.onclick = new Function('insert_delete_reason("z eka: ' + escape_reason(ek_found[1]) + '")');
 
		// dodanie przycisku
		document.getElementById('del_general').lastChild.appendChild(newButton);
	}
 
	var bodyContent = document.getElementById('bodyContent');
	var deletionlog = document.getElementById('mw-article-delete-deletionlog');
 
	if (del_max_versions > 0)
	{
		var history_h2 = document.createElement('h2');
		history_h2.innerHTML = 'Historia i autorzy <span style="font-size: x-small;">(ostatnie ' + del_max_versions + ')</span>';
		bodyContent.insertBefore(history_h2, deletionlog);
 
		var history_div = document.createElement('div');
		history_div.id = 'history_div';
		history_div.innerHTML="<b>Wczytywanie historii zmian...</b>";
		bodyContent.insertBefore(history_div, deletionlog);
 
		wpajax.http({url:mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/index.php?limit=' + del_max_versions + '&title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=history', onSuccess: getHist, message: wgPageName });
	}
 
	// na razie skrypt nie pobiera stron odwołoujących się do obrazka
	if (wgNamespaceNumber == 6)
		return;
 
	if (del_max_links > 0)
	{
		var links_h2 = document.createElement('h2');
		links_h2.innerHTML = 'Linkujące <span style="font-size: x-small;">(pierwsze ' + del_max_links + ')</span>';
		bodyContent.insertBefore(links_h2, deletionlog);
 
		var links_div = document.createElement('div');
		links_div.id = 'links_div';
		links_div.innerHTML="<b>Wczytywanie linkujących...</b>";
		bodyContent.insertBefore(links_div, deletionlog);
 
		wpajax.http({url:mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/index.php?limit=' + del_max_links + '&title=Specjalna:Linkuj%C4%85ce/' + encodeURIComponent(mw.config.get('wgPageName')), onSuccess: getLinks, message: wgPageName });
	}
});
 
function insert_delete_reason(reason)
{
	var element = document.getElementById('wpReason');
 
	element.value = reason;
 
	if (del_hardcore)
	{
		element.form.submit();
	}
}
var del_hardcore = 1;