var StarRating=new Class({options:{url:null,elId:"rater",cname:"rating_panel",rate_this_content_trans:"RATE THIS CONTENT",current_content_rating_trans:"CURRENT CONTENT RATING"},initialize:function(a){this.setOptions(a);
this.wrapper=$(this.options.elId);this.savedClass="rating nostarDefault";this.already_voted=(Cookie.read(this.options.cname))?true:false;
this.label=new Element("span");this.label.innerHTML=(this.already_voted)?this.options.current_content_rating_trans:this.options.rate_this_content_trans;
this.list=new Element("ul",{"class":"rating nostarDefault"});this.list.innerHTML='<li id="1" class="one"><a title="1 Star">1</a></li>';
this.list.innerHTML+='<li id="2" class="two"><a title="2 Stars">2</a></li>';this.list.innerHTML+='<li id="3" class="three"><a title="3 Stars">3</a></li>';
this.list.innerHTML+='<li id="4" class="four"><a title="4 Stars">4</a></li>';this.list.innerHTML+='<li id="5" class="five"><a title="5 Stars">5</a></li>';
this.label.inject(this.wrapper);this.list.inject(this.wrapper);this.getRating();if(!this.already_voted){var c=this.wrapper.getElements("li");
for(var b=0;b<c.length;b++){c[b].addEvent("mouseover",this.starMouseOver.bind(this));c[b].addEvent("mouseout",this.starMouseOut.bind(this));
c[b].getElement("a").addEvent("click",this.starClick.bind(this))}}},convNum:function(a){a=parseInt(a);switch(a){case 0:style="no";
break;case 1:style="one";break;case 2:style="two";break;case 3:style="three";break;case 4:style="four";break;case 5:style="five";
break;default:style="no";break}return style},starMouseOver:function(c){var b=(c.target.get("tag")=="li")?c.target:c.target.getParent("li");
var a=this.convNum(b.id);this.list.className="rating "+a+"starHover"},starMouseOut:function(a){this.list.className=this.savedClass
},starClick:function(d){var b=(d.target.get("tag")=="li")?d.target:d.target.getParent("li");var c=["nostar","onestar","twostar","threestar","fourstar","fivestar"];
for(var a=0;a<c.length;a++){if(b.getParent("ul").hasClass(c[a])){b.getParent("ul").removeClass(c[a])}if(a+1==b.id){this.setRating(b.id)
}}},getRating:function(){new Request({url:this.options.url,data:"json="+JSON.encode({"function":"get",id:this.options.cname}),onComplete:function(b){var d=JSON.decode(b);
var c="";starsHalf=parseInt(d.starsHalf);if(starsHalf==0){c="star"+((this.already_voted)?"":"Default")}else{if(starsHalf==1){c="star"+((this.already_voted)?"":"Default")+"Half"
}}var a=this.convNum(parseInt(d.starsRate))+c;this.list.className=this.savedClass="rating "+a}.bind(this)}).send()},setRating:function(a){new Request({url:this.options.url,data:"json="+JSON.encode({"function":"set",id:this.options.cname,rate:a}),onComplete:function(d){var b=JSON.decode(d);
var c="";Cookie.write(this.options.cname,a,{duration:1});var e=parseInt(b.starsHalf);if(e==0){c=this.convNum(parseInt(b.starsRate))+"star"
}else{if(e==1){c=this.convNum(parseInt(b.starsRate))+"starHalf"}}this.list.toggleClass(c);this.list.blur();this.label.innerHTML=this.options.current_content_rating_trans;
this.wrapper.getElements("li").each(function(g,f){g.removeEvents();g.getElement("a").removeEvents()})}.bind(this)}).send()
}});StarRating.implement(new Options);
