(function(f){f.fn.rateit=function(g,j){var i={},m="init";if(this.length==0)return this;var l=f.type(g);if(l=="object"||g===undefined||g==null)i=f.extend({},f.fn.rateit.defaults,g);else if(l=="string"&&j===undefined)return this.data("rateit-"+g);else if(l=="string")m="setvalue";return this.each(function(){var c=f(this),a=function(d,h){return c.data("rateit-"+d,h)};c.hasClass("rateit")||c.addClass("rateit");var n=c.css("direction")!="rtl";if(m=="setvalue"){if(!a("init"))throw"Can't set value before init";
g=="readonly"&&!a("readonly")&&c.find(".rateit-range").unbind("mouseleave mousemove click");if(a("backingfld")){var b=f(a("backingfld"));g=="value"&&b.val(j);if(g=="min"&&b[0].min)b[0].min=j;if(g=="max"&&b[0].max)b[0].max=j;if(g=="step"&&b[0].step)b[0].step=j}a(g,j)}if(!a("init")){a("min",a("min")||i.min);a("max",a("max")||i.max);a("step",a("step")||i.step);a("readonly",a("readonly")!==undefined?a("readonly"):i.readonly);a("resetable",a("resetable")!==undefined?a("resetable"):i.resetable);a("backingfld",
a("backingfld")||i.backingfld);a("starwidth",a("starwidth")||i.starwidth);a("starheight",a("starheight")||i.starheight);a("value",a("value")||i.min);if(a("backingfld")){b=f(a("backingfld"));a("value",b.hide().val());if(b[0].nodeName=="INPUT")if(b[0].type=="range"||b[0].type=="text"){a("min",parseInt(b.attr("min"))||a("min"));a("max",parseInt(b.attr("max"))||a("max"));a("step",parseInt(b.attr("step"))||a("step"))}if(b[0].nodeName=="SELECT"&&b[0].options.length>1){a("min",parseInt(b[0].options[0].value));
a("max",parseInt(b[0].options[b[0].length-1].value));a("step",parseInt(b[0].options[1].value-b[0].options[0].value))}}c.append('<div class="rateit-reset"></div><div class="rateit-range"><div class="rateit-selected" style="height:'+a("starheight")+'px"></div><div class="rateit-hover" style="height:'+a("starheight")+'px"></div></div>');if(!n){c.find(".rateit-reset").css("float","right");c.find(".rateit-selected").addClass("rateit-selected-rtl");c.find(".rateit-hover").addClass("rateit-hover-rtl")}a("init",
true)}var e=c.find(".rateit-range");e.width(a("starwidth")*(a("max")-a("min"))).height(a("starheight"));if(a("value")){var o=(a("value")-a("min"))*a("starwidth");c.find(".rateit-selected").width(o)}b=c.find(".rateit-reset");var p=function(d,h){var k=h.pageX-f(d).offset().left;n||(k=e.width()-k);return o=Math.ceil(k/a("starwidth")*(1/a("step")))};if(a("readonly"))b.hide();else{a("resetable")?b.click(function(){a("value",a("min"));e.find(".rateit-hover").hide().width(0);e.find(".rateit-selected").width(0).show();
a("backingfld")&&f(a("backingfld")).val(a("min"));c.trigger("reset")}):b.hide();e.mousemove(function(d){d=p(this,d);var h=d*a("starwidth")*a("step"),k=e.find(".rateit-hover");if(k.data("width")!=h){e.find(".rateit-selected").hide();k.width(h).show().data("width",h);c.trigger("hover",[d*a("step")+a("min")])}});e.mouseleave(function(){e.find(".rateit-hover").hide().width(0).data("width","");c.trigger("hover",[null]);e.find(".rateit-selected").show()});e.click(function(d){d=p(this,d);var h=d*a("step")+
a("min");a("value",h);a("backingfld")&&f(a("backingfld")).val(h);e.find(".rateit-hover").hide();e.find(".rateit-selected").width(d*a("starwidth")*a("step")).show();c.trigger("hover",[null]).trigger("rated",[h])})}})};f.fn.rateit.defaults={min:0,max:5,step:0.5,starwidth:16,starheight:16,readonly:false,resetable:true};f("div.rateit").rateit()})(jQuery);
