Rating=Class.create({initialize:function(c,b,a){this.target=$(c);this.url=b;this.readonly=(a)?true:false;this.highest=5;this.mediaid=null},_updateRating:function(a){if(a>-1){this.display(this.mediaid,a)}},_rate:function(a){JSONRequest(this.url,{mediaid:this.mediaid,rating:a},this._updateRating.bind(this))},_addStar:function(b,a){var c=new Element("a",{"class":b});c.className=b;if(this.readonly===false){Event.observe(c,"click",function(e,d){this._rate(d)}.bindAsEventListener(this,a))}this.target.appendChild(c)},display:function(c,b){if(b>this.highest){b=this.highest}this.mediaid=c;this.target.update();var a=1;while(a<=b.floor()){this._addStar("full",a++)}if(b.floor()!=b){this._addStar("half",a++)}while(a<=this.highest){this._addStar("empty",a++)}}});