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