User:Kameraad Pjotr/monobook.js/delete.js

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search
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.
$(function (){
		if(queryString("submitdelete")=="true") document.forms[0].wpConfirmB.click();
	});
	function queryString(p) {
		var re = RegExp('[&?]' + p + '=([^&]*)');
		var matches;
		if (matches = re.exec(document.location)) {
			try { 
				return decodeURI(matches[1]);
			} catch (e) {
			}
		}
		return null;
	};

//Deletion script from [[w:User:^demon]]
/* <pre><nowiki> */
 
if (wgAction == 'delete') {
     var csdDeleteForm = {
				FillSelect:function(sel, arr){
					if(arr && arr.length>0){
						if(arr.length>1){
							var FirstOpt = new Option("CSD Reasons", "");
							// catches stupid IE error
							if(FirstOpt.innerHTML != "CSD Reasons"){
								FirstOpt.innerHTML = "CSD Reasons";
							}
							sel.appendChild(FirstOpt);
							sel.options[0].style.color = "gray"
						}
						sel.disabled = false;
						for(var i=0;i<arr.length;i++){
							var opt = new Option(arr[i].display, arr[i].value);
							// catches stupid IE error
							if(opt.innerHTML != arr[i].display){
								opt.innerHTML = arr[i].display;
							}
							sel.appendChild(opt);
						}
					}else{
						sel.options[0] = new Option("No Options Available", "");
						// catches stupid IE error
						if(sel.options[0].innerHTML != "No Options Available"){
							sel.options[0].innerHTML = "No Options Available";
						}
						sel.disabled = true;
						return false;
					}
					return true;
				},
                                ValueArray:[
                                        {"value":"[[Commons:Freedom of panorama|FOP]] does not apply.","display":"FOP"},
                                        {"value":"[[Commons:When to use the PD-Art tag|PD-Art]] does not apply.","display":"PD-art"},
                                                                               {"value":"[[Commons:Copyright_tags#Public_domain|PD-Old]] does not apply.","display":"PD-old"},
{"value":"Not a work of the [[Template:PD-USGov|United States Federal Government]].","display":"PD-USGov"},
{"value":"Image from [[Commons:Deletion requests/Template:Vector-Images.com (2nd request)#Third. Copyright status|Vector-Images.com]].","display":"Vector-Images"},
{"value":"[[Commons:Deletion requests/File:" + wgTitle + "|Deletion request]] closed.","display":"Deletion request"},
{"value":"Reusing a [[Template:CC-BY-SA|cc-by-sa]] image in a [[Template:GFDL|GFDL]] image is not possible.", "display":"cc-by-sa<->gfdl conflict"},
{"value":"Image from the [[Commons:Deletion requests/Images from www.fotw.net|Flags of the World Website]] uploaded after [[Template:FOTWpic|May 19, 2005]].","display":"fotw"},
{"value":"Out of [[COM:PS|Project scope]].", "display":"COM:PS"},
{"value":"Lacks suitable [[COM:OTRS|permission]].", "display":"COM:OTRS"}
                                        ],
				//**************************** attaching function *****************************************
				// got thIS super handi function from http://www.scottandrew.com he is pretty dang smart **
			        //*****************************************************************************************
				addEvent:function(obj, evType, fn, useCapture){
					//alert(obj);
					if (obj.addEventListener){
						obj.addEventListener(evType, fn, useCapture);
						return true;
					} else if (obj.attachEvent){
						var r = obj.attachEvent("on"+evType, fn);
						return r;
					} else {
						alert("Handler could not be attached");
					}
				}
			}
			function addSelectAfter(){
    				var obj = document.getElementById('wpReason') || document.getElementById('wpComment');
    			        // create select using included array
				var sel = document.createElement("SELECT");
				csdDeleteForm .FillSelect(sel, csdDeleteForm .ValueArray);
				// name it
				sel.name = "csdOptions";
				sel.id = "csdOptions";
                                sel.style.marginLeft = "10px";
                                csdDeleteForm .addEvent(sel, "change", csdChangeBox, false);
				// check for next sibling and insert before it or at the end
				if(obj.nextSibling){
					obj.parentNode.insertBefore(sel,obj.nextSibling);
				}else{
					obj.parentNode.appendChild(sel);
				}
			}
			try{
				// add one on load
				csdDeleteForm.addEvent(window, "load", addSelectAfter, false);
			}catch(err){}
}
 
function csdChangeBox() {
                         var obj = document.getElementById('wpReason') || document.getElementById('wpComment');
                         obj.value = document.getElementById('csdOptions').value;
                        }
 
/* </nowiki><pre> */