User:Nx/Extensions/wigo3/js/multi.js
< User:Nx | Extensions
Jump to navigation
Jump to search
Note: After saving, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
/*<![CDATA[*/
function multiupdate(req,voteid,val,count)
{
if (req.readyState == 4 && req.status == 200)
{
results = req.responseText.split(':');
for (i=0, sum=0; i<results.length; sum+=parseInt(results[i++],10));
for (i=0; i<count; ++i) {
span = document.getElementById(voteid + "-" + i + "-result");
titlespan = document.getElementById(voteid + "-" + i);
if (span) {
//get number of votes
currentvotes = parseInt(span.innerHTML,10);
//update and invalidate if number of votes changed
newvotes = parseInt(results[i],10);
if (newvotes != currentvotes) {
wigoinvalidate();
span.innerHTML = newvotes;
//calculate column width and update
columndiv = document.getElementById(voteid + "-" + i + "-column");
if (columndiv) {
if (sum == 0) {
percent = 0;
} else {
percent = newvotes/sum * 100;
}
columndiv.style.width = percent + "%";
}
}
//add class and bolding if my vote
if (i == val) {
//add class
if (!span.className || span.className == "") {
span.className = "myvote";
} else {
span.className += " myvote";
}
span.style.fontWeight = "bold";
if (!titlespan.className || titlespan.className == "") {
titlespan.className = "myvote";
} else {
titlespan.className += " myvote";
}
titlespan.style.fontWeight = "bold";
} else {
//remove class and bolding
span.style.fontWeight = "normal";
if (span.className.match(/(\s*|^)myvote(\s*|$)/)) {
span.className = span.className.replace(/(\s*|^)myvote(\s*|$)/g,' ')
}
titlespan.style.fontWeight = "normal";
if (titlespan.className.match(/(\s*|^)myvote(\s*|$)/)) {
titlespan.className = titlespan.className.replace(/(\s*|^)myvote(\s*|$)/g,' ')
}
}
}
}
} else {
alert('An error occured: ' + req.responseText);
}
}
function multivotesend(voteid,val,count)
{
if (voteid.substr(0,5) != 'multi') {
alert('Invalid vote id');
} else {
sajax_do_call('multivote',[voteid,val,count],function(req) { multiupdate(req,voteid,val,count); });
}
}
/*]]>*/