!function(t){"use strict";var a={init:function(e){return this.each(function(){this.self=t(this),a.destroy.call(this.self),this.opt=t.extend(!0,{},t.fn.um_raty.defaults,e),a._adjustCallback.call(this),a._adjustNumber.call(this),"img"!==this.opt.starType&&a._adjustStarType.call(this),a._adjustPath.call(this),a._createStars.call(this),this.opt.cancel&&a._createCancel.call(this),this.opt.precision&&a._adjustPrecision.call(this),a._createScore.call(this),a._apply.call(this,this.opt.score),a._target.call(this,this.opt.score),this.opt.readOnly?a._lock.call(this):(this.style.cursor="pointer",a._binds.call(this)),this.self.data("options",this.opt)})},_adjustCallback:function(){for(var t=["number","readOnly","score","scoreName","target"],a=0;a0&&this.score.val(a._between(t,0,this.opt.number)),a._roundStars.call(this,t))},_between:function(t,a,e){return Math.min(Math.max(parseFloat(t),a),e)},_binds:function(){this.cancel&&(a._bindOverCancel.call(this),a._bindClickCancel.call(this),a._bindOutCancel.call(this)),a._bindOver.call(this),a._bindClick.call(this),a._bindOut.call(this)},_bindClick:function(){var a=this;a.stars.on("click.um_raty",function(e){var s=t(this);a.score.val(a.opt.half||a.opt.precision?a.self.data("score"):this.alt||s.data("alt")),a.opt.click&&a.opt.click.call(a,+a.score.val(),e)})},_bindClickCancel:function(){var t=this;t.cancel.on("click.um_raty",function(a){t.score.removeAttr("value"),t.opt.click&&t.opt.click.call(t,null,a)})},_bindOut:function(){var t=this;t.self.on("mouseleave.um_raty",function(e){var s=+t.score.val()||void 0;a._apply.call(t,s),a._target.call(t,s,e),t.opt.mouseout&&t.opt.mouseout.call(t,s,e)})},_bindOutCancel:function(){var t=this;t.cancel.on("mouseleave.um_raty",function(e){var s=t.opt.cancelOff;if("img"!==t.opt.starType&&(s=t.opt.cancelClass+" "+s),a._setIcon.call(t,this,s),t.opt.mouseout){var i=+t.score.val()||void 0;t.opt.mouseout.call(t,i,e)}})},_bindOver:function(){var t=this,e=t.opt.half?"mousemove.um_raty":"mouseover.um_raty";t.stars.on(e,function(e){var s=a._getScoreByPosition.call(t,e,this);a._fill.call(t,s),t.opt.half&&(a._roundStars.call(t,s),t.self.data("score",s)),a._target.call(t,s,e),t.opt.mouseover&&t.opt.mouseover.call(t,s,e)})},_bindOverCancel:function(){var t=this;t.cancel.on("mouseover.um_raty",function(e){var s=t.opt.path+t.opt.starOff,i=t.opt.cancelOn;"img"===t.opt.starType?t.stars.attr("src",s):(i=t.opt.cancelClass+" "+i,t.stars.attr("class",s)),a._setIcon.call(t,this,i),a._target.call(t,null,e),t.opt.mouseover&&t.opt.mouseover.call(t,null)})},_buildScoreField:function(){return t("",{name:this.opt.scoreName,type:"hidden"}).appendTo(this)},_createCancel:function(){var a=this.opt.path+this.opt.cancelOff,e=t("<"+this.opt.starType+" />",{title:this.opt.cancelHint,class:this.opt.cancelClass});"img"===this.opt.starType?e.attr({src:a,alt:"x"}):e.attr("data-alt","x").addClass(a),"left"===this.opt.cancelPlace?this.self.prepend(" ").prepend(e):this.self.append(" ").append(e),this.cancel=e},_createScore:function(){var e=t(this.opt.targetScore);this.score=e.length?e:a._buildScoreField.call(this)},_createStars:function(){for(var e=1;e<=this.opt.number;e++){var s=a._nameForIndex.call(this,e),i={alt:e,src:this.opt.path+this.opt[s]};"img"!==this.opt.starType&&(i={"data-alt":e,class:i.src}),i.title=a._getHint.call(this,e),t("<"+this.opt.starType+" />",i).appendTo(this),this.opt.space&&this.self.append(ee){var n=this.opt.iconRange[e];i=a._getRangeIcon.call(this,n,r),s<=n.range&&a._setIcon.call(this,o,i),s===n.range&&e++}else i=this.opt[r?"starOn":"starOff"],a._setIcon.call(this,o,i)}},_getRangeIcon:function(t,a){return a?t.on||this.opt.starOn:t.off||this.opt.starOff},_getScoreByPosition:function(e,s){var i=parseInt(s.alt||s.getAttribute("data-alt"),10);if(this.opt.half){var o=a._getSize.call(this),r=parseFloat((e.pageX-t(s).offset().left)/o);i=this.opt.precision?i-1+r:i-1+(r>.5?1:.5)}return i},_getSize:function(){var t;return t="img"===this.opt.starType?this.stars[0].width:parseFloat(this.stars.eq(0).css("font-size")),t||a._error.call(this,"Could not be possible get the icon size!"),t},_turnOn:function(t,a){return this.opt.single?t===a:t<=a},_getHint:function(t){var a=this.opt.hints[t-1];return""===a?"":a||t},_lock:function(){var t=parseInt(this.score.val(),10),e=t?a._getHint.call(this,t):this.opt.noRatedMsg;this.style.cursor="",this.title=e,this.score.prop("readonly",!0),this.stars.prop("title",e),this.cancel&&this.cancel.hide(),this.self.data("readonly",!0)},_nameForIndex:function(t){return this.opt.score&&this.opt.score>=t?"starOn":"starOff"},_roundStars:function(t){var e=(t%1).toFixed(2);if(e>this.opt.round.down){var s="starOn";this.opt.halfShow&&e1?a:a[0]},move:function(e){return this.each(function(){var s=parseInt(e,10),i=t(this).data("options"),o=(+e).toFixed(1).split(".")[1];s>=i.number&&(s=i.number-1,o=10);var r=a._getSize.call(this),n=r/10,l=t(this.stars[s]),c=l.offset().left+n*parseInt(o,10),h=t.Event("mousemove",{pageX:c});l.trigger(h)})},readOnly:function(e){return this.each(function(){var s=t(this);s.data("readonly")!==e&&(e?(s.off(".um_raty").children("img").off(".um_raty"),a._lock.call(this)):(a._binds.call(this),a._unlock.call(this)),s.data("readonly",e))})},reload:function(){return a.set.call(this,{})},score:function(){var e=t(this);return arguments.length?a.setScore.apply(e,arguments):a.getScore.call(e)},set:function(a){return this.each(function(){var e=t(this),s=e.data("options"),i=t.extend({},s,a);e.um_raty(i)})},setScore:function(e){return this.each(function(){t(this).data("readonly")!==!0&&(a._apply.call(this,e),a._target.call(this,e))})}};t.fn.um_raty=function(e){return a[e]?a[e].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof e&&e?void t.error("Method "+e+" does not exist!"):a.init.apply(this,arguments)},t.fn.um_raty.defaults={cancel:!1,cancelClass:"raty-cancel",cancelHint:"Cancel this rating!",cancelOff:"cancel-off.png",cancelOn:"cancel-on.png",cancelPlace:"left",click:void 0,half:!1,halfShow:!0,hints:["bad","poor","regular","good","gorgeous"],iconRange:void 0,mouseout:void 0,mouseover:void 0,noRatedMsg:"Not rated yet!",number:5,numberMax:20,path:void 0,precision:!1,readOnly:!1,round:{down:.25,full:.6,up:.76},score:void 0,scoreName:"score",single:!1,space:!0,starHalf:"star-half.png",starOff:"star-off.png",starOn:"star-on.png",starType:"img",target:void 0,targetFormat:"{score}",targetKeep:!1,targetScore:void 0,targetText:"",targetType:"hint"}}(jQuery);