User:Olipro/autodelete.js

From Uncyclopedia, the content-free encyclopedia
Jump to navigation Jump to search

Note: After saving, you have to bypass your browser's cache to see the changes.

  • Internet Explorer: hold down the Ctrl key and click the Refresh or Reload button, or press Ctrl+F5.
  • Firefox: hold down the Shift key while clicking Reload; alternatively press Ctrl+F5 or Ctrl-Shift-R.
  • Opera, Konqueror and Safari users can just click the Reload button.
  • Chrome: press Ctrl+F5 or Shift+F5
 //******************************** <
 // Autodelete by Spang from http://en.uncyclopedia.co/wiki/User:Spang/autodelete.js
 // Modified by [[User:Olipro|Olipro]] to work with other browsers. and delete talk pages, plus other crap
 // *******************************

 var rendercheck;
 var delcheck;
 var deleteUrl;
 function autoDelete() {
   if (document.getElementById('ca-delete') != undefined && rendercheck != 1) {
      document.getElementById('ca-delete').getElementsByTagName('a')[0].innerHTML = 'delete ↓';
      deleteUrl = document.getElementById('ca-delete').firstChild + '';
      var deletePosition = document.getElementById('ca-delete').offsetLeft;
      var deleteBox = '<div id="delete-dropdown" style="position: absolute; z-index: 3; left: ' + deletePosition + 'px; top:1.8em;">';
      deleteBox += '<a href="' + deleteUrl + '&setdelconfirm=wpConfirmB">Auto delete</a>';
      deleteBox += '<a href="' + deleteUrl + '&setdelconfirm=wpConfirmB&wpReason=1.2 [[Uncyclopedia:Patented nonsense|Patented nonsense]]">nonsense</a>';
      deleteBox += '<a href="' + deleteUrl + '&setdelconfirm=wpConfirmB&wpReason=1.B Not funny for sober people. Read [[HTBFANJS]].">Crap</a>';
      deleteBox += '<a href="' + deleteUrl + '&setdelconfirm=wpConfirmB&wpReason=1.5 [[Uncyclopedia:Vanity Policies|We don\'t care]]. Go away.">Vanity</a>';
      deleteBox += '<a href="' + deleteUrl + '&setdelconfirm=wpConfirmB&wpReason=1.5.1 [[UN:CM|Codeine\'s Mum]] hasn\'t heard of you. Go away.">Codeine\'s Mum</a>';
      deleteBox += '<a href="' + deleteUrl + '&setdelconfirm=wpConfirmB&wpReason=2.3 [[Uncyclopedia:Intensive Care Unit|ICU expired]]">ICU expired</a>';
      deleteBox += '<a href="' + deleteUrl + '&setdelconfirm=wpConfirmB&wpReason=2.4 Abandoned WIP">WIP Abandon</a>';
      deleteBox += '<a href="' + deleteUrl + '&setdelconfirm=wpConfirmB&wpReason=[[vfd|Voted for deletion]]">vfd</a>';
      if (document.cookie.indexOf('lastDelReason') != -1 ) {
         var cStart = document.cookie.indexOf('lastDelReason') + 14;
         var cEnd = document.cookie.indexOf(';', cStart);
         if (cEnd == -1) cEnd = document.cookie.length;
         lastReason = unescape(document.cookie.substring(cStart, cEnd));
         deleteBox += '<a href="' + deleteUrl + '&setdelconfirm=wpConfirmB&wpReason=' + escape(lastReason) + '">last: <i>' + lastReason.substr(0,10) + '...</i></a>';
      }
      deleteBox += '<a href="javascript:customreason();" id="customres">custom...</a>';
      deleteBox += '</div>';
      document.getElementById('ca-delete').innerHTML += deleteBox;
      document.getElementById('content').addEventListener('mouseover', resetDelete, false);
      document.getElementById('customres').addEventListener('mousedown', customreason, false);
      rendercheck = 1;
      delcheck = 0;
   }
 }
 function customreason() {
    var delReason=prompt('Enter deletion reason');
    if (delReason != null) {
        document.cookie= 'lastDelReason=' + escape(delReason) + '; path=/';
        window.location='' + deleteUrl + '&setdelconfirm=wpConfirmB&wpReason=' + escape(delReason);
    }
 }
 function setDeleteForm() {
    if(window.location.href.indexOf('deltalkpage') != -1)
    {
        var dbody = document.getElementById('bodyContent');
        var alink = dbody.getElementsByTagName('a');
        for(i in alink) {
            if(alink[i].innerHTML == 'del') {
                window.location.href = alink[i].getAttribute('href').toString() + '&setdelconfirm=wpConfirmB';
                break;
            }
        }
    }
    var deleteconfirm = document.getElementById("deleteconfirm");
    if (!deleteconfirm) return;
    
    var summaryText = queryString('setsummary');
    if (summaryText) {
        var summary = document.getElementsByName("wpSummary")[0];
        if (summary) summary.value = summaryText;
    }

    var setDelConfirm = queryString('setdelconfirm');
    if (setDelConfirm) {
        var btn = document.getElementsByName('wpConfirmB')[0];
        if (deleteconfirm && btn) {
            var tlk = document.getElementById('bodyContent').getElementsByTagName('b')[0];
            if(tlk.innerHTML.indexOf('exists for this page')!= -1 && wgPageName != 'This_page_does_not_exist') {
                var curatr = document.getElementById('deleteconfirm').getAttribute('action').toString();
                curatr += '&deltalkpage=true';
                document.getElementById('deleteconfirm').setAttribute('action', curatr);
            }
            if(queryString('doclose') == 'true') {
                form = document.getElementById('deleteconfirm');
                formstr = form.getAttribute('action');
                formstr += '&doclose=true';
                form.setAttribute('action', formstr);
            }
            btn.textContent += " (auto clicking...)";
            btn.click();
        }
    }
 };
 function resetDelete()
 {
    if(delcheck == 1)
        return 0;
    document.getElementById('ca-delete').getElementsByTagName('a')[0].innerHTML = 'delete';
    //document.getElementById('del-drop').innerHTML = '';
    var ddown = document.getElementById('delete-dropdown');
    var mainer = document.getElementById('ca-delete');
    mainer.removeChild(ddown);
    rendercheck = 0;
    delcheck = 1;
 }

 function queryString(p) {
        var re = RegExp('[&?]' + p + '=([^&]*)');
        var matches;

        if (matches = re.exec(document.location)) {
            try { 
                return decodeURI(matches[1]);
            } catch (e) {
        }
    }
  
    return null;
 };
 //Olipros browser compatibility hack
 function TheMain() {
    if(document.getElementById('ca-delete') != null)
    {
        document.getElementById('ca-delete').addEventListener('mouseover', autoDelete, false);
        window.addEventListener('click', resetDelete, false);
    }
    setDeleteForm();
 }

 var mybrowser = navigator.userAgent;
 if(mybrowser.search(/MSIE/) != -1) {
    attachEvent('onload', TheMain);
 } else if(mybrowser.search(/Firefox/i) == -1) {
    window.addEventListener('load', TheMain, false);
 } else {
    window.addEventListener('DOMContentLoaded', TheMain, false);
 }
 //end hack

 document.write('<link rel="stylesheet" type="text/css" href="'  
             + 'http://en.uncyclopedia.co/w/index.php?title=User:Spang/autodelete.css'
             + '&action=raw&ctype=text/css&dontcountme=s">');
 //