(function(a){a.fn.rating=function(b){var d={showCancel:true,cancelValue:null,startValue:null,disabled:false};a.extend(d,b);var c={hoverOver:function(f){var g=a(f.target);if(g.hasClass("ui-rating-cancel")){g.addClass("ui-rating-cancel-full")}else{g.prevAll().andSelf().not(".ui-rating-cancel").addClass("ui-rating-hover")}},hoverOut:function(f){var g=a(f.target);if(g.hasClass("ui-rating-cancel")){g.addClass("ui-rating-cancel-empty").removeClass("ui-rating-cancel-full")}else{g.prevAll().andSelf().not(".ui-rating-cancel").removeClass("ui-rating-hover")}},click:function(f){var h=a(f.target);var g=d.cancelValue;if(h.hasClass("ui-rating-cancel")){c.empty(h)}else{h.closest(".ui-rating-star").prevAll().andSelf().not(".ui-rating-cancel").attr("className","ui-rating-star ui-rating-full");h.closest(".ui-rating-star").nextAll().not(".ui-rating-cancel").attr("className","ui-rating-star ui-rating-empty");h.siblings(".ui-rating-cancel").attr("className","ui-rating-cancel ui-rating-cancel-empty");g=h.attr("value")}if(!f.data.hasChanged){a(f.data.selectBox).val(g).trigger("change")}},change:function(f){var g=a(this).val();c.setValue(g,f.data.container,f.data.selectBox)},setValue:function(h,g,i){var f={target:null,data:{}};f.target=a(".ui-rating-star[value="+h+"]",g);f.data.selectBox=i;f.data.hasChanged=true;c.click(f)},empty:function(f){f.attr("className","ui-rating-cancel ui-rating-cancel-empty").nextAll().attr("className","ui-rating-star ui-rating-empty")}};var e={createContainer:function(g){var f=a("<div/>").attr({title:g.title,className:"ui-rating"}).insertAfter(g);return f},createStar:function(g,f){a("<a/>").attr({className:"ui-rating-star ui-rating-empty",title:a(g).text(),value:g.value}).appendTo(f)},createCancel:function(g,f){a("<a/>").attr({className:"ui-rating-cancel ui-rating-cancel-empty",title:"Cancel"}).appendTo(f)}};return this.each(function(){if(a(this).attr("type")!=="select-one"){return}var f=this;a(f).css("display","none");var i=a(f).attr("id");if(""===i){i="ui-rating-"+a.data(f);a(f).attr("id",i)}var h=e.createContainer(f);if(true!==d.disabled&&a(f).attr("disabled")!==true){a(h).bind("mouseover",c.hoverOver).bind("mouseout",c.hoverOut).bind("click",{selectBox:f},c.click)}if(d.showCancel){e.createCancel(this,h)}a("option",f).each(function(){e.createStar(this,h)});if(0!==a("#"+i+" option[selected]").size()){c.setValue(a(f).val(),h,f)}else{var g=null!==d.startValue?d.startValue:d.cancelValue;c.setValue(g,h,f);a(f).val(g)}a(this).bind("change",{selectBox:f,container:h},c.change)})}})(jQuery);
