//
// ==UserScript==
// @name Perlmonks AJAX Vote
// @namespace http://www.perlmonks.org/?node_id=398318
// @description Allow background voting via AJAX
// @include http://www.perlmonks.*
// @include http://perlmonks.*
// @exclude http://www.perlmonks.*/?node=Fullpage%20Chat
// @exclude http://perlmonks.*/?node=Fullpage%20Chat
// ==/UserScript==
function postRequest (url, params, onLoad) {
var xmlHttpReq = new XMLHttpRequest();
xmlHttpReq.open('POST', url, true);
xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlHttpReq.onreadystatechange = function() {
if (xmlHttpReq.readyState == 4) {
onLoad(xmlHttpReq.responseText);
};
};
xmlHttpReq.send(params);
}
function _cast_vote(node_id, voteString, vc, vote) {
document.getElementById('pm_'+voteString).innerHTML='Casting Vote...';
postRequest('/?', 'displaytype=xml&vc='+vc+'&op=vote&.cgifields='+voteString+'&'+voteString+'='+vote,
function () {
document.getElementById('pm_'+voteString).innerHTML = 'Retrieving Node Reputation...';
postRequest('/?', 'displaytype=xml&node_id=' + node_id,
function (retHTML) {
var parser=new DOMParser();
var doc=parser.parseFromString(retHTML,'text/xml');
var x=doc.getElementsByTagName('field');
for(i=0;i