/* Copyright (c) 2007-2009 SPIL GAMES.  DO NOT COPY THIS CODE. */
;;jQuery.fn.nRating=function(settings){var settings=$.extend(true,{author:'nez',version:'1.0',url:'/rt/pr/%d/add/%d/%d/%d',outputtype:'xml',method:'POST',timeout:2000,api:1,itemtype:1,siteid:0,gameid:0,total:0,percentage:0,ratingCookie:{name:'_spilRator',options:{path:'/',expires:365}},debug:false,langstrings:{ilikeit:'I like it!',ihateit:'I hate it!',totalvotes:'Total: %s votes',percentage:'%s%s loves it',thanks:'Thanks for your rating!',saveerror:'Oops! An error.. try again later!',alreadyrated:'You\'ve already rated this game!'}},settings);var self=$(this);var gamesRated=[];if(!settings.siteid||!settings.gameid){if(settings.debug===true){$.log("Error: Parameters missing!\n");}
return false;}
var showMessage=function(obj){var quick=obj.quick||false;if(quick===false){$('div.rating_votes_total',self).hide();$('a.happy, a.sad',self).fadeOut();$(obj.elem||'div.message',self).html(obj.message).fadeIn();}else{$('div.rating_votes_total',self).hide();$('a.happy, a.sad',self).hide();$(obj.elem||'div.message',self).html(obj.message).fadeIn();}};var hideMessage=function(){$(obj.elem||'div.message',self).html('').fadeOut();};var canRate=function(){gamesRated=[];var cookieData=$.cookie(settings.ratingCookie.name)||'';if(cookieData=='')return true;var alreadyRated=cookieData.split('|');gamesRated=alreadyRated;return($.inArray(''+settings.gameid,alreadyRated)==-1)?true:false;};var checkAlreadyRated=function(){if(canRate()===false){showMessage({message:settings.langstrings.alreadyrated,quick:true});}};var addToCookie=function(){if(canRate()===true){gamesRated.push(''+settings.gameid);var cookieValue=gamesRated.join('|');$.cookie(settings.ratingCookie.name,''+cookieValue,settings.ratingCookie.options);}};var handleError=function(data,mesg,error){showMessage({message:settings.langstrings.saveerror});};var handleResponse=function(data,mesg){var errorcode=$("errorcode",data).text();if(errorcode!=''&&errorcode!=0){showMessage({message:settings.langstrings.saveerror});return;}
addToCookie();showMessage({message:settings.langstrings.thanks});};var drawRating=function(){var html=''+'<a class="icon happy" href="#" title="'+settings.langstrings.ilikeit+'">'+settings.langstrings.ilikeit+'</a>'+'<a class="icon sad" href="#" title="'+settings.langstrings.ihateit+'">'+settings.langstrings.ihateit+'</a>'+'<div class="message"></div>'+'<div class="rating_votes_total">'+sprintf(settings.langstrings.totalvotes,settings.total)+'</div>'+'<div class="rating_bar">'+'<div class="bar_right">'+'<div class="bar_orange">'+'<div class="bar">&#160;</div>'+'</div>'+'</div>'+'</div>'+'<div class="rating_percentage">'+sprintf(settings.langstrings.percentage,settings.percentage,'%')+'</div>';$(self).append(html);$('div.bar_orange div.bar',self).css('width',settings.percentage+'%');};var sendRating=function(rating){try{$.ajax({url:sprintf(settings.url,settings.api,settings.siteid,settings.itemtype,settings.gameid),global:false,type:settings.method,dataType:settings.outputtype,success:handleResponse,error:handleError,timeout:settings.timeout,data:{rating:rating}});}catch(e){showMessage({message:settings.langstrings.saveerror});}};return this.each(function(){drawRating();checkAlreadyRated();$('a.happy',self).click(function(){if(canRate()===true){sendRating(10);}else{showMessage({message:settings.langstrings.alreadyrated});}
return false;});$('a.sad',self).click(function(){if(canRate()===true){sendRating(0);}else{showMessage({message:settings.langstrings.alreadyrated});}
return false;});});};
