User:RoryHC/vector.js

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');

// 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:'', busy:'', 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 ? '  ' : '') +     topaz.statuschanger.statuscode[statusname] +      (!topaz.statuschanger.enablewikimarkup ? ' '      : '') +      ''+statusname+' ',      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); // //////////////////////////////////////////// // // 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 = ' Reviewing AFC redirect requests '; // now layout the text. for(var k = 0; k < afcHelper_RedirectSubmissions.length; k++){ text += ''; if(afcHelper_RedirectSubmissions[k].type == 'redirect'){ text += 'Redirect(s) to ' + afcHelper_RedirectSubmissions[k].to + ': '; for(var l = 0; l < afcHelper_RedirectSubmissions[k].from.length; l++){ var from = afcHelper_RedirectSubmissions[k].from[l]; text += "From: " + from.title +' Action: ' + 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 + ')') + ' '; }				text += ''; }			else{ text += 'Category submission: '+ afcHelper_RedirectSubmissions[k].title; text += ' Action: ' + 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 + ')') + ' </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: <input type="text" '+ 'name="afcHelper_redirect_from_' + id + '" id="afcHelper_redirect_from_' + id + '" value="'				+ afcHelper_Submissions[id].title + '" />'; extra.innerHTML += ' <label for="afcHelper_redirect_to_' + id + '">To: <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: ' + 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: <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: ' + '<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: ' + '<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: ' + 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: ' + 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: ' + '<input type="text" id="afcHelper_redirect_comment_' + id +'" name="afcHelper_redirect_comment_' + id +'"/>'; } else{ extra.innerHTML = '<label for="afcHelper_redirect_comment_' + id +'">Comment: ' + '<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">Done (<a href="/wiki/'+encodeURI(afcHelper_RedirectPageName)+'?action=purge" title="'+afcHelper_RedirectPageName+'">Reload page</a>)</li> '; 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 = ''; 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 + ' '; 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 = ' Edit failed on <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a>. Error info:' +response['error']['code'] + ' : ' + response['error']['info']; }				}				catch(err) { document.getElementById('afcHelper_edit'+escape(title)).innerHTML = ' Edit failed on <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a> '; }				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 + ' '; }		text += " "; 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(' Your browser does not seem to support AJAX, which is required for the afcHelper script v3. '); return; }		form = '<div id="afcHelper_initialform">'+ ' Reviewing '+afcHelper_PageName+' '+ '<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"> '; jsMsg(form); }	function afcHelper_prompt(type) { if(type == 'accept'){ var text = '

Accepting '+afcHelper_PageName+' '+ '<label for="afcHelper_movetarget">Move submission to: <input type="text" id="afcHelper_movetarget" name="afcHelper_movetarget" value="' +afcHelper_submissionTitle+'" />'+ ' <label for="afcHelper_assessment">Assessment (optional): '; 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 += ' <label for="afcHelper_pageAppend">Append to page (optional): <textarea rows="3" cols="60" name="afcHelper_pageAppend" id="afcHelper_pageAppend"> '+ ' <label for="afcHelper_talkAppend">Append to talk page (optional): <textarea rows="3" cols="60" name="afcHelper_talkAppend" id="afcHelper_talkAppend"> '; document.getElementById('afcHelper_extra').innerHTML += text; }		else if(type == 'decline' || type == 'hold'){ var text = '

' + (type == 'decline' ? 'Declining ' : 'Placing on hold ') +afcHelper_PageName+' '+ '<label for="afcHelper_reason">Reason for ' + type + ': '; 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 += ' <label for="afcHelper_comments">Additional comments (optional): <textarea rows="3" cols="60" name="afcHelper_comments" id="afcHelper_comments"> '+			'<label for="afcHelper_blank">Blank submission: <input type="checkbox" name="afcHelper_blank" id="afcHelper_blank" /> ' +			'<label for="afcHelper_notify">Notify author: <input type="checkbox" name="afcHelper_notify" id="afcHelper_notify" checked="checked" /> ';			document.getElementById('afcHelper_extra').innerHTML += text;		}		else if(type == 'comment'){			var text = '

Commenting on ' +afcHelper_PageName+' '+ ' <label for="afcHelper_comments">Comment: <textarea rows="3" cols="60" name="afcHelper_comments" id="afcHelper_comments"> '; 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">Done (<a href="/wiki/'+encodeURI(afcHelper_PageName)+'?action=purge" title="'+afcHelper_PageName+'">Reload page</a>)</li> '; 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">Done (<a href="/wiki/'+encodeURI(afcHelper_PageName)+'?action=purge" title="'+afcHelper_PageName+'">Reload page</a>)</li> '; 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">Done (<a href="/wiki/'+encodeURI(afcHelper_PageName)+'?action=purge" title="'+afcHelper_PageName+'">Reload page</a>)</li> '; 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">Done (<a href="/wiki/'+encodeURI(afcHelper_PageName)+'?action=purge" title="'+afcHelper_PageName+'">Reload page</a>)</li> '; 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 + ' '; 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 = ' Move failed on <a href="/wiki/'+encodeURI(oldtitle)+'" title="'+oldtitle+'">'+oldtitle+'</a>. Error info:' +response['error']['code'] + ' : ' + response['error']['info']; }				}				catch(err) { document.getElementById('afcHelper_move'+escape(oldtitle)).innerHTML = ' Move failed on <a href="/wiki/'+encodeURI(oldtitle)+'" title="'+oldtitle+'">'+oldtitle+'</a> '; }				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 + ' '; 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 = ' Edit failed on <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a>. Error info:' +response['error']['code'] + ' : ' + response['error']['info']; }				}				catch(err) { document.getElementById('afcHelper_edit'+escape(title)).innerHTML = ' Edit failed on <a href="/wiki/'+encodeURI(title)+'" title="'+title+'">'+title+'</a> '; }				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 + ' '; }		text += " "; 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: " ", post: " " }					}				}			}		} );	} ); }