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