User:RoryHC/vector.js

Source: Wikipedia, the free encyclopedia.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
importScript("User:PleaseStand/userinfo.js");
importScript('User:AzaToth/twinkle.js');
importScript('User:Ioeth/friendly.js');
importScript('User:Lupin/recent2.js');
importScript('User:Cameltrader/Advisor.js');
importScript('User:Ale_jrb/Scripts/csdhelper.js');  //[[User:Ale_jrb/Scripts]]
importScript('User:Ale_jrb/Scripts/igloo.js'); // [[User:Ale_jrb/Scripts/igloo]]
importScript('Wikipedia:AutoEd/complete.js');


//<nowiki>
 
topaz.statuschanger = new Object();
topaz.statuschanger.version = 20061108;
 
 
/* configuration */
 
// change these to whatever you'd like to show up on your status page.  you can add new lines in
// the same format provided there is a comma at the end of each line but the last one.  you can
// also use wikimarkup here to, for example, display an image instead of text.
topaz.statuschanger.statuscode = {
  online:'{{User:QwerpQwertus/Online}}',
  busy:'{{User:QwerpQwertus/Busy}}',
  offline:'{{User:QwerpQwertus.Offline}}'
};
 
// this will make wikimarkup work in your stauscodes but will disable auto-updating 
topaz.statuschanger.enablewikimarkup = false;
 
// true to use the personal bar, false to create a panel in the left column
topaz.statuschanger.usepersonalbar = true;
 
// true if you'd like your status page on your watchlist
topaz.statuschanger.watchstatus = false;
 
/* end configuration */
 
 
topaz.statuschanger.buttonlist = {};
topaz.statuschanger.oldonload = window.onload;
window.onload = function() {
  if (typeof topaz.statuschanger.oldonload == "function") {
    setTimeout('topaz.statuschanger.oldonload()',50);
  }
  if (!topaz.statuschanger.usepersonalbar) {
    topaz.wputil.addsidepanel("tz-statuschanger", "status changer");
  }
  var buttonlist = [];
  for (status in topaz.statuschanger.statuscode) {
    buttonlist.push(status);
    topaz.statuschanger.buttonlist[status] =
        topaz.wputil.addsidepanelbutton(
          topaz.statuschanger.usepersonalbar ? "p-personal" : "tz-statuschanger",
          status,
          'javascript:topaz.statuschanger.setstatus("' + status + '")'
        );
  }
 
  if (topaz.statuschanger.usepersonalbar) {
    for(var i=0; i<buttonlist.length; i++) {
      with (topaz.statuschanger.buttonlist[buttonlist[i]].style) {
        if (i != buttonlist.length-1) {
          borderRight = "1px solid #aaaaaa";
          paddingRight = "2px";
        }
        if (i != 0) {
          marginLeft = "0px";
          paddingLeft = "2px";
        }
      }
    }
  }
 
  var spanlist = document.getElementsByTagName("span");
  for (var i=0; i<spanlist.length; i++) {
    if (spanlist[i].className == "topaz.statuschanger.curstatus."+escape(topaz.wputil.username())) {
      topaz.util.cookie.set("topaz.statuschanger.curstatus", spanlist[i].innerHTML);
    }
  }
 
  topaz.statuschanger.update();
};
 
topaz.statuschanger.setstatus = function(statusname) {
  topaz.wputil.setpagecontent(
      "User:"+topaz.wputil.username()+"/Status",
 
      (!topaz.statuschanger.enablewikimarkup ?
          '<includeonly><span class="topaz.statuschanger.inlinestatus.'
          + escape(topaz.wputil.username())
          + '"></includeonly>'
      : '') +
 
      topaz.statuschanger.statuscode[statusname] +
 
      (!topaz.statuschanger.enablewikimarkup ?
          '<includeonly></span></includeonly>'
      : '') +
 
      '<span class="topaz.statuschanger.curstatus.'+escape(topaz.wputil.username()) +
      '" style="display:none">'+statusname+'</span>',
 
      statusname,
      topaz.statuschanger.watchstatus);
  topaz.util.cookie.set("topaz.statuschanger.curstatus", statusname);
  topaz.statuschanger.update();
};
 
topaz.statuschanger.laststatus = null;
topaz.statuschanger.update = function() {
  var curstatus = topaz.util.cookie.get("topaz.statuschanger.curstatus");
  if (curstatus && curstatus != topaz.statuschanger.laststatus) {
    for (status in topaz.statuschanger.buttonlist) {
      with (topaz.statuschanger.buttonlist[status].style) {
        if (status == curstatus) {
          fontWeight = "bold";
        } else {
          fontWeight = "normal";
        }
      }
    }
 
    if (!topaz.statuschanger.enablewikimarkup) {
      var spanlist = document.getElementsByTagName("span");
      for (var i=0; i<spanlist.length; i++) {
        if (spanlist[i].className == "topaz.statuschanger.inlinestatus."+escape(topaz.wputil.username())) {
          spanlist[i].innerHTML = topaz.statuschanger.statuscode[curstatus];
        }
      }
    }
  }
  topaz.statuschanger.laststatus = curstatus;
};
 
setInterval("topaz.statuschanger.update()", 5000);
 
 
//</nowiki>
////////////////////////////////////////////
// 
// Yet another AfC helper script
// v.4.0.5
// Adapted from [[User:Mr.Z-man/closeAFD]]
// 
////////////////////////////////////////////
 
