(function(l){l.fn.raty=function(f){options=l.extend({},l.fn.raty.defaults,f);if(this.length==0){o("Invalid selector!");return}else{if(this.length>1){return this.each(function(){l.fn.raty.apply(l(this),[f])})}}if(options.number>20){options.number=20}else{if(options.number<0){options.number=0}}if(options.path.substring(options.path.length-1,options.path.length)!="/"){options.path+="/"}$global=l(this);var h=this.attr("id"),g=0,a=options.starOn,e="";if(h==""){h="raty-"+$global.index();$global.attr("id",h)}if(!isNaN(options.start)&&options.start>0){g=(options.start>options.number)?options.number:options.start}for(var d=1;d<=options.number;d++){a=(g>=d)?options.starOn:options.starOff;e=(d<=options.hintList.length&&options.hintList[d-1]!==null)?options.hintList[d-1]:d;$global.append('<img id="'+h+"-"+d+'" src="'+options.path+a+'" alt="'+d+'" title="'+e+'" class="'+h+'"/>').append((d<options.number)?"&nbsp;":"")}l("<input/>",{id:h+"-score",type:"hidden",name:options.scoreName}).appendTo($global).val(g);if(options.showHalf){i($global,l("input#"+h+"-score").val(),options)}if(!options.readOnly){if(options.showCancel){var c=l("img."+h),u='<img src="'+options.path+options.cancelOff+'" alt="x" title="'+options.cancelHint+'" class="button-cancel"/>',t=options,b=$global;if(t.cancelPlace=="left"){$global.prepend(u+"&nbsp;")}else{$global.append("&nbsp;").append(u)}l("#"+h+" img.button-cancel").mouseenter(function(){l(this).attr("src",t.path+t.cancelOn);c.attr("src",t.path+t.starOff)}).mouseleave(function(){l(this).attr("src",t.path+t.cancelOff);c.mouseout()}).click(function(){l("input#"+h+"-score").val(0);if(t.onClick){t.onClick.apply(b,[0])}});$global.css("width",t.number*20+20)}else{$global.css("width",options.number*20)}$global.css("cursor","pointer");m($global,options)}else{$global.css("cursor","default");k($global,g,options)}return $global};l.fn.raty.defaults={cancelHint:"cancel this rating!",cancelOff:"cancel-off.png",cancelOn:"cancel-on.png",cancelPlace:"left",hintList:["bad","poor","regular","good","gorgeous"],noRatedMsg:"not rated yet",number:5,path:"img/",iconRange:[],readOnly:false,scoreName:"score",showCancel:false,showHalf:false,starHalf:"star-half.png",starOff:"star-off.png",starOn:"star-on.png",start:0,onClick:null};l.fn.raty.click=function(b,a){var c=n(b,a,"click");j(c,b,options);if(options.onClick){options.onClick.apply(c,[b])}else{o('You must add the "onClick: function(score) { }" option.')}return l.fn.raty};l.fn.raty.readOnly=function(c,a){var d=n(c,a,"readOnly"),b=d.children("img.button-cancel");if(b[0]){(c)?b.hide():b.show()}if(c){l("img."+d.attr("id")).unbind();d.css("cursor","default").unbind()}else{m(d,options);d.css("cursor","pointer")}return l.fn.raty};l.fn.raty.start=function(b,a){j(n(b,a,"start"),b,options);return l.fn.raty};function m(c,d){var a=c.attr("id"),b=l("input#"+a+"-score"),e=l("img."+a).length;l("#"+a).mouseleave(function(){j(c,b.val(),d)});l("img."+a).mouseenter(function(){p(a,this.alt,d)}).click(function(){b.val(this.alt);if(d.onClick){d.onClick.apply(c,[this.alt])}})}function n(b,a,e){var d=$global;if(a){if(a.indexOf(".")==0){var c;return l(a).each(function(){c="#"+l(this).attr("id");if(e=="start"){l.fn.raty.start(b,c)}else{if(e=="click"){l.fn.raty.click(b,c)}else{if(e=="readOnly"){l.fn.raty.readOnly(b,c)}}}})}d=l(a);if(!d.length){o('"'+a+'" is a invalid ID for the public funtion $.fn.raty.'+e+"().");return}}return d}function o(b){var a=false;if(a&&a.log){a.log(b)}}function p(s,h,a){var g=l("img."+s).length,b=0,d=0,c,f;for(var e=1;e<=g;e++){c=l("img#"+s+"-"+e);if(e<=h){if(a.iconRange&&a.iconRange.length>b){f=a.iconRange[b][0];d=a.iconRange[b][1];if(e<=d){c.attr("src",a.path+f)}if(e==d){b++}}else{c.attr("src",a.path+a.starOn)}}else{c.attr("src",a.path+a.starOff)}}}function k(b,a,c){if(a!=0){a=parseInt(a);hint=(a>0&&c.number<=c.hintList.length&&c.hintList[a-1]!==null)?c.hintList[a-1]:a}else{hint=c.noRatedMsg}l("#"+b.attr("id")).attr("title",hint).children("img").attr("title",hint)}function j(c,b,d){var a=c.attr("id");if(b<0||isNaN(b)){b=0}else{if(b>d.number){b=d.number}}l("input#"+a+"-score").val(b);p(a,b,d);if(d.showHalf){i(c,b,d)}if(d.readOnly||c.css("cursor")=="default"){k(c,b,d)}}function i(c,a,d){var f=c.attr("id"),e=Math.ceil(a),b=(e-a).toFixed(1);if(b>=0.3&&b<=0.7){e=e-0.5;l("img#"+f+"-"+Math.ceil(e)).attr("src",d.path+d.starHalf)}else{if(b>=0.8){e--}else{l("img#"+f+"-"+e).attr("src",d.path+d.starOn)}}}})(jQuery);
