
var Rating=Class.create({initialize:function(options){this.options={};this.options.target=options.target;this.options.ratePath=options.ratePath;this.options.sMax;this.options.holder;this.options.preSet;this.options.rated;},rating:function(num){this.options.sMax=0;for(n=0;n<num.parentNode.childNodes.length;n++){if(num.parentNode.childNodes[n].nodeName=="A"){this.options.sMax++;}}
if(!this.options.rated){s=num.id.replace("_",'');a=0;for(i=1;i<=this.options.sMax;i++){if(i<=s){$("_"+i).className="on";$("rateStatus").innerHTML=num.title;this.options.holder=a+1;a++;}else{$("_"+i).className="";}}}},off:function(me){if(!this.options.rated){if(!this.options.preSet){for(i=1;i<=this.options.sMax;i++){$("_"+i).className="";$("rateStatus").innerHTML=me.parentNode.title;}}else{rating(this.options.preSet);$("rateStatus").innerHTML=$("ratingSaved").innerHTML;}}},rateIt:function(me){if(!this.options.rated){$("rateStatus").innerHTML=$("ratingSaved").innerHTML;this.options.preSet=me;this.options.rated=1;this.sendRate(me);this.rating(me);}},sendRate:function(sel){var rate=sel.id.replace('_','');this.request(rating.options.ratePath+rate+'/','',this.afterRate);},request:function(path,postBody,onCompleteFunction){var opt={method:'post',postBody:postBody,onCreate:function(t){},onComplete:onCompleteFunction,on404:function(t){alert('Error 404: location "'+t.statusText+'" was not found.');},onFailure:function(t){alert('Error '+t.status+' -- '+t.statusText);}};new Ajax.Request(path,opt);},afterRate:function(response){var result=response.responseText.evalJSON();if(!result.save){$("rateStatus").innerHTML='Již jste dnes hlasoval.';}},afterLoadRating:function(response){$(rating.options.target).update(response.responseText);},loadRating:function(){this.request(this.options.ratePath,'',this.afterLoadRating);}});