if (wgPageName.indexOf('Wikipedia:Articles_for_creation/Redirects') != -1) {
	var afcHelper_RedirectPageName = wgPageName.replace(/_/g, ' ');
	var afcHelper_RedirectSubmissions = new Array();
	var afcHelper_RedirectSections = new Array();
	var afcHelper_numTotal = 0;
	var afcHelper_Redirect_AJAXnumber = 0;
	var afcHelper_Submissions = new Array();
	var afcHelper_redirectDecline_reasonhash = {
			'exists' : 'The title you suggested already exists on Wikipedia',
			'blank' : 'We cannot accept empty submissions',
			'notarget': ' A redirect cannot be created unless the target is an existing article. Either you have not specified the target, or the target does not exist',
			'unlikely': 'The title you suggested seems unlikely. Could you provide a source showing that it is a commonly used alternate name?',
			'custom': ''
	};
	var afcHelper_categoryDecline_reasonhash = {
			'exists' : 'The category you suggested already exists on Wikipedia',
			'blank' : 'We cannot accept empty submissions.',
			'unlikely': 'It seems unlikely that there are enough pages to support this category. Could you show that there are a number of pages that belong to this category?',
			'custom': ''
	};
	function afcHelper_redirect_init(){
		afcHelper_RedirectSubmissions = new Array();
		afcHelper_RedirectSections = new Array();
		afcHelper_numTotal = 0;
 
		var pagetext = afcHelper_redirect_getPageText(afcHelper_RedirectPageName, false);
		// let the parsing begin.
		// first, strip out the parts before the first section.
		var section_re = /==[^=]*==/;
		pagetext = pagetext.substring(pagetext.search(section_re));
 
		// second, strip out the parts that has been mass-moderated.
		// first find the place of mass moderation
		var mass_re = /\{\{(?:(?:afc-c|afc top)\|\s*m|afc mm)/i;
		if(mass_re.test(pagetext)){
			var mass_mods = mass_re.exec(pagetext);
			for(var i = 0; i < mass_mods.length; i++){
				var mass_mod_start = pagetext.indexOf(mass_mods[i]);
				var mass_mod_end = pagetext.substring(mass_mod_start).search(/\{\{(?:afc-c\|\s*b|afc b)/i);
				mass_mod_end += mass_mod_start;
				mass_mod_end = pagetext.indexOf('\}\}', mass_mod_end);
				pagetext = pagetext.substring(0, mass_mod_start) + pagetext.substring(mass_mod_end + 2);
			}
		}
 
		// now parse it into sections.
		section_re = /==[^=]*==/g;
		var section_headers = pagetext.match(section_re);
		for(var i = 0; i < section_headers.length; i++){
			var section_start = pagetext.indexOf(section_headers[i]);
			var section_text = pagetext.substring(section_start);
			if(i < section_headers.length-1){
				var section_end = section_text.substring(section_headers[i].length).indexOf(section_headers[i+1]) + section_headers[i].length;
				section_text = section_text.substring(0, section_end);
			}
			afcHelper_RedirectSections.push(section_text);
		}
 
		// parse the sections.
		for(var i = 0; i < afcHelper_RedirectSections.length; i++){
			var closed = /\{\{\s*afc(?!\s+comment)/i.test(afcHelper_RedirectSections[i]);
			if(!closed){
				// parse.
				var header = afcHelper_RedirectSections[i].match(section_re)[0];
				if(header.search(/Redirect request/i) != -1){
					var wikilink_re = /\[\[[^\[\]]+\]\]/g;
					var links = header.match(wikilink_re);
					for(var j = 0; j < links.length; j++){
						links[j]=links[j].replace(/[\[\]]/g, '');
						if(links[j].charAt(0) == ':')
							links[j] = links[j].substring(1);
					}
					var re = /Target of redirect:\s*\[\[([^\[\]]*)\]\]/i;
					re.test(afcHelper_RedirectSections[i]);
					var to = RegExp.$1;
					var submission = {
							type: 'redirect',
							from: new Array(),
							section: i,
							to: to,
							title: to
					};
					for(var j = 0; j < links.length; j++){
						var sub = {
								type: 'redirect',
								to: to,
								id: afcHelper_numTotal,
								title: links[j],
								action: ''
						};
						submission.from.push(sub);
						afcHelper_Submissions.push(sub);
						afcHelper_numTotal++;
					}
					afcHelper_RedirectSubmissions.push(submission);
				}
				else if(header.search(/Category request/i) != -1){
					var wikilink_re = /\[\[[^\[\]]+\]\]/g;
					var links = header.match(wikilink_re);
					// figure out the parent category.
					var idx = afcHelper_RedirectSections[i].substring(header.length).search(/\[\[\s*:\s*(Category:[^\]\[]*)\]\]/i);
					var parent = '';
					if(idx != -1)
						parent = RegExp.$1;
					parent = parent.replace(/:\s*/g, ':');
					for(var j = 0; j < links.length; j++){
						links[j]=links[j].replace(/[\[\]]/g, '');
						links[j]=links[j].replace(/Category\s*:\s*/gi, 'Category:');
						if(links[j].charAt(0) == ':')
							links[j] = links[j].substring(1);
 
						var submission = {
								type: 'category',
								title: links[j],
								section: i,
								id: afcHelper_numTotal,
								action: '',
								parent: parent
						};
						afcHelper_numTotal++;
						afcHelper_RedirectSubmissions.push(submission);
						afcHelper_Submissions.push(submission);
					}
				}
			}
		}
		var text = '<h3>Reviewing AFC redirect requests</h3>';
		// now layout the text.
		for(var k = 0; k < afcHelper_RedirectSubmissions.length; k++){
			text += '<ul>';
			if(afcHelper_RedirectSubmissions[k].type == 'redirect'){
				text += '<li>Redirect(s) to <a href="/wiki/' + encodeURIComponent(afcHelper_RedirectSubmissions[k].to)
				+ '">' + afcHelper_RedirectSubmissions[k].to + '</a>: <ul>';
				for(var l = 0; l < afcHelper_RedirectSubmissions[k].from.length; l++){
					var from = afcHelper_RedirectSubmissions[k].from[l];
					text += "<li>From: " + from.title
					+'<br/><label for="afcHelper_redirect_action_'+ from.id+'">Action: </label>'
					+ afcHelper_redirect_generateSelect('afcHelper_redirect_action_'+ from.id,
							[{ label: 'Accept', value: 'accept' },
							 { label: 'Decline', value: 'decline' },
							 { label: 'Comment', value: 'comment' },
							 { label: 'None', selected : true, value: 'none' }
							 ], 'afcHelper_redirect_onActionChange(' + from.id + ')')
							 + '<div id="afcHelper_redirect_extra_' + from.id + '"></div></li>';
				}
				text += '</ul></li>';
			}
			else{
				text += '<li>Category submission: '+ afcHelper_RedirectSubmissions[k].title;
				text += '<br/> <label for="afcHelper_redirect_action_'+ afcHelper_RedirectSubmissions[k].id+'">Action: </label>'
				+ afcHelper_redirect_generateSelect('afcHelper_redirect_action_'+ afcHelper_RedirectSubmissions[k].id, 
						[{ label: 'Accept', value: 'accept' },
						 { label: 'Decline', value: 'decline' },
						 { label: 'Comment', value: 'comment' },
						 { label: 'None', selected : true, value: 'none' }
						 ], 'afcHelper_redirect_onActionChange(' + afcHelper_RedirectSubmissions[k].id + ')')
						 + '<div id="afcHelper_redirect_extra_' + afcHelper_RedirectSubmissions[k].id + '"></div></li>';
			}
			text += '</ul>';			
		}
		text += '<input type="button" id="afcHelper_redirect_done_button" name="afcHelper_redirect_done_button" value="Done" onclick="afcHelper_redirect_performActions()" />';
		jsMsg(text);
	}
 
	function afcHelper_redirect_onActionChange(id){
		var extra = document.getElementById("afcHelper_redirect_extra_" + id);
		var selectValue = document.getElementById("afcHelper_redirect_action_"+id).value;
		if(selectValue == 'none')
			extra.innerHTML = '';
		else if(selectValue == 'accept'){
			if(afcHelper_Submissions[id].type == 'redirect'){
				extra.innerHTML = '<label for="afcHelper_redirect_from_' + id + '">From: </label><input type="text" '+
				'name="afcHelper_redirect_from_' + id + '" id="afcHelper_redirect_from_' + id + '" value="'
				+ afcHelper_Submissions[id].title + '" />';
				extra.innerHTML += '&nbsp;<label for="afcHelper_redirect_to_' + id + '">To: </label><input type="text" '+
				'name="afcHelper_redirect_to_' + id + '" id="afcHelper_redirect_to_' + id + '" value="'
				+ afcHelper_Submissions[id].to + '" />';
				extra.innerHTML += '<label for="afcHelper_redirect_append_'+ id +'">Template to append: </label>'
				+ afcHelper_redirect_generateSelect('afcHelper_redirect_append_'+ 
						id, [
						     { label: 'R from alternative name', value: 'R from alternative name' },
						     { label: 'R from alternative language', value: 'R from alternative language' },
						     { label: 'R from alternative spelling', value: 'R from alternative spelling' },
						     { label: 'R to section', value: 'R to section' },
						     { label: 'R to disambiguation page', value: 'R to disambiguation page' },
						     { label: 'R from title with diacritics', value: 'R from title with diacritics'},
						     { label: 'Custom - prompt me', value: 'custom' },
						     { label: 'None', selected : true, value: 'none' }
						     ]);
			}
			else{
				extra.innerHTML = '<label for="afcHelper_redirect_name_' + id + '">name: </label><input type="text" '+
				'name="afcHelper_redirect_name_' + id + '" id="afcHelper_redirect_name_' + id + '" value="'
				+ afcHelper_Submissions[id].title + '" />';
				extra.innerHTML += '<label for="afcHelper_redirect_parent_' + id +'">Parent category:</label>'
				+ '<input type="text" id="afcHelper_redirect_parent_' + id +'" name="afcHelper_redirect_parent_' + id +
				'" value="' + afcHelper_Submissions[id].parent + '" />';
			}
			extra.innerHTML += '<label for="afcHelper_redirect_comment_' + id +'">Comment:</label>'
			+ '<input type="text" id="afcHelper_redirect_comment_' + id +'" name="afcHelper_redirect_comment_' + id +'"/>';
		} else if(selectValue == 'decline'){
			if(afcHelper_Submissions[id].type == 'redirect'){
			extra.innerHTML = '<label for="afcHelper_redirect_decline_'+ id +'">Reason for decline: </label>'
			+ afcHelper_redirect_generateSelect('afcHelper_redirect_decline_'+ 
					id, [
					     { label: 'Already exists', value: 'exists' },
					     { label: 'Blank request', value: 'blank' },
					     { label: 'No valid target specified', value: 'notarget' },
					     { label: 'Unlikely search term', value: 'unlikely' },
					     { label: 'Custom - reason below', selected : true, value: 'custom' }
					     ]);
			}
			else {
				extra.innerHTML = '<label for="afcHelper_redirect_decline_'+ id +'">Reason for decline: </label>'
				+ afcHelper_redirect_generateSelect('afcHelper_redirect_decline_'+ 
						id, [
						     { label: 'Already exists', value: 'exists' },
						     { label: 'Blank request', value: 'blank' },
						     { label: 'Unlikely category', value: 'unlikely' },
						     { label: 'Custom - reason below', selected : true, value: 'custom' }
						     ]);
			}
			extra.innerHTML += '<label for="afcHelper_redirect_comment_' + id +'">Comment:</label>'
			+ '<input type="text" id="afcHelper_redirect_comment_' + id +'" name="afcHelper_redirect_comment_' + id +'"/>';
		} else{
			extra.innerHTML = '<label for="afcHelper_redirect_comment_' + id +'">Comment:</label>'
			+ '<input type="text" id="afcHelper_redirect_comment_' + id +'" name="afcHelper_redirect_comment_' + id +'"/>';
		}
	}
 
	function afcHelper_redirect_performActions(){
		// Load all of the data.
		for(var i = 0; i < afcHelper_Submissions.length; i++){
			var action = document.getElementById("afcHelper_redirect_action_" + i).value;
			afcHelper_Submissions[i].action = action;
			if(action == 'none')
				continue;
			if(action == 'accept'){
				if(afcHelper_Submissions[i].type == 'redirect'){
					afcHelper_Submissions[i].title = document.getElementById("afcHelper_redirect_from_" + i).value;
					afcHelper_Submissions[i].to = document.getElementById("afcHelper_redirect_to_" + i).value;
					afcHelper_Submissions[i].append = document.getElementById("afcHelper_redirect_append_" + i).value;
					if(afcHelper_Submissions[i].append == 'custom'){
						afcHelper_Submissions[i].append = prompt("Please enter the template to append for " + afcHelper_Submissions[i].title
								+ ". Do not include the curly brackets.");
					}
					if(afcHelper_Submissions[i].append == 'none' || afcHelper_Submissions[i].append == null)
						afcHelper_Submissions[i].append = '';
					else
						afcHelper_Submissions[i].append = '\{\{' + afcHelper_Submissions[i].append + '\}\}';
				}
				else{
					afcHelper_Submissions[i].title = document.getElementById("afcHelper_redirect_name_" + i).value;
					afcHelper_Submissions[i].parent = document.getElementById("afcHelper_redirect_parent_" + i).value;
				}
			}
			else if (action == 'decline'){
				afcHelper_Submissions[i].reason = document.getElementById('afcHelper_redirect_decline_' + i).value;
			}
			afcHelper_Submissions[i].comment = document.getElementById("afcHelper_redirect_comment_" + i).value;
		}
		// Data loaded. Show progress screen and get edit token and WP:AFC/R page text.
		jsMsg('<ul id="afcHelper_status"></ul><ul id="afcHelper_finish"></ul>');
		document.getElementById('afcHelper_finish').innerHTML += '<span id="afcHelper_finished_wrapper"><span id="afcHelper_finished_main" style="display:none"><li id="afcHelper_done"><b>Done (<a href="/wiki/'+encodeURI(afcHelper_RedirectPageName)+'?action=purge" title="'+afcHelper_RedirectPageName+'">Reload page</a>)</b></li></span></span>';
		var token = afcHelper_redirect_getToken(true);
		var pagetext = afcHelper_redirect_getPageText(afcHelper_RedirectPageName, true);
		var totalaccept = 0;
		var totaldecline = 0;
		var totalcomment = 0;
		// traverse the submissions and locate the relevant sections.
		for(var i = 0; i < afcHelper_RedirectSubmissions.length; i++){
			var sub = afcHelper_RedirectSubmissions[i];
			if(pagetext.indexOf(afcHelper_RedirectSections[sub.section]) == -1){
				// Someone has modified the section in the mean time. Skip.
				document.getElementById('afcHelper_status').innerHTML += '<li>Skipping ' + sub.title + ': Cannot find section. Perhaps it was modified in the mean time?</li>';
				continue;
			}
			var text = afcHelper_RedirectSections[sub.section];
			var startindex = pagetext.indexOf(afcHelper_RedirectSections[sub.section]);
			var endindex = startindex + text.length;
 
			// First deal with cats. These are easy.
			if(sub.type == 'category'){
				if(sub.action == 'accept'){
					var cattext = '<!--Created by WP:AFC -->';
					if(sub.parent != '' )
						cattext = '\[\['+ sub.parent + '\]\]';
					afcHelper_redirect_editPage(sub.title, cattext, token, 'Created via \[\[WP:AFC|Articles for Creation\]\] (\[\[WP:WPAFC|you can help!\]\])', true);
					var talktext = '\{\{subst:WPAFC/article|class=Cat\}\}';
					var talktitle = sub.title.replace(/Category:/gi, 'Category talk:');
					afcHelper_redirect_editPage(talktitle, talktext, token, 'Placing WPAFC project banner', true);
					var header = text.match(/==[^=]*==/)[0];
					text = header + "\n\{\{AfC-c|a\}\}\n" + text.substring(header.length);
					if(sub.comment != '')
						text += '\n*\{\{subst:afc category|accept|2=' + sub.comment +'\}\} \~\~\~\~\n';
					else
						text += '\n*\{\{subst:afc category\}\} \~\~\~\~\n';
					text += '\{\{AfC-c|b\}\}\n';
					totalaccept ++;
				}
				else if (sub.action == 'decline'){
					var header = text.match(/==[^=]*==/)[0];
					var reason = afcHelper_categoryDecline_reasonhash[sub.reason];
					if(reason == '')
						reason = sub.comment;
					else if (sub.comment != '')
						reason = reason + ': ' + sub.comment;
					if(reason == ''){
						document.getElementById('afcHelper_status').innerHTML += '<li>Skipping ' + sub.title + ': No decline reason specified.</li>';
						continue;
					}
					text = header + "\n\{\{AfC-c|d\}\}\n" + text.substring(header.length);
					if(sub.comment == '')
						text += '\n*\{\{subst:afc category|' + sub.reason +'\}\} \~\~\~\~\n';
					else
						text += '\n*\{\{subst:afc category|decline|2=' + reason +'\}\} \~\~\~\~\n';
					text += '\{\{AfC-c|b\}\}\n';
					totaldecline++;
				}
				else if (sub.action == 'comment'){
					if(sub.comment != '')
						text += '\n*\{\{afc comment|1=' + sub.comment +'\~\~\~\~\}\}\n';
					totalcomment++;
				}	
			}
			else {
				// redirects......
				var acceptcomment = '';
				var declinecomment = '';
				var othercomment = '';
				var acceptcount = 0, declinecount = 0, commentcount = 0, hascomment = false;
				for(var j = 0; j < sub.from.length; j++){
					var redirect = sub.from[j];
					if(redirect.action == 'accept'){
						var redirecttext = '#REDIRECT \[\[' + redirect.to + '\]\]\n' + redirect.append;;
						afcHelper_redirect_editPage(redirect.title, redirecttext, token, 'Created via \[\[WP:AFC|Articles for Creation\]\] (\[\[WP:WPAFC|you can help!\]\])', true);
					var talktext = '\{\{subst:WPAFC/redirect\}\}';
					var talktitle = 'Talk:' + redirect.title;
					afcHelper_redirect_editPage(talktitle, talktext, token, 'Placing WPAFC project banner', true);
						acceptcomment += redirect.title + " &rarr; " + redirect.to;
						if(redirect.comment != ''){
							acceptcomment += ': ' + redirect.comment + '; ';
							hascomment = true;
						} else
							acceptcomment += '; ';
						acceptcount ++;
					}
					else if (redirect.action == 'decline'){
						var reason = afcHelper_redirectDecline_reasonhash[redirect.reason];
						if(reason == '')
							reason = redirect.comment;
						else if (redirect.comment != '')
							reason = reason + ': ' + redirect.comment;
						if(reason == ''){
							document.getElementById('afcHelper_status').innerHTML += '<li>Skipping ' + redirect.title + ': No decline reason specified.</li>';
							continue;
						}
						declinecomment += redirect.title + " &rarr; " + redirect.to + ": " + reason + "; "; 
						declinecount ++;
					}
					else if (redirect.action == 'comment'){
						othercomment += redirect.title + ": " + redirect.comment + ", ";
						commentcount ++;
					}
				}
				var reason = '';
 
				if(acceptcount > 0)
					reason += '\n*\{\{subst:afc redirect|accept|2=' + acceptcomment + ' Thank you for your contributions to Wikipedia!\}\} \~\~\~\~';
				if (declinecount > 0)
					reason += '\n*\{\{subst:afc redirect|decline|2=' + declinecomment + '\}\} \~\~\~\~';
				if(commentcount > 0)
					reason += '\n*\{\{afc comment|1=' + othercomment + '\~\~\~\~\}\}';
				reason += '\n';
				if(!hascomment && acceptcount == sub.from.length){
					if(acceptcount > 1)
						reason = '\n*\{\{subst:afc redirect|all\}\} \~\~\~\~\n';
					else
						reason = '\n*\{\{subst:afc redirect\}\} \~\~\~\~\n';
				}
				if(acceptcount + declinecount + commentcount > 0){
					if(acceptcount + declinecount == sub.from.length){
						// Every request disposed of. Close.
						var header = text.match(/==[^=]*==/)[0];
						if(acceptcount > declinecount)
							text = header + "\n\{\{AfC-c|a\}\}\n" + text.substring(header.length);
						else
							text = header + "\n\{\{AfC-c|d\}\}\n" + text.substring(header.length);
						text += reason;
						text += '\{\{AfC-c|b\}\}\n';
					}
					else
						text += reason +'\n';
				}
				totalaccept += acceptcount;
				totaldecline += declinecount;
				totalcomment += commentcount;
			}
			pagetext = pagetext.substring(0, startindex) + text + pagetext.substring(endindex);
		}
 
		var summary = "Updating submission status:";
		if(totalaccept > 0)
			summary += " accepting " + totalaccept + " request"  + (totalaccept > 1 ? 's' : '');
		if(totaldecline > 0){
			if(totalaccept > 0)
				summary += ',';
			summary += " declining " + totaldecline + " request" + (totaldecline > 1 ? 's' : '');
		}
		if(totalcomment > 0){
			if(totalaccept > 0 || totaldecline > 0)
				summary += ',';
			summary += " commenting on " + totalcomment + " request" + (totalcomment > 1 ? 's' : '');
		}
 
		afcHelper_redirect_editPage(afcHelper_RedirectPageName, pagetext, token, summary, false);
		document.getElementById('afcHelper_finished_main').style.display = '';
	}
 
	function afcHelper_redirect_getToken(show) {
		if (show) {
			document.getElementById('afcHelper_status').innerHTML += '<li id="afcHelper_gettoken">Getting token</li>';
		}
		var req = sajax_init_object();
		req.open("GET", wgScriptPath + "/api.php?action=query&prop=info&indexpageids=1&intoken=edit&format=json&titles="+encodeURIComponent(afcHelper_RedirectPageName), false);
		req.send(null);
		var response = eval('(' + req.responseText + ')');
		pageid = response['query']['pageids'][0];
		token = response['query']['pages'][pageid]['edittoken'];
		delete req;
		if (show) {
			document.getElementById('afcHelper_gettoken').innerHTML = 'Got token';
		}
		return token;
	}
 
	function afcHelper_redirect_editPage(title, newtext, token, summary, createonly) {
		document.getElementById('afcHelper_finished_wrapper').innerHTML = '<span id="afcHelper_AJAX_finished_'+afcHelper_Redirect_AJAXnumber+'" style="display:none">' + document.getElementById('afcHelper_finished_wrapper').innerHTML + '</span>';
		var func_id = afcHelper_Redirect_AJAXnumber;
		afcHelper_Redirect_AJAXnumber++;
		document.getElementById('afcHelper_status').innerHTML += '<li id="afcHelper_edit'+escape(title)+'">Editing <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a></li>';
		var req = sajax_init_object();
		var params = "action=edit&format=json&token="+encodeURIComponent(token)+"&title="+encodeURIComponent(title)+"&text="+encodeURIComponent(newtext)+"&notminor=1&unwatch=1&summary="+encodeURIComponent(summary);
		if(createonly)
			params += "&createonly=1";
		url = wgScriptPath + "/api.php";
		req.open("POST", url, true);
		req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		req.setRequestHeader("Content-length", params.length);
		req.setRequestHeader("Connection", "close");
		req.onreadystatechange = function() {
			if(req.readyState == 4 && req.status == 200) {
				response = eval('(' + req.responseText + ')');
				try {
					if (response['edit']['result'] == "Success") {
						document.getElementById('afcHelper_edit'+escape(title)).innerHTML = 'Saved <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a>';
					} else {
						document.getElementById('afcHelper_edit'+escape(title)).innerHTML = '<div style="color:red"><b>Edit failed on <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a></b></div>. Error info:' +response['error']['code'] + ' : ' + response['error']['info'];
					}
				}
				catch(err) {
					document.getElementById('afcHelper_edit'+escape(title)).innerHTML = '<div style="color:red"><b>Edit failed on <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a></b></div>';
				}
				document.getElementById('afcHelper_AJAX_finished_'+func_id).style.display = '';
				delete req;
			}
		};
		req.send(params);
	}
 
	function afcHelper_redirect_getPageText(title, show) {
		if(show){
			document.getElementById('afcHelper_status').innerHTML += '<li id="afcHelper_get'+escape(title)+'">Getting <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a></li>';
		}
		var req = sajax_init_object();
		req.open("GET", wgScriptPath + "/api.php?action=query&prop=revisions&rvprop=content&format=json&indexpageids=1&titles="+encodeURIComponent(title), false);
		req.send(null);
		var response = eval('(' + req.responseText + ')');
		pageid = response['query']['pageids'][0];
		if (pageid == "-1") {
			if(show){
				document.getElementById('afcHelper_get'+escape(title)).innerHTML = '<a class="new" href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a> does not exist';
			}
			delete req;
			return '';
		}
		pagetext = response['query']['pages'][pageid]['revisions'][0]['*'];
		delete req;
		if(show){
			document.getElementById('afcHelper_get'+escape(title)).innerHTML = 'Got <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a>';
		}
		return pagetext;
	}
	function afcHelper_redirect_generateSelect(title, options, onchange){
		var text = '<select name="' + title + '" id="' + title +'" ';
		if(onchange != null)
			text += 'onchange = "' + onchange + '" ';
		text+= '>';
		for(var i = 0; i < options.length; i ++){
			var o = options[i];
			text += '<option value="' + o.value + '" ';
			if(o.selected)
				text += 'selected="selected" ';
			text += '>' + o.label + '</option>';
		}
		text += "</select>";
		return text;
	}
 
	function afcHelper_redirect_addLink() {
		mw.util.addPortletLink("p-cactions", "javascript:afcHelper_redirect_init()", "Review", "ca-afcHelper", "Review");
	}
	addOnloadHook(afcHelper_redirect_addLink);
}
else if (wgPageName.indexOf('Wikipedia:Articles_for_creation/') != -1 || wgPageName.indexOf('Wikipedia_talk:Articles_for_creation/') != -1) {
	var afcHelper_PageName = wgPageName.replace(/_/g, ' ');
	var afcHelper_AJAXnumber = 0;
	var afcHelper_submissionTitle = wgTitle.replace(/Articles for creation\//g, '');
 
	var afcHelper_reasonhash = {
			'v': 'submission is unsourced or contains only unreliable sources',
			'blank': 'submission is blank',
			'lang': 'submission is not in English',
			'cv': 'submission is a copyright violation',
			'exists': 'submission already exists in main space',
			'dup': 'submission is a duplicate of another submission',
			'coi': 'author appears to have a conflict of interest',
			'redirect': 'submission is a redirect request',
			'test': 'submission is a test edit',
			'news': 'submission appears to be a news report of a single event',
			'dict': 'submission is a dictionary definition',
			'joke': 'submission appears to be a joke',
			'blp': 'submission does not conform to BLP',
			'neo': 'submission is a neologism',
			'npov': 'submission is not written from a neutral point of view',
			'adv': 'submission is written like an advertisement',
			'context': 'submission provides insufficient context',
			'mergeto': 'submission is too short but can be merged',
			'plot': 'submission is a plot summary',
			'essay': 'submission reads like an essay',
			'not': 'submission is covered by WP:NOT',
			'nn': 'subject appears to be non-notable',
			'web': 'subject appears to be non-notable web content',
			'prof': 'subject appears to be a non-notable academic',
			'athlete': 'subject appears to be a non-notable athlete',
			'music': 'subject appears to be a non-notable musical performer or work',
			'film': 'subject appears to be a non-notable film',
			'corp': 'subject appears to be a non-notable company or organization',
			'bio': 'subject appears to be a non-notable person',
			'reason': ''
	};
 
	function afcHelper_init() {
		if (!wfSupportsAjax()) {
			jsMsg('<span style="color:red; font-size:120%">Your browser does not seem to support AJAX, which is required for the afcHelper script v3.</span>');
			return;
		}
		form = '<div id="afcHelper_initialform">'+
		'<h3>Reviewing '+afcHelper_PageName+'</h3>'+
		'<input type="button" id="afcHelper_accept_button" name="afcHelper_accept_button" value="Accept" onclick="afcHelper_prompt(\'accept\')" />'+
		'<input type="button" id="afcHelper_decline_button" name="afcHelper_decline_button" value="Decline" onclick="afcHelper_prompt(\'decline\')" />'+
		'<input type="button" id="afcHelper_hold_button" name="afcHelper_hold_button" value="Hold" onclick="afcHelper_prompt(\'hold\')" />'+
		'<input type="button" id="afcHelper_comment_button" name="afcHelper_comment_button" value="Comment" onclick="afcHelper_prompt(\'comment\')" />'+
		'<input type="button" id="afcHelper_mark_button" name="afcHelper_mark_button" value="Mark as reviewing" onclick="afcHelper_act(\'mark\')" />'+
		'<div id="afcHelper_extra"></div>';
		jsMsg(form);
	}
 
	function afcHelper_prompt(type) {
		if(type == 'accept'){
			var text = '<br /><br /> <h3>Accepting '+afcHelper_PageName+'</h3>'+
			'<label for="afcHelper_movetarget">Move submission to: </label><input type="text" id="afcHelper_movetarget" name="afcHelper_movetarget" value="' +afcHelper_submissionTitle+'" />'+
			'<br /><label for="afcHelper_assessment">Assessment (optional): </label>';
			var assessmentSelect = afcHelper_generateSelect("afcHelper_assessment", 
					[{ label: 'B-class', value: 'B' },
					 { label: 'C-class', value: 'C' },
					 { label: 'Start-class', value: 'start' },
					 { label: 'Stub-class', value: 'stub' },
					 { label: 'List-class', value: 'list' },
					 { label: 'Disambig-class', value: 'disambig' },
					 { label: 'Redirect-class', value: 'redirect' },
					 { label: 'None', selected : true, value: '' }
					 ], null);
			text += assessmentSelect;
			text += '<br /><label for="afcHelper_pageAppend">Append to page (optional): </label><textarea rows="3" cols="60" name="afcHelper_pageAppend" id="afcHelper_pageAppend"></textarea>'+
			'<br /><label for="afcHelper_talkAppend">Append to talk page (optional): </label><textarea rows="3" cols="60" name="afcHelper_talkAppend" id="afcHelper_talkAppend"></textarea>';
			document.getElementById('afcHelper_extra').innerHTML += text;
		}
		else if(type == 'decline' || type == 'hold'){
			var text = '<br /><br /> <h3>' + (type == 'decline' ? 'Declining ' : 'Placing on hold ') +afcHelper_PageName+'</h3>'+
			'<label for="afcHelper_reason">Reason for ' + type + ': </label>';
			var reasonSelect = afcHelper_generateSelect("afcHelper_reason",
					[{ label: 'v - submission is unsourced or contain only unreliable sources', value: 'v' },
					 { label: 'blank - submission is blank', value: 'blank' },
					 { label: 'lang - submission is not in English', value: 'lang' },
					 { label: 'cv - submission is a copyright violation', value: 'cv' },
					 { label: 'exists - submission already exists in main space', value: 'exists' },
					 { label: 'dup - submission is a duplicate of another submission', value: 'dup' },
					 { label: 'coi - author appears to have a conflict of interest', value: 'coi' },
					 { label: 'redirect - submission is a redirect request', value: 'redirect' },
					 { label: 'test - submission is a test edit', value: 'test' },
					 { label: 'news - submission appears to be a news report of a single event', value: 'news' },
					 { label: 'dict - submission is a dictionary definition', value: 'dict' },
					 { label: 'joke - submission appears to be a joke', value: 'joke' },
					 { label: 'blp - submission does not conform to BLP', value: 'blp' },
					 { label: 'neo - submission is a neologism', value: 'neo' },
					 { label: 'npov - submission is not written from a neutral point of view', value: 'npov' },
					 { label: 'adv - submission is written like an advertisement', value: 'adv' },
					 { label: 'context - submission provides insufficient context', value: 'context' },
					 { label: 'mergeto - submission is too short but can be merged', value: 'mergeto' },
					 { label: 'plot - submission is a plot summary', value: 'plot' },
					 { label: 'essay - submission reads like an essay', value: 'essay' },
					 { label: 'not - submission is covered by WP:NOT', value: 'not' },
					 { label: 'nn - subject appears to be non-notable - consider using a more specialized decline reason', value: 'nn' },
					 { label: 'web - subject appears to be non-notable web content', value: 'web' },
					 { label: 'prof - subject appears to be a non-notable academic', value: 'prof' },
					 { label: 'athlete - subject appears to be a non-notable athlete', value: 'athlete' },
					 { label: 'music - subject appears to be a non-notable musical performer or work', value: 'music' },
					 { label: 'film - subject appears to be a non-notable film', value: 'film' },
					 { label: 'corp - subject appears to be a non-notable company or organization', value: 'corp' },
					 { label: 'bio - subject appears to be a non-notable person', value: 'bio' },
					 { label: 'Custom - reason below', selected : true, value: 'reason' }
					 ], "afcHelper_onChange(this)");
			text += reasonSelect;
			text += '<br /><label for="afcHelper_comments">Additional comments (optional): </label><textarea rows="3" cols="60" name="afcHelper_comments" id="afcHelper_comments"></textarea>'+
			'<label for="afcHelper_blank">Blank submission:</label><input type="checkbox" name="afcHelper_blank" id="afcHelper_blank" /><br/>' +
			'<label for="afcHelper_notify">Notify author:</label><input type="checkbox" name="afcHelper_notify" id="afcHelper_notify" checked="checked" /><br/>';
			document.getElementById('afcHelper_extra').innerHTML += text;
		}
		else if(type == 'comment'){
			var text = '<br /><br /> <h3> Commenting on ' +afcHelper_PageName+'</h3>'+
			'<br /><label for="afcHelper_comments">Comment: </label><textarea rows="3" cols="60" name="afcHelper_comments" id="afcHelper_comments"></textarea>';
			document.getElementById('afcHelper_extra').innerHTML += text;
		}
		document.getElementById('afcHelper_extra').innerHTML += '<input type="button" id="afcHelper_prompt_button" name="afcHelper_prompt_button" value="Submit" onclick="afcHelper_act(\''+type+'\')" />';
	}
 
	function afcHelper_act(action) {
		if(action == 'accept'){
			var newtitle = document.getElementById("afcHelper_movetarget").value;
			var assessment = document.getElementById("afcHelper_assessment").value;
			var pageAppend = document.getElementById("afcHelper_pageAppend").value;
			var talkAppend =  document.getElementById("afcHelper_talkAppend").value;
			jsMsg('<ul id="afcHelper_status"></ul><ul id="afcHelper_finish"></ul>');
			document.getElementById('afcHelper_finish').innerHTML += '<span id="afcHelper_finished_wrapper"><span id="afcHelper_finished_main" style="display:none"><li id="afcHelper_done"><b>Done (<a href="/wiki/'+encodeURI(afcHelper_PageName)+'?action=purge" title="'+afcHelper_PageName+'">Reload page</a>)</b></li></span></span>';
			var token = afcHelper_getToken(true);
			var callback = function(){
				var text = afcHelper_getPageText(newtitle);
				var username ='';
				// clean up page
				var afc_re = /\{\{\s*afc submission\s*\|(?:\{\{[^\{\}]*\}\}|[^\}\{])*\}\}/i;
				if( afc_re.test( text ) ) {
					var afctemplate = afc_re.exec(text)[0];
					var author_re = /\|\s*u=\s*[^\|]*\|/i;
					if(author_re.test(afctemplate)){
						var user = author_re.exec(afctemplate)[0];
						username = user.split(/=/)[1];
						username = username.replace(/\|/g,'');
						var usertext = afcHelper_getPageText("User talk:"+username);
						usertext += "\n== Your submission at \[\[WP:AFC|Articles for creation\]\] ==";
						usertext += "\n\{\{subst:afc talk|1=" + newtitle + "|class=" + assessment + "\}\} \~\~\~\~";
						afcHelper_editPage("User talk:"+username, usertext, token, 'Your submission at \[\[WP:AFC|Articles for creation\]\]');
					}
				}
 
				var recenttext = afcHelper_getPageText("Wikipedia:Articles for creation/recent");
				var newentry = "\{\{afc contrib|" + assessment + "|" + newtitle + "|" + username +"\}\}\n";
				var lastentry = recenttext.lastIndexOf("\{\{afc contrib");
				var firstentry = recenttext.indexOf("\{\{afc contrib");
				recenttext = recenttext.substring(0, lastentry);
				recenttext = recenttext.substring(0, firstentry) + newentry + recenttext.substring(firstentry);
				afcHelper_editPage("Wikipedia:Articles for creation/recent", recenttext, token, 'Updating recent AFC creations');
 
				var talktext = "\{\{talkheader\}\}\n\{\{subst:WPAFC/article|class=" + assessment + "\}\}";
				talktext += "\n";
				talktext += talkAppend;
				afcHelper_editPage("Talk:"+newtitle, talktext, token, 'Placing WPAFC project banner');
 
				while(afc_re.test(text)){
					var startindex = text.search(afc_re);
					var template = afc_re.exec(text)[0];
					var endindex = startindex + template.length;
					text = text.substring(0, startindex) + text.substring(endindex);
				}
				var cmt_re = /\{\{\s*afc comment\s*\|(?:\{\{[^\{\}]*\}\}|[^\}\{])*\}\}/i;
				while(cmt_re.test(text)){
					var startindex = text.search(cmt_re);
					var template = cmt_re.exec(text)[0];
					var endindex = startindex + template.length;
					text = text.substring(0, startindex) + text.substring(endindex);
				}
 
				var afcindex = text.search(/\{\{afc/i);
				while (afcindex != -1){
					var endindex = text.indexOf("\}\}", afcindex + 2);
					text = text.substring(0,afcindex) + text.substring(endindex+2);
					afcindex = text.search(/\{\{afc/i);
				}
				if(text.indexOf("\<\!--- Important, do not remove this line before article has been created. ---\>") != -1){
					var startindex = text.indexOf("\<\!--- Important, do not remove this line before article has been created. ---\>");
					var endindex = text.indexOf(">", startindex);
					text = text.substring(0, startindex) + text.substring(endindex+1);
				}
				// Remove line breaks.
				text = text.replace(/----/g, '');
 
				// Remove leading whitespace, if any.
				var spaceindex = text.search(/\s/);
				while(spaceindex == 0){
					text = text.substring(1);
					spaceindex = text.search(/\s/);
				}
 
				// Uncomment cats
				text = text.replace(/\[\[:Category:/gi, "\[\[Category:");
 
				text += '\n';
				text += pageAppend;
				afcHelper_editPage(newtitle, text, token, "Cleanup following AFC creation");
			};
			afcHelper_movePage(afcHelper_PageName, newtitle, token, 'Created via \[\[WP:AFC|Articles for Creation\]\] (\[\[WP:WPAFC|you can help!\]\])' , callback);
		}
		else if(action == 'decline' || action == 'hold'){
			var code = document.getElementById("afcHelper_reason").value;
			var reasontext = afcHelper_reasonhash[code];
			var customreason = document.getElementById("afcHelper_comments").value;
			var append = false;
			var keep = false;
			var blank = document.getElementById("afcHelper_blank").checked;
			var notify = document.getElementById("afcHelper_notify").checked;
 
			jsMsg('<ul id="afcHelper_status"></ul><ul id="afcHelper_finish"></ul>');
			document.getElementById('afcHelper_finish').innerHTML += '<span id="afcHelper_finished_wrapper"><span id="afcHelper_finished_main" style="display:none"><li id="afcHelper_done"><b>Done (<a href="/wiki/'+encodeURI(afcHelper_PageName)+'?action=purge" title="'+afcHelper_PageName+'">Reload page</a>)</b></li></span></span>';
			var token = afcHelper_getToken(true);
			var text = afcHelper_getPageText(afcHelper_PageName);
			// Find the first submission or onhold template on the page.
			var afc_re = /\{\{\s*afc submission\s*\|\s*[\||h|r](?:\{\{[^\{\}]*\}\}|[^\}\{])*\}\}/i;
 
			if( !afc_re.test( text ) ) {
				alert( "Unable to locate AFC submission template, aborting..." );
				return;
			}
 
			var afctemplate = afc_re.exec(text)[0];
			if(afctemplate.search(/\|\s*h\s*\|/i) != -1){
				if(action != 'decline'){
					append = confirm( "Submission is already on hold. Do you want to add your reason as a comment?" );
					if(!append){
						return;
					}
				}
				else
					if(code == 'reason' && customreason == ''){
						keep = true;
					}
			}
			if (!keep) {
				if(code == 'reason' && customreason == ''){
					alert("You must enter a reason!");
					return;
				}
			}
 
			var startindex = text.indexOf(afctemplate);
			var endindex = startindex + afctemplate.length;
			//data is always between the first pipe and the one before the timestamp.
			var firstpipe = afctemplate.indexOf('|');
			var endpipe = afctemplate.indexOf('|ts');
			var newtemplate = afctemplate.substring(0, firstpipe);
			var summary = '';
			var extra = '';
			var newcomment = '';
			if(code == 'cv'){
				extra = prompt("Please enter the url if available, starting with http://");
			}
			else if(code == 'dup'){
				extra = prompt("Please enter the title of the duplicate submission, if possible. Do not enter the prefix (e.g., John Doe).");
			}
			else if(code == 'mergeto'){
				extra = prompt("Please enter the title of the article to merge to, if possible.");
			}
			else if(code == 'exists'){
				extra = prompt("Please enter the title of the existing article, if possible.");
			}
			else if(code == 'plot'){
				extra = prompt("Please enter the title of the existing article on the fiction, if there is one.");
			}
			if(extra == null){
				return;
			}
			if(!keep && !append){
				// overwrite any reason that was there.
				newtemplate += '|';
				newtemplate += action.substring(0, 1);
				newtemplate += '|';
				newtemplate += code;
				if(code == 'reason'){
					newtemplate += '|3=';
					newtemplate += customreason;
				}
				else if(extra != ''){
					newtemplate += '|3=';
					newtemplate += extra;
				}
				newtemplate += afctemplate.substring(endpipe);
				if(code != 'reason' && customreason != ''){
					newcomment = "*\{\{afc comment|1=" + customreason + " \~\~\~\~\}\}";
				}
				summary = (action == 'decline' ? "Declining submission" : "Placing submission on hold");
				if(code == 'reason')
					summary += ': see comment therein';
				else
					summary += ': ' + reasontext;
			}
			else if (append){
				//append the reason as a comment.
				newtemplate = afctemplate;
				newcomment = "*\{\{afc comment|1=\{\{AFC submission/comments|";
				newcomment += code;
				if(code == 'reason'){
					newcomment += '|2=';
					newcomment += customreason;
				}
				else if(extra != ''){
					newcomment += '|2=';
					newcomment += extra;
				}
				newcomment += "\}\} \~\~\~\~ \}\}";
				summary = 'Comment on submission';
				if(code == 'reason')
					summary += '.';
				else
					summary += ': ' + reasontext;
			}
			else{
				// keep the original reason, just change hold to decline.
				var secondpipe = afctemplate.indexOf('|', firstpipe + 1);
				newtemplate += '|d';
				newtemplate += afctemplate.substring(secondpipe);
				summary = 'Decline submission for reasons stated in hold.';
			}
 
			if(!append && notify){
				var author_re = /\|\s*u=\s*[^\|]*\|/i;
				if(author_re.test(afctemplate)){
					var user = author_re.exec(afctemplate)[0];
					var username = user.split(/=/)[1];
					username = username.replace(/[\|]/g,'');
					var usertext = afcHelper_getPageText("User talk:"+username);
					usertext += "\n== Your submission at \[\[WP:AFC|Articles for creation\]\] ==";
					if(action == 'decline'){
						usertext += "\n\{\{subst:afc decline|1=" + afcHelper_submissionTitle;
						if(code == 'cv')
							usertext += "| cv = yes";
						usertext += "\}\} \~\~\~\~";
					}
					else
						usertext += "\n\{\{subst:afc onhold|1=" + afcHelper_submissionTitle + "\}\} \~\~\~\~";
					afcHelper_editPage("User talk:"+username, usertext, token, 'Your submission at \[\[WP:AFC|Articles for creation\]\]');
				}
			}
			if(!blank){
				var containComment = (text.indexOf('----') != -1);
				if(newcomment != ''){
					if(!containComment)
						text = text.substring(0, startindex) + newtemplate + '\n' + newcomment + '\n----\n'+ text.substring(endindex);
					else{
						text = text.substring(0, startindex) + newtemplate + text.substring(endindex);
						var idx = text.indexOf('----');
						text = text.substring(0, idx) + newcomment +'\n' + text.substring(idx);
					}
				}
				else
					text = text.substring(0, startindex) + newtemplate + text.substring(endindex);
			}
			else
				text = newtemplate + '\n' + newcomment + "\n\{\{afc cleared\}\}";
 
			if(action == 'decline'){
				// Comment out cats on decline.
				text = text.replace(/\[\[Category:/gi, "\[\[:Category:");
			}
			afcHelper_editPage(afcHelper_PageName, text, token, summary);
		}
		else if(action == 'comment'){
			var comment = document.getElementById("afcHelper_comments").value;
			jsMsg('<ul id="afcHelper_status"></ul><ul id="afcHelper_finish"></ul>');
			document.getElementById('afcHelper_finish').innerHTML += '<span id="afcHelper_finished_wrapper"><span id="afcHelper_finished_main" style="display:none"><li id="afcHelper_done"><b>Done (<a href="/wiki/'+encodeURI(afcHelper_PageName)+'?action=purge" title="'+afcHelper_PageName+'">Reload page</a>)</b></li></span></span>';
			var token = afcHelper_getToken(true);
			var text = afcHelper_getPageText(afcHelper_PageName);
			var containComment = (text.indexOf('----') != -1);
			var newComment = "*\{\{afc comment|1=" + comment + "\~\~\~\~\}\}";
			if(comment != ''){
				if(!containComment){
					var afc_re = /\{\{\s*afc submission\s*\|\s*[\||h|r](?:\{\{[^\{\}]*\}\}|[^\}\{])*\}\}/i;
					if( !afc_re.test( text ) ) {
						alert( "Unable to locate AFC submission template, aborting..." );
						return;
					}
					var afctemplate = afc_re.exec(text)[0];
					var endindex = text.indexOf(afctemplate) + afctemplate.length;
					text = text.substring(0, endindex) + '\n' + newComment + '\n----\n'+ text.substring(endindex);
				}
				else{
					var idx = text.indexOf('----');
					text = text.substring(0, idx) + newComment +'\n' + text.substring(idx);
				}
				afcHelper_editPage(afcHelper_PageName, text, token, "Commenting on submission");
			}
		}
		else if(action == 'mark'){
			jsMsg('<ul id="afcHelper_status"></ul><ul id="afcHelper_finish"></ul>');
			document.getElementById('afcHelper_finish').innerHTML += '<span id="afcHelper_finished_wrapper"><span id="afcHelper_finished_main" style="display:none"><li id="afcHelper_done"><b>Done (<a href="/wiki/'+encodeURI(afcHelper_PageName)+'?action=purge" title="'+afcHelper_PageName+'">Reload page</a>)</b></li></span></span>';
			var token = afcHelper_getToken(true);
			var text = afcHelper_getPageText(afcHelper_PageName);
			var afc_re = /\{\{\s*afc submission\s*\|\s*[\||h](?:\{\{[^\{\}]*\}\}|[^\}\{])*\}\}/i;
			if( !afc_re.test( text ) ) {
				alert( "Unable to locate AFC submission template, aborting..." );
				return;
			}
			var afctemplate = afc_re.exec(text)[0];
			var firstpipe = afctemplate.indexOf('|');
			var endpipe = afctemplate.indexOf('|ts');
			var newTemplate = afctemplate.substring(0, firstpipe);
			newTemplate += '|r||';
			newTemplate += afctemplate.substring(endpipe);
			var startindex = text.indexOf(afctemplate);
			var endindex = text.indexOf(afctemplate) + afctemplate.length;
			text = text.substring(0, startindex) + newTemplate + text.substring(endindex);
			afcHelper_editPage(afcHelper_PageName, text, token, "Marking submission as being reviewed");
		}
		document.getElementById('afcHelper_finished_main').style.display = '';
	}
 
	function afcHelper_getPageText(title) {
		document.getElementById('afcHelper_status').innerHTML += '<li id="afcHelper_get'+escape(title)+'">Getting <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a></li>';
		var req = sajax_init_object();
		req.open("GET", wgScriptPath + "/api.php?action=query&prop=revisions&rvprop=content&format=json&indexpageids=1&titles="+encodeURIComponent(title), false);
		req.send(null);
		var response = eval('(' + req.responseText + ')');
		pageid = response['query']['pageids'][0];
		if (pageid == "-1") {
			document.getElementById('afcHelper_get'+escape(title)).innerHTML = '<a class="new" href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a> does not exist';
			delete req;
			return '';
		}
		pagetext = response['query']['pages'][pageid]['revisions'][0]['*'];
		delete req;
		document.getElementById('afcHelper_get'+escape(title)).innerHTML = 'Got <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a>';
		return pagetext;
	}
	function afcHelper_getToken(show) {
		if (show) {
			document.getElementById('afcHelper_status').innerHTML += '<li id="afcHelper_gettoken">Getting token</li>';
		}
		var req = sajax_init_object();
		req.open("GET", wgScriptPath + "/api.php?action=query&prop=info&indexpageids=1&intoken=edit&format=json&titles="+encodeURIComponent(afcHelper_PageName), false);
		req.send(null);
		var response = eval('(' + req.responseText + ')');
		pageid = response['query']['pageids'][0];
		token = response['query']['pages'][pageid]['edittoken'];
		delete req;
		if (show) {
			document.getElementById('afcHelper_gettoken').innerHTML = 'Got token';
		}
		return token;
	}
 
	function afcHelper_movePage(oldtitle, newtitle, token, summary, callback){
		document.getElementById('afcHelper_finished_wrapper').innerHTML = '<span id="afcHelper_AJAX_finished_'+afcHelper_AJAXnumber+'" style="display:none">' + document.getElementById('afcHelper_finished_wrapper').innerHTML + '</span>';
		var func_id = afcHelper_AJAXnumber;
		afcHelper_AJAXnumber++;
		document.getElementById('afcHelper_status').innerHTML += '<li id="afcHelper_move'+escape(oldtitle)+'">Moving <a href="/wiki/'+encodeURI(oldtitle)+'" title="'+oldtitle+'">'+oldtitle+'</a> to <a href="/wiki/'+encodeURI(newtitle)+'" title="'+newtitle+'">'+newtitle+'</a></li>';
		var req = sajax_init_object();
		var params = "action=move&format=json&token="+encodeURIComponent(token)+"&from="+encodeURIComponent(oldtitle) +"&to="+encodeURIComponent(newtitle)+"&reason="+encodeURIComponent(summary);
		url = wgScriptPath + "/api.php";
		req.open("POST", url, true);
		req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		req.setRequestHeader("Content-length", params.length);
		req.setRequestHeader("Connection", "close");
		req.onreadystatechange = function() {
			if(req.readyState == 4 && req.status == 200) {
				var error = true;
				response = eval('(' + req.responseText + ')');
				try {
					if (typeof(response['move']) != "undefined") {
						document.getElementById('afcHelper_move'+escape(oldtitle)).innerHTML = 'Moved <a href="/wiki/'+encodeURI(oldtitle)+'" title="'+oldtitle+'">'+oldtitle+'</a>';
						error = false;
					} else {
						document.getElementById('afcHelper_move'+escape(oldtitle)).innerHTML = '<div style="color:red"><b>Move failed on <a href="/wiki/'+encodeURI(oldtitle)+'" title="'+oldtitle+'">'+oldtitle+'</a></b></div>. Error info:' +response['error']['code'] + ' : ' + response['error']['info'];
					}
				}
				catch(err) {
					document.getElementById('afcHelper_move'+escape(oldtitle)).innerHTML = '<div style="color:red"><b>Move failed on <a href="/wiki/'+encodeURI(oldtitle)+'" title="'+oldtitle+'">'+oldtitle+'</a></b></div>';
				}
				if(!error){
					if(callback != null)
						callback();
				}
				document.getElementById('afcHelper_AJAX_finished_'+func_id).style.display = '';
				delete req;
			}
 
		};
		req.send(params);
	}
 
	function afcHelper_editPage(title, newtext, token, summary) {
		document.getElementById('afcHelper_finished_wrapper').innerHTML = '<span id="afcHelper_AJAX_finished_'+afcHelper_AJAXnumber+'" style="display:none">' + document.getElementById('afcHelper_finished_wrapper').innerHTML + '</span>';
		var func_id = afcHelper_AJAXnumber;
		afcHelper_AJAXnumber++;
		document.getElementById('afcHelper_status').innerHTML += '<li id="afcHelper_edit'+escape(title)+'">Editing <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a></li>';
		var req = sajax_init_object();
		var params = "action=edit&format=json&token="+encodeURIComponent(token)+"&title="+encodeURIComponent(title)+"&text="+encodeURIComponent(newtext)+"&notminor=1&unwatch=1&summary="+encodeURIComponent(summary);
		url = wgScriptPath + "/api.php";
		req.open("POST", url, true);
		req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		req.setRequestHeader("Content-length", params.length);
		req.setRequestHeader("Connection", "close");
		req.onreadystatechange = function() {
			if(req.readyState == 4 && req.status == 200) {
				response = eval('(' + req.responseText + ')');
				try {
					if (response['edit']['result'] == "Success") {
						document.getElementById('afcHelper_edit'+escape(title)).innerHTML = 'Saved <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a>';
					} else {
						document.getElementById('afcHelper_edit'+escape(title)).innerHTML = '<div style="color:red"><b>Edit failed on <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a></b></div>. Error info:' +response['error']['code'] + ' : ' + response['error']['info'];
					}
				}
				catch(err) {
					document.getElementById('afcHelper_edit'+escape(title)).innerHTML = '<div style="color:red"><b>Edit failed on <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a></b></div>';
				}
				document.getElementById('afcHelper_AJAX_finished_'+func_id).style.display = '';
				delete req;
			}
		};
		req.send(params);
	}
 
	function afcHelper_addLink() {
		mw.util.addPortletLink("p-cactions", "javascript:afcHelper_init()", "Review", "ca-afcHelper", "Review");
	}
 
	function afcHelper_onChange(select){
		var value = select.options[select.selectedIndex].value;
		if(value == 'blp' || value == 'cv'){
			document.getElementById("afcHelper_blank").setAttribute("checked", "checked");
		}
		else
			document.getElementById("afcHelper_blank").removeAttribute("checked");
 
	}
 
	function afcHelper_generateSelect(title, options, onchange){
		var text = '<select name="' + title + '" id="' + title +'" ';
		if(onchange != null)
			text += 'onchange = "' + onchange + '" ';
		text+= '>';
		for(var i = 0; i < options.length; i ++){
			var o = options[i];
			text += '<option value="' + o.value + '" ';
			if(o.selected)
				text += 'selected="selected" ';
			text += '>' + o.label + '</option>';
		}
		text += "</select>";
		return text;
	}
	addOnloadHook(afcHelper_addLink);
}
importScript('User:Dr_pda/prosesize.js'); //[[User:Dr_pda/prosesize.js]]

var pendch_http;
var pendch_enabled;
var pendch_num_pages;
var pendch_refresh;
var pendch_num_idle_req;
var pendch_curr_idle_req;
 
var pendch_str_no_ajax = "There seems to be a problem using the PendingChanges script. Your browser is not supported. God Bless!";
var pendch_str_box_title = "Pending changes";
var pendch_str_box_title_updating = "Pending changes (updating)";
var pendch_str_box_title_failed = "Pending changes (update failed)";
var pendch_str_enable = "Enable this box";
var pendch_str_disable = "Disable this box";
 
$( pendch_init );
 
/* initalise */
function pendch_init() {
 
  // allow user settings through
  if (pendch_enabled == null) {
    pendch_enabled = false;
  }
  if (pendch_num_pages == null) {
    pendch_num_pages = 10;
  }
  if (pendch_refresh == null) {
    pendch_refresh = 5;
  }
  if (pendch_num_idle_req == null) {
    pendch_num_idle_req = 60;
  }
 
  // A few limits to be nice to the servers
  if (pendch_num_pages > 50) {
    pendch_num_pages = 50;
  }
  if (pendch_num_pages < 1) {
    pendch_num_pages = 1;
  }
  if (pendch_refresh < 2) {
    pendch_refresh = 2;
  }
  if (pendch_num_idle_req > 1000) {
    pendch_num_idle_req = 1000;
  }
  if (pendch_num_idle_req < 5) {
    pendch_num_idle_req = 5;
  }
 
  // get our cookie
  if (document.cookie.length > 0) {
    var c_start = document.cookie.indexOf("pendch_show_box=");
    if (c_start != -1) { 
      c_start = c_start + 16; 
      var c_end = document.cookie.indexOf(";", c_start);
      if (c_end == -1) {
        c_end = document.cookie.length;
      }
 
      if (document.cookie.substring(c_start, c_end) == "yes") {
        pendch_enabled = true;
      } else {
        pendch_enabled = false;
      }
    } 
  }
 
  // Either make a request or show nothing
  pendch_curr_idle_req = 0;
  if (pendch_enabled == true) {
    pendch_ajax_request();
  } else {
    pendch_draw_disabled_box();
  }
}
 
/* init ajax */
function pendch_create_request() {
  try {
    pendch_http = new XMLHttpRequest();
 
  } catch (e) {
    try {
      pendch_http = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        pendch_http = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
        return false;
      }
    }
  }
 
  pendch_http.onreadystatechange = function() {
    if(pendch_http.readyState == 4) pendch_ajax_response();
  }
 
  return true;
}
 
/* make a request */
function pendch_ajax_request() {
  // if we have done too many requests, disable the box
  pendch_curr_idle_req++;
  if (pendch_curr_idle_req > pendch_num_idle_req) {
    pendch_disable_box();
  }
 
  // check we are enabled
  if (pendch_enabled == false) return;
 
  // firstly, inform the user
  var cur_box = document.getElementById('p-newpages');
  if (cur_box != null) {
    cur_box.firstChild.firstChild.data = pendch_str_box_title_updating;
  }
 
  if (pendch_create_request () == false) {
    if (cur_box != null) {
      cur_box.firstChild.firstChild.data = pendch_str_box_title_failed;
    } else {
      alert (pendch_str_no_ajax);
    }
  }
 
  // Get the current time
  var dateobj = new Date();
  var now = Math.floor(dateobj.getTime() / 1000.0);
 
  // Go back 5 mins in time
  //now -= (60 * 5);
 
  // Then make the request
  pendch_http.open("GET", "/w/api.php?action=query&format=xml&list=oldreviewedpages&ornamespace=0|4&orstart=" + now + "&orlimit=" + pendch_num_pages, true);
  pendch_http.send(null);
}
 
function pendch_draw_disabled_box() {
  if (skin == 'vector') {
    pendch_draw_disabled_box_vector();
  } else {
    pendch_draw_disabled_box_monobook();
  }
}
 
function pendch_ajax_response() {
  if (skin == 'vector') {
    pendch_ajax_response_vector();
  } else {
    pendch_ajax_response_monobook();
  }
 
  // and do it again in 5 secs
  setTimeout("pendch_ajax_request()", pendch_refresh * 1000);
}
 
function pendch_disable_box() {
  pendch_enabled = false;
  pendch_draw_disabled_box();
  document.cookie = "pendch_show_box=no; path=/";
}
 
function pendch_enable_box() {
  pendch_enabled = true;
  pendch_curr_idle_req = 0;
  document.cookie = "pendch_show_box=yes; path=/";
  pendch_ajax_request();
}
 
 
/* Draw disabled (monobook) */
function pendch_draw_disabled_box_monobook() {
  // Container div
  var link_div = document.createElement('div');
  link_div.className = 'pBody';
  var div = document.createElement('div');
  div.setAttribute('id', 'p-newpages');
  div.className = 'portlet';
  var heading = document.createElement('h5');
  heading.appendChild(document.createTextNode(pendch_str_box_title));
  div.appendChild(heading);
  div.appendChild(link_div);
 
  // enable link
  var p = document.createElement('p');
  p.style.fontSize = 'x-small';
  p.style.margin = '0px';
  var a = document.createElement('a');
  a.appendChild(document.createTextNode(pendch_str_enable));
  a.onclick = pendch_enable_box;
  p.appendChild(a);
  link_div.appendChild(p);
 
  // now replace the div
  var old_div = document.getElementById('p-newpages');
  var side_col = document.getElementById('column-one');
  if (old_div != null) {
    side_col.replaceChild(div, old_div);
  } else {
    var node = document.getElementById('p-search');
    side_col.insertBefore(div, node);
  }
}
 
/* Draw response (monobook) */
function pendch_ajax_response_monobook() {
 
  var items = pendch_http.responseXML.getElementsByTagName('p');
 
  // create the div that holds all the newpage links
  var link_div = document.createElement('div');
  link_div.className = 'pBody';
  var list = document.createElement('ul');
  link_div.appendChild(list);
 
  // populate the list with 10 links.
  for (var i = 0; i < items.length; i++) {
    var item_name = items[i].getAttribute('title');
    var old_id = items[i].getAttribute('stable_revid');
 
    item_name = item_name.replace(/&/, "%26");
    var item_url = 'http://en.wikipedia.org/w/index.php?title=' + item_name + '&diff=cur&oldid=' + old_id + '&diffonly=0';
 
    a = document.createElement('a');
    a.setAttribute('href', item_url);
    a.appendChild(document.createTextNode(item_name));
 
    var li = document.createElement('li');
    li.appendChild(a);
    list.appendChild(li);
  }
 
  // Container div
  var div = document.createElement('div');
  div.setAttribute('id', 'p-newpages');
  div.className = 'portlet';
  var heading = document.createElement('h5');
  heading.appendChild(document.createTextNode(pendch_str_box_title));
  div.appendChild(heading);
  div.appendChild(link_div);
 
  // disable link
  var p = document.createElement('p');
  p.style.fontSize = 'x-small';
  p.style.margin = '0px';
  p.style.textAlign = 'right';
  a = document.createElement('a');
  a.appendChild(document.createTextNode(pendch_str_disable));
  a.onclick = pendch_disable_box;
  p.appendChild(a);
  link_div.appendChild(p);
 
  // now replace the div
  var old_div = document.getElementById('p-newpages');
  var side_col = document.getElementById('column-one');
  if (old_div != null) {
    side_col.replaceChild(div, old_div);
  } else {
    var node = document.getElementById('p-search');
    side_col.insertBefore(div, node);
  }
}
 
 
/* Draw disabled box (vector skin) */
function pendch_draw_disabled_box_vector() {
  // Container div
  var link_div = document.createElement('div');
  link_div.className = 'body';
  link_div.style.display = "block";
  var div = document.createElement('div');
  div.setAttribute('id', 'p-newpages');
  div.className = 'portal collapsed';
  var heading = document.createElement('h5');
  heading.appendChild(document.createTextNode(pendch_str_box_title));
  div.appendChild(heading);
  div.appendChild(link_div);
 
  // enable link
  var p = document.createElement('p');
  p.style.fontSize = 'x-small';
  p.style.margin = '0px';
  var a = document.createElement('a');
  a.appendChild(document.createTextNode(pendch_str_enable));
  a.onclick = pendch_enable_box;
  p.appendChild(a);
  // add later
 
  // now replace the div
  var old_div = document.getElementById('p-newpages');
  var side_col = document.getElementById('mw-panel');
  if (old_div != null) {
    side_col.replaceChild(div, old_div);
  } else {
    var node = document.getElementById('p-interaction');
    side_col.insertBefore(div, node);
  }
 
  if( typeof $ != 'undefined' && wgVectorEnabledModules.collapsiblenav ) {
    $('#p-newpages > h5').keydown( function( event ) {
      if ( event.which == 13 /* Enter */ || event.which == 32 /* Space */ ) {
        pendch_toggle( $(this) );
      }
    } )
    .mousedown( function() {
      pendch_toggle( $(this) );
      $(this).blur();
        return false;
    } );
  } else {
   link_div.appendChild(p);
  }
}
 
/* Draw response (vector skin) */
function pendch_ajax_response_vector() {
 
  var items = pendch_http.responseXML.getElementsByTagName('p');
 
  // create the div that holds all the newpage links
  var link_div = document.createElement('div');
  link_div.className = 'body';
  link_div.style.display = "block";
  var list = document.createElement('ul');
  link_div.appendChild(list);
 
  // populate the list with 10 links.
  for (var i = 0; i < items.length; i++) {
    var item_name = items[i].getAttribute('title');
    var old_id = items[i].getAttribute('stable_revid');
 
    item_name = item_name.replace(/&/, "%26");
    var item_url = 'http://en.wikipedia.org/w/index.php?title=' + item_name + '&diff=cur&oldid=' + old_id + '&diffonly=0';
 
    a = document.createElement('a');
    a.setAttribute('href', item_url);
    //a.style.fontSize = 'x-small';
    a.appendChild(document.createTextNode(item_name));
 
    var li = document.createElement('li');
    li.appendChild(a);
    list.appendChild(li);
  }
 
  // Container div
  var div = document.createElement('div');
  div.setAttribute('id', 'p-newpages');
  div.className = 'portal expanded';
  var heading = document.createElement('h5');
  heading.appendChild(document.createTextNode(pendch_str_box_title));
  div.appendChild(heading);
  div.appendChild(link_div);
 
  // disable link
  var p = document.createElement('p');
  p.style.fontSize = 'x-small';
  p.style.margin = '0px';
  p.style.textAlign = 'left';
  a = document.createElement('a');
  a.appendChild(document.createTextNode(pendch_str_disable));
  a.onclick = pendch_disable_box;
  p.appendChild(a);
  // add later
 
  // now replace the div
  var old_div = document.getElementById('p-newpages');
  var side_col = document.getElementById('mw-panel');
  if (old_div != null) {
    side_col.replaceChild(div, old_div);
  } else {
    var node = document.getElementById('p-interaction');
    side_col.insertBefore(div, node);
  }
 
  if( typeof $ != 'undefined' && wgVectorEnabledModules.collapsiblenav ) {
    $('#p-newpages > h5').keydown( function( event ) {
      if ( event.which == 13 /* Enter */ || event.which == 32 /* Space */ ) {
        pendch_toggle( $(this) );
      }
    } )
    .mousedown( function() {
      pendch_toggle( $(this) );
      $(this).blur();
        return false;
    } );
  } else {
   link_div.appendChild(p);
  }
}
 
function pendch_toggle( $element ) {
 $.cookie( 'vector-nav-' + $element.parent().attr( 'id' ), $element.parent().is( '.collapsed' ) );
 if( $element.parent().is('.collapsed') ) {
  pendch_enable_box();
 } else {
  pendch_disable_box();
 }
 $element
  .parent()
  .toggleClass( 'expanded' )
  .toggleClass( 'collapsed' )
  .find( 'div.body' )
  .slideToggle( 'fast' );
}
if ( typeof $ != 'undefined' && typeof $.fn.wikiEditor != 'undefined' ) {
	$(document).ready( function() {
		$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
			'section': 'advanced',
			'group': 'format',
			'tools': {
				'noinclude': {
					label: 'Noinclude',
					type: 'button',
					icon: 'http://upload.wikimedia.org/wikipedia/commons/c/c0/Noincluido.png',
					action: {
						type: 'encapsulate',
						options: {
							pre: "<noinclude>",
							post: "</noinclude>"
						}
					}
				}
			}
		} );
	} );
}