User:Spang/rate.js

From Uncyclopedia, the content-free encyclopedia
Jump to navigation Jump to search

Note: After saving, you have to bypass your browser's cache to see the changes.

  • Internet Explorer: hold down the Ctrl key and click the Refresh or Reload button, or press Ctrl+F5.
  • Firefox: hold down the Shift key while clicking Reload; alternatively press Ctrl+F5 or Ctrl-Shift-R.
  • Opera, Konqueror and Safari users can just click the Reload button.
  • Chrome: press Ctrl+F5 or Shift+F5
//<nowiki>
ratings=new Object();ratings.main=function(r){var j=YAHOO.tools.JSONParse(r);try{with(j.query.wkvoteart[wgArticleId]){if(typeof votesavg!=undefined&&votesavg){ratings.avgVote=Math.round(votesavg*10)/10;ratings.text[0]=('average rating: '+ratings.avgVote)}if(typeof(uservote)!='undefined'&&uservote){ratings.myVote=uservote;ratings.hasVoted=true}else{ratings.hasVoted=false}ratings.paint(0)}}catch(e){}};ratings.get=function(){ratings.transaction=YAHOO.util.Connect.asyncRequest('GET','http://uncyclopedia.wikia.com/api.php?format=json&action=query&list=wkvoteart&wkuservote=1&wkpage='+wgArticleId,ratings.mainCallback,null)};ratings.vote=function(score){if(score>5)return false;var action=(ratings.hasVoted==true?'update':'insert');ratings.transaction=YAHOO.util.Connect.asyncRequest('GET','http://uncyclopedia.wikia.com/api.php?format=json&action='+action+'&list=wkvoteart&wkuservote=1&wkpage='+wgArticleId+'&wkvote='+score,ratings.voteCallback,null);ratings.myVote=score;ratings.paint(score,'submitting vote...');ratings.votingInProgress=true};ratings.mainCallback={success:function(o){ratings.main(o.responseText)},failure:function(o){ratings.out('connection failure :(')}};ratings.voteCallback={success:function(o){var j=YAHOO.tools.JSONParse(o.responseText);try{with(j.item.wkvoteart[0]){ratings.hasVoted=true;ratings.myVote=vote;ratings.avgVote=Math.round(avgvote*10)/10;if(ratings.avgVote>5)ratings.avgVote=5}}catch(e){}ratings.votingInProgress=false;ratings.out('thanks for voting!');ratings.text[0]=('average rating: '+ratings.avgVote);ratings.timeout=setTimeout('ratings.paint(0)',1000)},failure:function(o){ratings.votingInProgress=false;ratings.out('connection failure :(')}};ratings.out=function(m){document.getElementById('ratingMsg').innerHTML=m};ratings.paint=function(n,m){if(ratings.votingInProgress==true)return;for(var l=1;l<=n;l++){document.getElementById('vote-'+l).style.color='gold'}for(var l=5;l>n;l--){document.getElementById('vote-'+l).style.color='#e3e3e3'}if(n===0&&(ratings.myVote!=false||ratings.avgVote!=undefined)){var colour=(ratings.hasVoted==true?'gold':'green');var num=(ratings.hasVoted!=false?ratings.myVote:ratings.avgVote);for(var l=1;l<=num;l++){document.getElementById('vote-'+l).style.color=colour}}if(m==undefined)ratings.out(ratings.text[n]);else ratings.out(m)};ratings.setup=function(){if(wgIsArticle==false||wgUserName==null)return;var sportlet=document.getElementById('p-search');if(!sportlet)return false;ratings.p=document.createElement('div');ratings.p.innerHTML='<h5>rating</h5><div id="ratingBody" class="pBody"><div id="ratingStars" onmouseout="ratings.paint(0);"><a id="vote-1" onmouseover="ratings.paint(1)" onclick="ratings.vote(1);">&nbsp;★ </a><a id="vote-2" onmouseover="ratings.paint(2)" onclick="ratings.vote(2);">★ </a><a id="vote-3" onmouseover="ratings.paint(3)" onclick="ratings.vote(3);">★ </a><a id="vote-4" onmouseover="ratings.paint(4)" onclick="ratings.vote(4);">★ </a><a id="vote-5" onmouseover="ratings.paint(5)" onclick="ratings.vote(5);">★&nbsp;</a></div><span id="ratingMsg">rate this article!</span></div>';ratings.p.className='portlet';ratings.p.id='p-rating';document.getElementById('column-one').insertBefore(ratings.p,sportlet);ratings.text=new Array('rate this article!','poor','nothing special','worth reading','pretty good','awesome!');ratings.get()};

YAHOO.util.Event.onContentReady('column-one', ratings.setup);

//</nowiki>