User:Sebastian Marzjan/WHAM.js

/* a bunch of stuff... (WHAM!) / written by Joey Ahmadi (except for the jQueryUI obviously) / Bot flag function and Monobook support added by Grunny / Bot flag function will only work in MediaWiki 1.16 / play nicely and report any bugs/feature requests to user:Joeyaa / This was designed for vstf/helpers/staff, so it currently assumes you have rights... will add check if requested / feel free to pass around, just keep this notice */

if (typeof jQuery.ui == 'undefined') { /*! jQuery UI - v1.8.23 - 2012-08-15 * https://github.com/jquery/jquery-ui * Includes: jquery.ui.core.js	 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ (function(a,b){function c(b,c){var e=b.nodeName.toLowerCase;if("area"===e){var f=b.parentNode,g=f.name,h;return!b.href||!g||f.nodeName.toLowerCase!=="map"?!1:(h=a("img[usemap=#"+g+"]")[0],!!h&&d(h))}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}function d(b){return!a(b).parents.andSelf.filter(function{return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.ui=a.ui||{};if(a.ui.version)return;a.extend(a.ui,{version:"1.8.23",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function{var d=this;setTimeout(function{a(d).focus,c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function{var b;return a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents.filter(function{return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents.filter(function{return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent}}return 0},disableSelection:function{return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault})},enableSelection:function{return this.unbind(".ui-disableSelection")}}),a("").outerWidth(1).jquery||a.each(["Width","Height"],function(c,d){function h(b,c,d,f){return a.each(e,function{c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)}),c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase,g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?g["inner"+d].call(this):this.each(function{a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return typeof b!="number"?g["outer"+d].call(this,b):this.each(function{a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:a.expr.createPseudo?a.expr.createPseudo(function(b){return function(c){return!!a.data(c,b)}}):function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function{var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.curCSS||(a.curCSS=a.css),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!d||!a.element[0].parentNode)return;for(var e=0;e0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)},isOverAxis:function(a,b,c){return a>b&&a<b+c},isOver:function(b,c,d,e,f,g){return a.ui.isOverAxis(b,d,f)&&a.ui.isOverAxis(c,e,g)}})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 * https://github.com/jquery/jquery-ui * Includes: jquery.ui.widget.js	 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ (function(a,b){if(a.cleanData){var c=a.cleanData;a.cleanData=function(b){for(var d=0,e;(e=b[d])!=null;d++)try{a(e).triggerHandler("remove")}catch(f){}c(b)}}else{var d=a.fn.remove;a.fn.remove=function(b,c){return this.each(function{return c||(!b||a.filter(b,[this]).length)&&a("*",this).add([this]).each(function{try{a(this).triggerHandler("remove")}catch(b){}}),d.call(a(this),b,c)})}}a.widget=function(b,c,d){var e=b.split(".")[0],f;b=b.split(".")[1],f=e+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][f]=function(c){return!!a.data(c,b)},a[e]=a[e]||{},a[e][b]=function(a,b){arguments.length&&this._createWidget(a,b)};var g=new c;g.options=a.extend(!0,{},g.options),a[e][b].prototype=a.extend(!0,g,{namespace:e,widgetName:b,widgetEventPrefix:a[e][b].prototype.widgetEventPrefix||b,widgetBaseClass:f},d),a.widget.bridge(b,a[e][b])},a.widget.bridge=function(c,d){a.fn[c]=function(e){var f=typeof e=="string",g=Array.prototype.slice.call(arguments,1),h=this;return e=!f&&g.length?a.extend.apply(null,[!0,e].concat(g)):e,f&&e.charAt(0)==="_"?h:(f?this.each(function{var d=a.data(this,c),f=d&&a.isFunction(d[e])?d[e].apply(d,g):d;if(f!==d&&f!==b)return h=f,!1}):this.each(function{var b=a.data(this,c);b?b.option(e||{})._init:a.data(this,c,new d(e,this))}),h)}},a.Widget=function(a,b){arguments.length&&this._createWidget(a,b)},a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:!1},_createWidget:function(b,c){a.data(c,this.widgetName,this),this.element=a(c),this.options=a.extend(!0,{},this.options,this._getCreateOptions,b);var d=this;this.element.bind("remove."+this.widgetName,function{d.destroy}),this._create,this._trigger("create"),this._init},_getCreateOptions:function{return a.metadata&&a.metadata.get(this.element[0])[this.widgetName]},_create:function{},_init:function{},destroy:function{this.element.unbind("."+this.widgetName).removeData(this.widgetName),this.widget.unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled "+"ui-state-disabled")},widget:function{return this.element},option:function(c,d){var e=c;if(arguments.length===0)return a.extend({},this.options);if(typeof c=="string"){if(d===b)return this.options[c];e={},e[c]=d}return this._setOptions(e),this},_setOptions:function(b){var c=this;return a.each(b,function(a,b){c._setOption(a,b)}),this},_setOption:function(a,b){return this.options[a]=b,a==="disabled"&&this.widget[b?"addClass":"removeClass"](this.widgetBaseClass+"-disabled"+" "+"ui-state-disabled").attr("aria-disabled",b),this},enable:function{return this._setOption("disabled",!1)},disable:function{return this._setOption("disabled",!0)},_trigger:function(b,c,d){var e,f,g=this.options[b];d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase,c.target=this.element[0],f=c.originalEvent;if(f)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.call(this.element[0],c,d)===!1||c.isDefaultPrevented)}}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 * https://github.com/jquery/jquery-ui * Includes: jquery.ui.position.js	 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ (function(a,b){a.ui=a.ui||{};var c=/left|center|right/,d=/top|center|bottom/,e="center",f={},g=a.fn.position,h=a.fn.offset;a.fn.position=function(b){if(!b||!b.of)return g.apply(this,arguments);b=a.extend({},b);var h=a(b.of),i=h[0],j=(b.collision||"flip").split(" "),k=b.offset?b.offset.split(" "):[0,0],l,m,n;return i.nodeType===9?(l=h.width,m=h.height,n={top:0,left:0}):i.setTimeout?(l=h.width,m=h.height,n={top:h.scrollTop,left:h.scrollLeft}):i.preventDefault?(b.at="left top",l=m=0,n={top:b.of.pageY,left:b.of.pageX}):(l=h.outerWidth,m=h.outerHeight,n=h.offset),a.each(["my","at"],function{var a=(b[this]||"").split(" ");a.length===1&&(a=c.test(a[0])?a.concat([e]):d.test(a[0])?[e].concat(a):[e,e]),a[0]=c.test(a[0])?a[0]:e,a[1]=d.test(a[1])?a[1]:e,b[this]=a}),j.length===1&&(j[1]=j[0]),k[0]=parseInt(k[0],10)||0,k.length===1&&(k[1]=k[0]),k[1]=parseInt(k[1],10)||0,b.at[0]==="right"?n.left+=l:b.at[0]===e&&(n.left+=l/2),b.at[1]==="bottom"?n.top+=m:b.at[1]===e&&(n.top+=m/2),n.left+=k[0],n.top+=k[1],this.each(function{var c=a(this),d=c.outerWidth,g=c.outerHeight,h=parseInt(a.curCSS(this,"marginLeft",!0))||0,i=parseInt(a.curCSS(this,"marginTop",!0))||0,o=d+h+(parseInt(a.curCSS(this,"marginRight",!0))||0),p=g+i+(parseInt(a.curCSS(this,"marginBottom",!0))||0),q=a.extend({},n),r;b.my[0]==="right"?q.left-=d:b.my[0]===e&&(q.left-=d/2),b.my[1]==="bottom"?q.top-=g:b.my[1]===e&&(q.top-=g/2),f.fractions||(q.left=Math.round(q.left),q.top=Math.round(q.top)),r={left:q.left-h,top:q.top-i},a.each(["left","top"],function(c,e){a.ui.position[j[c]]&&a.ui.position[j[c]][e](q,{targetWidth:l,targetHeight:m,elemWidth:d,elemHeight:g,collisionPosition:r,collisionWidth:o,collisionHeight:p,offset:k,my:b.my,at:b.at})}),a.fn.bgiframe&&c.bgiframe,c.offset(a.extend(q,{using:b.using}))})},a.ui.position={fit:{left:function(b,c){var d=a(window),e=c.collisionPosition.left+c.collisionWidth-d.width-d.scrollLeft;b.left=e>0?b.left-e:Math.max(b.left-c.collisionPosition.left,b.left)},top:function(b,c){var d=a(window),e=c.collisionPosition.top+c.collisionHeight-d.height-d.scrollTop;b.top=e>0?b.top-e:Math.max(b.top-c.collisionPosition.top,b.top)}},flip:{left:function(b,c){if(c.at[0]===e)return;var d=a(window),f=c.collisionPosition.left+c.collisionWidth-d.width-d.scrollLeft,g=c.my[0]==="left"?-c.elemWidth:c.my[0]==="right"?c.elemWidth:0,h=c.at[0]==="left"?c.targetWidth:-c.targetWidth,i=-2*c.offset[0];b.left+=c.collisionPosition.left<0?g+h+i:f>0?g+h+i:0},top:function(b,c){if(c.at[1]===e)return;var d=a(window),f=c.collisionPosition.top+c.collisionHeight-d.height-d.scrollTop,g=c.my[1]==="top"?-c.elemHeight:c.my[1]==="bottom"?c.elemHeight:0,h=c.at[1]==="top"?c.targetHeight:-c.targetHeight,i=-2*c.offset[1];b.top+=c.collisionPosition.top<0?g+h+i:f>0?g+h+i:0}}},a.offset.setOffset||(a.offset.setOffset=function(b,c){/static/.test(a.curCSS(b,"position"))&&(b.style.position="relative");var d=a(b),e=d.offset,f=parseInt(a.curCSS(b,"top",!0),10)||0,g=parseInt(a.curCSS(b,"left",!0),10)||0,h={top:c.top-e.top+f,left:c.left-e.left+g};"using"in c?c.using.call(b,h):d.css(h)},a.fn.offset=function(b){var c=this[0];return!c||!c.ownerDocument?null:b?a.isFunction(b)?this.each(function(c){a(this).offset(b.call(this,c,a(this).offset))}):this.each(function{a.offset.setOffset(this,b)}):h.call(this)}),a.curCSS||(a.curCSS=a.css),function{var b=document.getElementsByTagName("body")[0],c=document.createElement("div"),d,e,g,h,i;d=document.createElement(b?"div":"body"),g={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},b&&a.extend(g,{position:"absolute",left:"-1000px",top:"-1000px"});for(var j in g)d.style[j]=g[j];d.appendChild(c),e=b||document.documentElement,e.insertBefore(d,e.firstChild),c.style.cssText="position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;",h=a(c).offset(function(a,b){return b}).offset,d.innerHTML="",e.removeChild(d),i=h.top+h.left+(b?2e3:0),f.fractions=i>21&&i<22}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 * https://github.com/jquery/jquery-ui * Includes: jquery.ui.dialog.js	 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ (function(a,b){var c="ui-dialog ui-widget ui-widget-content ui-corner-all ",d={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},e={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};a.widget("ui.dialog",{options:{autoOpen:!0,buttons:{},closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:!1,maxWidth:!1,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",collision:"fit",using:function(b){var c=a(this).css(b).offset.top;c<0&&a(this).css("top",b.top-c)}},resizable:!0,show:null,stack:!0,title:"",width:300,zIndex:1e3},_create:function{this.originalTitle=this.element.attr("title"),typeof this.originalTitle!="string"&&(this.originalTitle=""),this.options.title=this.options.title||this.originalTitle;var b=this,d=b.options,e=d.title||"&#160;",f=a.ui.dialog.getTitleId(b.element),g=(b.uiDialog=a(" ")).appendTo(document.body).hide.addClass(c+d.dialogClass).css({zIndex:d.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(c){d.closeOnEscape&&!c.isDefaultPrevented&&c.keyCode&&c.keyCode===a.ui.keyCode.ESCAPE&&(b.close(c),c.preventDefault)}).attr({role:"dialog","aria-labelledby":f}).mousedown(function(a){b.moveToTop(!1,a)}),h=b.element.show.removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g),i=(b.uiDialogTitlebar=a("  ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),j=a('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function{j.addClass("ui-state-hover")},function{j.removeClass("ui-state-hover")}).focus(function{j.addClass("ui-state-focus")}).blur(function{j.removeClass("ui-state-focus")}).click(function(a){return b.close(a),!1}).appendTo(i),k=(b.uiDialogTitlebarCloseText=a("  ")).addClass("ui-icon ui-icon-closethick").text(d.closeText).appendTo(j),l=a("  ").addClass("ui-dialog-title").attr("id",f).html(e).prependTo(i);a.isFunction(d.beforeclose)&&!a.isFunction(d.beforeClose)&&(d.beforeClose=d.beforeclose),i.find("*").add(i).disableSelection,d.draggable&&a.fn.draggable&&b._makeDraggable,d.resizable&&a.fn.resizable&&b._makeResizable,b._createButtons(d.buttons),b._isOpen=!1,a.fn.bgiframe&&g.bgiframe},_init:function{this.options.autoOpen&&this.open},destroy:function{var a=this;return a.overlay&&a.overlay.destroy,a.uiDialog.hide,a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide.appendTo("body"),a.uiDialog.remove,a.originalTitle&&a.element.attr("title",a.originalTitle),a},widget:function{return this.uiDialog},close:function(b){var c=this,d,e;if(!1===c._trigger("beforeClose",b))return;return c.overlay&&c.overlay.destroy,c.uiDialog.unbind("keypress.ui-dialog"),c._isOpen=!1,c.options.hide?c.uiDialog.hide(c.options.hide,function{c._trigger("close",b)}):(c.uiDialog.hide,c._trigger("close",b)),a.ui.dialog.overlay.resize,c.options.modal&&(d=0,a(".ui-dialog").each(function{this!==c.uiDialog[0]&&(e=a(this).css("z-index"),isNaN(e)||(d=Math.max(d,e)))}),a.ui.dialog.maxZ=d),c},isOpen:function{return this._isOpen},moveToTop:function(b,c){var d=this,e=d.options,f;return e.modal&&!b||!e.stack&&!e.modal?d._trigger("focus",c):(e.zIndex>a.ui.dialog.maxZ&&(a.ui.dialog.maxZ=e.zIndex),d.overlay&&(a.ui.dialog.maxZ+=1,d.overlay.$el.css("z-index",a.ui.dialog.overlay.maxZ=a.ui.dialog.maxZ)),f={scrollTop:d.element.scrollTop,scrollLeft:d.element.scrollLeft},a.ui.dialog.maxZ+=1,d.uiDialog.css("z-index",a.ui.dialog.maxZ),d.element.attr(f),d._trigger("focus",c),d)},open:function{if(this._isOpen)return;var b=this,c=b.options,d=b.uiDialog;return b.overlay=c.modal?new a.ui.dialog.overlay(b):null,b._size,b._position(c.position),d.show(c.show),b.moveToTop(!0),c.modal&&d.bind("keydown.ui-dialog",function(b){if(b.keyCode!==a.ui.keyCode.TAB)return;var c=a(":tabbable",this),d=c.filter(":first"),e=c.filter(":last");if(b.target===e[0]&&!b.shiftKey)return d.focus(1),!1;if(b.target===d[0]&&b.shiftKey)return e.focus(1),!1}),a(b.element.find(":tabbable").get.concat(d.find(".ui-dialog-buttonpane :tabbable").get.concat(d.get))).eq(0).focus,b._isOpen=!0,b._trigger("open"),b},_createButtons:function(b){var c=this,d=!1,e=a("  ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),f=a("  ").addClass("ui-dialog-buttonset").appendTo(e);c.uiDialog.find(".ui-dialog-buttonpane").remove,typeof b=="object"&&b!==null&&a.each(b,function{return!(d=!0)}),d&&(a.each(b,function(b,d){d=a.isFunction(d)?{click:d,text:b}:d;var e=a('  ').click(function{d.click.apply(c.element[0],arguments)}).appendTo(f);a.each(d,function(a,b){if(a==="click")return;a in e?e[a](b):e.attr(a,b)}),a.fn.button&&e.button}),e.appendTo(c.uiDialog))},_makeDraggable:function{function f(a){return{position:a.position,offset:a.offset}}var b=this,c=b.options,d=a(document),e;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(d,g){e=c.height==="auto"?"auto":a(this).height,a(this).height(a(this).height).addClass("ui-dialog-dragging"),b._trigger("dragStart",d,f(g))},drag:function(a,c){b._trigger("drag",a,f(c))},stop:function(g,h){c.position=[h.position.left-d.scrollLeft,h.position.top-d.scrollTop],a(this).removeClass("ui-dialog-dragging").height(e),b._trigger("dragStop",g,f(h)),a.ui.dialog.overlay.resize}})},_makeResizable:function(c){function h(a){return{originalPosition:a.originalPosition,originalSize:a.originalSize,position:a.position,size:a.size}}c=c===b?this.options.resizable:c;var d=this,e=d.options,f=d.uiDialog.css("position"),g=typeof c=="string"?c:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight,handles:g,start:function(b,c){a(this).addClass("ui-dialog-resizing"),d._trigger("resizeStart",b,h(c))},resize:function(a,b){d._trigger("resize",a,h(b))},stop:function(b,c){a(this).removeClass("ui-dialog-resizing"),e.height=a(this).height,e.width=a(this).width,d._trigger("resizeStop",b,h(c)),a.ui.dialog.overlay.resize}}).css("position",f).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function{var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(b){var c=[],d=[0,0],e;if(b){if(typeof b=="string"||typeof b=="object"&&"0"in b)c=b.split?b.split(" "):[b[0],b[1]],c.length===1&&(c[1]=c[0]),a.each(["left","top"],function(a,b){+c[a]===c[a]&&(d[a]=c[a],c[a]=b)}),b={my:c.join(" "),at:c.join(" "),offset:d.join(" ")};b=a.extend({},a.ui.dialog.prototype.options.position,b)}else b=a.ui.dialog.prototype.options.position;e=this.uiDialog.is(":visible"),e||this.uiDialog.show,this.uiDialog.css({top:0,left:0}).position(a.extend({of:window},b)),e||this.uiDialog.hide},_setOptions:function(b){var c=this,f={},g=!1;a.each(b,function(a,b){c._setOption(a,b),a in d&&(g=!0),a in e&&(f[a]=b)}),g&&this._size,this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",f)},_setOption:function(b,d){var e=this,f=e.uiDialog;switch(b){case"beforeclose":b="beforeClose";break;case"buttons":e._createButtons(d);break;case"closeText":e.uiDialogTitlebarCloseText.text(""+d);break;case"dialogClass":f.removeClass(e.options.dialogClass).addClass(c+d);break;case"disabled":d?f.addClass("ui-dialog-disabled"):f.removeClass("ui-dialog-disabled");break;case"draggable":var g=f.is(":data(draggable)");g&&!d&&f.draggable("destroy"),!g&&d&&e._makeDraggable;break;case"position":e._position(d);break;case"resizable":var h=f.is(":data(resizable)");h&&!d&&f.resizable("destroy"),h&&typeof d=="string"&&f.resizable("option","handles",d),!h&&d!==!1&&e._makeResizable(d);break;case"title":a(".ui-dialog-title",e.uiDialogTitlebar).html(""+(d||"&#160;"))}a.Widget.prototype._setOption.apply(e,arguments)},_size:function{var b=this.options,c,d,e=this.uiDialog.is(":visible");this.element.show.css({width:"auto",minHeight:0,height:0}),b.minWidth>b.width&&(b.width=b.minWidth),c=this.uiDialog.css({height:"auto",width:b.width}).height,d=Math.max(0,b.minHeight-c);if(b.height==="auto")if(a.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show;var f=this.element.css("height","auto").height;e||this.uiDialog.hide,this.element.height(Math.max(f,d))}else this.element.height(Math.max(b.height-c,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight)}}),a.extend(a.ui.dialog,{version:"1.8.23",uuid:0,maxZ:0,getTitleId:function(a){var b=a.attr("id");return b||(this.uuid+=1,b=this.uuid),"ui-dialog-title-"+b},overlay:function(b){this.$el=a.ui.dialog.overlay.create(b)}}),a.extend(a.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:a.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(b){this.instances.length===0&&(setTimeout(function{a.ui.dialog.overlay.instances.length&&a(document).bind(a.ui.dialog.overlay.events,function(b){if(a(b.target).zIndex<a.ui.dialog.overlay.maxZ)return!1})},1),a(document).bind("keydown.dialog-overlay",function(c){b.options.closeOnEscape&&!c.isDefaultPrevented&&c.keyCode&&c.keyCode===a.ui.keyCode.ESCAPE&&(b.close(c),c.preventDefault)}),a(window).bind("resize.dialog-overlay",a.ui.dialog.overlay.resize));var c=(this.oldInstances.pop||a("  ").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width,height:this.height});return a.fn.bgiframe&&c.bgiframe,this.instances.push(c),c},destroy:function(b){var c=a.inArray(b,this.instances);c!=-1&&this.oldInstances.push(this.instances.splice(c,1)[0]),this.instances.length===0&&a([document,window]).unbind(".dialog-overlay"),b.remove;var d=0;a.each(this.instances,function{d=Math.max(d,this.css("z-index"))}),this.maxZ=d},height:function{var b,c;return a.browser.msie&&a.browser.version<7?(b=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),c=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight),b<c?a(window).height+"px":b+"px"):a(document).height+"px"},width:function{var b,c;return a.browser.msie?(b=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth),c=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth),b<c?a(window).width+"px":b+"px"):a(document).width+"px"},resize:function{var b=a([]);a.each(a.ui.dialog.overlay.instances,function{b=b.add(this)}),b.css({width:0,height:0}).css({width:a.ui.dialog.overlay.width,height:a.ui.dialog.overlay.height})}}),a.extend(a.ui.dialog.overlay.prototype,{destroy:function{a.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);; }

$(document).ready(function {

var ug = wgUserGroups.join(' '); if(ug.indexOf('staff') + ug.indexOf('helper') + ug.indexOf('vstf') + ug.indexOf('sysop') > -4) { if(wgCanonicalSpecialPageName == "Contributions") { $('head').append(""); $('#content,.WikiaArticle').prepend(' ');

$('#contentSub').append(' Quick Tools '); $('#quicktools').click(function(event) {				event.preventDefault;				$('.dialog-full').dialog('open');			});

$(".dialog-full").dialog({				resizable: true,				height:200,				width:320,				modal: true,				position: 'center',				autoOpen: false,				buttons: {					"Delete all pages": function {						$( this ).dialog( "close" ).click(delAll);

},					"Rollback all edits": function { $( this ).dialog( "close" ).click(rollbackAll); },					"Quick block": function { $( this ).dialog( "close" ).click(blockFast); },					"All of the above": function { $( this ).dialog( "close" ).click(wham);; },					"Bot me": function { $( this ).click(quickBotFlag('add')); },					"UnBot me": function { $( this ).dialog( "close" ).click(quickBotFlag('remove')); },					Cancel: function { $( this ).dialog( "close" ); }				}			});

//lets begin!

/* DEL ALL */ function delAll { var title = encodeURIComponent($('li .newpage ~ a').html); var url = wgServer+'/api.php?action=query&prop=info&intoken=delete&titles='+title+'&format=json'; var deleteReason = prompt('Please enter the delete reason','cleanup'); $.getJSON(url, function(data) {					if (!deleteReason) return;					var p; for (var p in data.query.pages) { break; };					var ET = data.query.pages[p].deletetoken;					var ET = ET.slice(0, -2);					var ET = ET+'%2B\\';					$('li .newpage ~ a').each(function { var title = encodeURIComponent($(this).html); var url = wgServer+'/api.php?action=delete&title='+title+'&reason='+deleteReason+'&format=json&token='+ET; $.post(url,function {							$('li .newpage ~ a').css({'color':'grey','text-decoration':'line-through'}).removeAttr('href');						}); });				});			}

/* ROLLBACK ALL */ function rollbackAll { $('.mw-rollback-link a').each(function {					var href = $(this).attr('href');					$.get(href);					$(this).text('gone!').css('color','grey').removeAttr('href');				}); }

/* FAST BLOCK */ function blockFast { if( skin == 'monobook' || $('input[name="target"]').val != '' ) { var delAllUser = $('input[name="target"]').val; } else { if($('#WikiaUserPagesHeader h1 small').text != '') { var delAllUser = $('#WikiaUserPagesHeader h1 small').text; } else { var delAllUser = $('#WikiaUserPagesHeader h1').text; }				}				var blockExpiry = prompt('Please state the block duration','2 weeks'); var blockReason = prompt('Please state the block reason','vandalism'); var url = wgServer+'/api.php?action=query&prop=info&intoken=block&titles=User:'+delAllUser+'&format=json'; $.getJSON(url, function(data) {					if (!blockExpiry || !blockReason) return;					var p; for (var p in data.query.pages) { break; };					var ET = data.query.pages[p].blocktoken;					var ET = ET.slice(0, -2);					var ET = ET+'%2B\\';					var url = wgServer+'/api.php?action=block&user='+delAllUser+'&expiry='+blockExpiry+'&reason='+blockReason+'&nocreate&autoblock&format=json&token='+ET;					$.post(url, function { alert('User has been blocked'); });				});			}

function quickBotFlag(aorr) { var qUserName = encodeURIComponent(wgUserName); if( aorr == 'add' ) { var reason = prompt('Please state the reason','cleanup'); }				var url = wgServer + wgScriptPath + '/api.php?action=query&list=users&ususers=' + qUserName + '&ustoken=userrights&format=json'; $.getJSON( url, function (data) {					if ( !reason ) {						reason = '';					}					for ( var p in data.query.users ) {						break;					};					var token = data.query.users[p].userrightstoken;					if( aorr == 'add' ) {						var url = wgServer + wgScriptPath + '/api.php?action=userrights&user=' + qUserName + '&add=bot&reason=' + encodeURIComponent(reason) + '&format=json&token=' + encodeURIComponent(token);						$.post( url, function { //Makes rollback links +bot when adding bot flag $('.mw-rollback-link a').each(function {								$(this).attr('href', $(this).attr('href') + '&bot=1') ;							} ); alert('User has been ninja\'d!'); });					} else if( aorr == 'remove' ) {						var url = wgServer + wgScriptPath + '/api.php?action=userrights&user=' + qUserName + '&remove=bot&format=json&token=' + encodeURIComponent(token);						$.post( url, function { alert('User has been de-ninja\'d!'); });					}				});			}			function wham { blockFast; rollbackAll; delAll; }		}	} });

importScriptURI( 'https://internal.wikia-inc.com/index.php?title=MediaWiki:QAdopt.js&action=raw&ctype=text/javascript' ); importScriptURI( 'https://internal.wikia-inc.com/index.php?title=MediaWiki:CUP.js&action=raw&ctype=text/javascript' ); var grUserPageText = '';

importScriptPage('AjaxBatchDelete/code.js', 'dev');

/*jshint jquery:true browser:true laxbreak:true smarttabs:true */ /*global mediaWiki */

if (mediaWiki.config.get('wgCanonicalSpecialPageName') === 'Blankpage') { mediaWiki.loader.using(['mediawiki.util', 'mediawiki.api'], function {		'use strict';

if (mediaWiki.util.getParamValue('blankspecial') !== 'langscan') { return; }

jQuery(function {			(function(window, $, mw) { var	MAX_JOBS = 1, IFRAME_TIMEOUT = 30000, langCodes = {"ab":"Abkhaz","aa":"Afar","af":"Afrikaans","ak":"Akan","sq":"Albanian","am":"Amharic","ar":"Arabic","an":"Aragonese","hy":"Armenian","as":"Assamese","av":"Avaric","ae":"Avestan","ay":"Aymara","az":"Azerbaijani","bm":"Bambara","ba":"Bashkir","eu":"Basque","be":"Belarusian","bn":"Bengali","bh":"Bihari","bi":"Bislama","bs":"Bosnian","br":"Breton","bg":"Bulgarian","my":"Burmese","ca":"Catalan; Valencian","ch":"Chamorro","ce":"Chechen","ny":"Chichewa; Chewa; Nyanja","zh":"Chinese","cv":"Chuvash","kw":"Cornish","co":"Corsican","cr":"Cree","hr":"Croatian","cs":"Czech","da":"Danish","dv":"Divehi; Dhivehi; Maldivian;","nl":"Dutch","dz":"Dzongkha","en":"English","eo":"Esperanto","et":"Estonian","ee":"Ewe","fo":"Faroese","fj":"Fijian","fi":"Finnish","fr":"French","ff":"Fula; Fulah; Pulaar; Pular","gl":"Galician","ka":"Georgian","de":"German","el":"Greek, Modern","gn":"Guaraní","gu":"Gujarati","ht":"Haitian; Haitian Creole","ha":"Hausa","he":"Hebrew (modern)","hz":"Herero","hi":"Hindi","ho":"Hiri Motu","hu":"Hungarian","ia":"Interlingua","id":"Indonesian","ie":"Interlingue","ga":"Irish","ig":"Igbo","ik":"Inupiaq","io":"Ido","is":"Icelandic","it":"Italian","iu":"Inuktitut","ja":"Japanese","jv":"Javanese","kl":"Kalaallisut, Greenlandic","kn":"Kannada","kr":"Kanuri","ks":"Kashmiri","kk":"Kazakh","km":"Khmer","ki":"Kikuyu, Gikuyu","rw":"Kinyarwanda","ky":"Kyrgyz","kv":"Komi","kg":"Kongo","ko":"Korean","ku":"Kurdish","kj":"Kwanyama, Kuanyama","la":"Latin","lb":"Luxembourgish, Letzeburgesch","lg":"Ganda","li":"Limburgish, Limburgan, Limburger","ln":"Lingala","lo":"Lao","lt":"Lithuanian","lu":"Luba-Katanga","lv":"Latvian","gv":"Manx","mk":"Macedonian","mg":"Malagasy","ms":"Malay","ml":"Malayalam","mt":"Maltese","mi":"Māori","mr":"Marathi (Marāṭhī)","mh":"Marshallese","mn":"Mongolian","na":"Nauru","nv":"Navajo, Navaho","nb":"Norwegian Bokmål","nd":"North Ndebele","ne":"Nepali","ng":"Ndonga","nn":"Norwegian Nynorsk","no":"Norwegian","ii":"Nuosu","nr":"South Ndebele","oc":"Occitan","oj":"Ojibwe, Ojibwa","cu":"Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic","om":"Oromo","or":"Oriya","os":"Ossetian, Ossetic","pa":"Panjabi, Punjabi","pi":"Pāli","fa":"Persian","pl":"Polish","ps":"Pashto, Pushto","pt":"Portuguese","qu":"Quechua","rm":"Romansh","rn":"Kirundi","ro":"Romanian, Moldavian(Romanian from Republic of Moldova)","ru":"Russian","sa":"Sanskrit (Saṁskṛta)","sc":"Sardinian","sd":"Sindhi","se":"Northern Sami","sm":"Samoan","sg":"Sango","sr":"Serbian","gd":"Scottish Gaelic; Gaelic","sn":"Shona","si":"Sinhala, Sinhalese","sk":"Slovak","sl":"Slovene","so":"Somali","st":"Southern Sotho","es":"Spanish; Castilian","su":"Sundanese","sw":"Swahili","ss":"Swati","sv":"Swedish","ta":"Tamil","te":"Telugu","tg":"Tajik","th":"Thai","ti":"Tigrinya","bo":"Tibetan Standard, Tibetan, Central","tk":"Turkmen","tl":"Tagalog","tn":"Tswana","to":"Tonga (Tonga Islands)","tr":"Turkish","ts":"Tsonga","tt":"Tatar","tw":"Twi","ty":"Tahitian","ug":"Uighur, Uyghur","uk":"Ukrainian","ur":"Urdu","uz":"Uzbek","ve":"Venda","vi":"Vietnamese","vo":"Volapük","wa":"Walloon","cy":"Welsh","wo":"Wolof","fy":"Western Frisian","xh":"Xhosa","yi":"Yiddish","yo":"Yoruba","za":"Zhuang, Chuang","zu":"Zulu"}, styles = { // Colors for different modes checking: { // Scan is in progress backgroundColor: 'yellow', color: 'black' },						failed: { // Probably doesn't exist backgroundColor: '#A00', color: 'white' },						found: { // Exists, not linked backgroundColor: '#13A', color: 'white' },						connected: { // Exists, linked backgroundColor: 'green', color: 'white' }					},					defaultMsg = { checking: 'Checking...', failed: 'Does not exist', found: 'Exists but is not connected', connected: 'Exists & Connected' };

// Retitle $('#WikiaPageHeader > h1').text('Interlanguage Scan').prop('title', 'JavaScript Program');

// DOM components var	$content = $('#WikiaArticle').empty, $topNotice = $(' Run Scan &mdash; WARNING: May use a ton of RAM, CPU and bandwidth. '), $scanTable = $(						' '					);

// Prefill table (function {					var content = '';					for (var x in langCodes) {						if (langCodes.hasOwnProperty(x)) {							content +=								' ' +								' ' + langCodes[x] + ' ' +								' ' + x + ' ' +								'??? ' +								' ';						}					}					$scanTable.find('tbody').append(content);				});

$content.append($topNotice, $scanTable);

// Change state of table rows when info is known function mark(langCode, mode, msg) { var $x = $scanTable.find('td[data-langcode="' + langCode + '"]') .css(styles[mode]) .html(msg || defaultMsg[mode]); if (mode === 'found' || mode === 'connected') { $x.attr('data-done', 'true'); }				}

// Look up the interwiki link table new mw.Api.get({					meta: 'siteinfo',					siprop: 'interwikimap',					sifilteriw: 'local'				}, {					ok: function(json) {						// Update the table						json = json.query.interwikimap;						for (var i = 0, l = json.length ; i < l ; ++i) {							if (!json[i].language) { continue; }							mark(json[i].prefix, 'connected', 'Connected');						}

// Enable scan $topNotice .find('button').click(function(ev) {								ev.preventDefault;								$topNotice.slideUp('fast');								runScan;							}).end .slideDown('fast'); },					err: function(textCode) { $topNotice .text('Could not access interwikimap for this wiki. Error: ' + textCode) .addClass('error').removeClass('confirm') .slideDown('fast'); }				});

// Create one iframe per sub-domain and wait for the site to load. // If it times out then it probably doesn't exist. // We rate limit this to avoid total insanity. function runScan { var map = {}; $(window).on('message.langscan', function(ev) {						var e = ev.originalEvent;						if (typeof(e.data) === 'string') {							var m = e.data.split('#');							if (m.length === 2 && map.hasOwnProperty(m[0])) {								map[m[0]](window.parseInt(m[1], 10));								delete map[m[0]];								ev.stopImmediatePropagation;							}						}					});

var jobs = $scanTable.find('td[data-langcode]').not('[data-done]').toArray, jobCount = (jobs.length < MAX_JOBS ? jobs.length : MAX_JOBS); for (var i = 0 ; i < jobCount ; ++i) { startJob(jobs.shift); }

function startJob(e) { var code = e.getAttribute('data-langcode'); mark(code, 'checking'); var $f = $('').prop({							src: '//' + code + '.' + window.location.host + '/wiki/LangScanLanding'						}).appendTo('body'); var timeout = window.setTimeout(function {							mark(code, 'failed', 'Timed out');							e.setAttribute('data-done', 'true');							$f.remove;							decJobCount;						}, IFRAME_TIMEOUT); $f.load(function {							map[code] = function(valid) {								window.clearTimeout(timeout);								if (valid) {									mark(code, 'found', 'Exists but not connected');								}								else {									mark(code, 'failed');								}								$f.remove;								decJobCount;							};							this.contentWindow.postMessage('langscan ' + code, '*');						}); }					function decJobCount { if (jobs.length) { startJob(jobs.shift); }						else if (--jobCount === 0) { // Last job cleans up							$('iframe.langscan-frame').remove; $topNotice .html(' Scan Completed. Hide Irrelevant Rows ') .slideDown('fast') .find('button').click(function(ev) {									ev.preventDefault;									$scanTable.find('td[data-langcode]').not('[data-done]').parent.toggle;								}); $(window).off('message.langscan'); }					}				}

})(window, jQuery, mediaWiki);		}); }); }

// Enable cross-origin access between the scan page and a designated landing page on the wiki // NOTE: Landing page must NOT be a Special page as those have X-FRAME-OPTIONS: DENY which blocks //	loading them inside IFRAMEs. The landing page is not visibly altered by what we are doing to //	it so it doesn't matter if it exists. switch(mediaWiki.config.get('wgPageName')) { case 'LangScanLanding': case 'Community_Central:Not_a_valid_Wikia': jQuery(window).on('message.langscan', function(ev) {			'use strict';			var e = ev.originalEvent;			if (typeof(e.data) === 'string' && e.data.substr(0, 8) === 'langscan') {				e.source.postMessage(e.data.substr(9) + '#' + (mediaWiki.config.get('wgDBname') !== 'wikia' ? 1 : 0), e.origin);				ev.stopImmediatePropagation;			}		}); }