!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=e(require("jquery")):e(window.jQuery)}((function(e){"use strict";var t,a;e.fn.ratingLocales={},e.fn.ratingThemes={},t={NAMESPACE:".rating",DEFAULT_MIN:0,DEFAULT_MAX:5,DEFAULT_STEP:.5,isEmpty:function(t,a){return null==t||0===t.length||a&&""===e.trim(t)},getCss:function(e,t){return e?" "+t:""},addCss:function(e,t){e.removeClass(t).addClass(t)},getDecimalPlaces:function(e){var t=(""+e).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return t?Math.max(0,(t[1]?t[1].length:0)-(t[2]?+t[2]:0)):0},applyPrecision:function(e,t){return parseFloat(e.toFixed(t))},handler:function(e,a,n,i,r){var l=r?a:a.split(" ").join(t.NAMESPACE+" ")+t.NAMESPACE;i||e.off(l),e.on(l,n)}},a=function(t,a){this.$element=e(t),this._init(a)},a.prototype={constructor:a,_parseAttr:function(e,a){var n,i,r,l,s=this.$element,o=s.attr("type");if("range"===o||"number"===o){switch(i=a[e]||s.data(e)||s.attr(e),e){case"min":r=t.DEFAULT_MIN;break;case"max":r=t.DEFAULT_MAX;break;default:r=t.DEFAULT_STEP}n=t.isEmpty(i)?r:i,l=parseFloat(n)}else l=parseFloat(a[e]);return isNaN(l)?r:l},_parseValue:function(e){var t=parseFloat(e);return isNaN(t)&&(t=this.clearValue),!this.zeroAsNull||0!==t&&"0"!==t?t:null},_setDefault:function(e,a){t.isEmpty(this[e])&&(this[e]=a)},_initSlider:function(e){var a=this,n=a.$element.val();a.initialValue=t.isEmpty(n)?0:n,a._setDefault("min",a._parseAttr("min",e)),a._setDefault("max",a._parseAttr("max",e)),a._setDefault("step",a._parseAttr("step",e)),(isNaN(a.min)||t.isEmpty(a.min))&&(a.min=t.DEFAULT_MIN),(isNaN(a.max)||t.isEmpty(a.max))&&(a.max=t.DEFAULT_MAX),(isNaN(a.step)||t.isEmpty(a.step)||0===a.step)&&(a.step=t.DEFAULT_STEP),a.diff=a.max-a.min},_initHighlight:function(e){var t,a=this,n=a._getCaption();e||(e=a.$element.val()),t=a.getWidthFromValue(e)+"%",a.$filledStars.width(t),a.cache={caption:n,width:t,val:e}},_getContainerCss:function(){var e=this;return"rating-container"+t.getCss(e.theme,"theme-"+e.theme)+t.getCss(e.rtl,"rating-rtl")+t.getCss(e.size,"rating-"+e.size)+t.getCss(e.animate,"rating-animate")+t.getCss(e.disabled||e.readonly,"rating-disabled")+t.getCss(e.containerClass,e.containerClass)},_checkDisabled:function(){var e=this,t=e.$element,a=e.options;e.disabled=void 0===a.disabled?t.attr("disabled")||!1:a.disabled,e.readonly=void 0===a.readonly?t.attr("readonly")||!1:a.readonly,e.inactive=e.disabled||e.readonly,t.attr({disabled:e.disabled,readonly:e.readonly})},_addContent:function(e,t){var a=this.$container,n="clear"===e;return this.rtl?n?a.append(t):a.prepend(t):n?a.prepend(t):a.append(t)},_generateRating:function(){var a,n,i,r=this,l=r.$element;n=r.$container=e(document.createElement("div")).insertBefore(l),t.addCss(n,r._getContainerCss()),r.$rating=a=e(document.createElement("div")).attr("class","rating-stars").appendTo(n).append(r._getStars("empty")).append(r._getStars("filled")),r.$emptyStars=a.find(".empty-stars"),r.$filledStars=a.find(".filled-stars"),r._renderCaption(),r._renderClear(),r._initHighlight(),n.append(l),r.rtl&&(i=Math.max(r.$emptyStars.outerWidth(),r.$filledStars.outerWidth()),r.$emptyStars.width(i)),l.appendTo(a)},_getCaption:function(){var e=this;return e.$caption&&e.$caption.length?e.$caption.html():e.defaultCaption},_setCaption:function(e){var t=this;t.$caption&&t.$caption.length&&t.$caption.html(e)},_renderCaption:function(){var a,n=this,i=n.$element.val(),r=n.captionElement?e(n.captionElement):"";if(n.showCaption){if(a=n.fetchCaption(i),r&&r.length)return t.addCss(r,"caption"),r.html(a),void(n.$caption=r);n._addContent("caption",'<div class="caption">'+a+"</div>"),n.$caption=n.$container.find(".caption")}},_renderClear:function(){var a,n=this,i=n.clearElement?e(n.clearElement):"";if(n.showClear){if(a=n._getClearClass(),i.length)return t.addCss(i,a),i.attr({title:n.clearButtonTitle}).html(n.clearButton),void(n.$clear=i);n._addContent("clear",'<div class="'+a+'" title="'+n.clearButtonTitle+'">'+n.clearButton+"</div>"),n.$clear=n.$container.find("."+n.clearButtonBaseClass)}},_getClearClass:function(){var e=this;return e.clearButtonBaseClass+" "+(e.inactive?"":e.clearButtonActiveClass)},_toggleHover:function(e){var t,a,n,i=this;e&&(i.hoverChangeStars&&(t=i.getWidthFromValue(i.clearValue),a=e.val<=i.clearValue?t+"%":e.width,i.$filledStars.css("width",a)),i.hoverChangeCaption&&((n=e.val<=i.clearValue?i.fetchCaption(i.clearValue):e.caption)&&i._setCaption(n+"")))},_init:function(t){var a,n=this,i=n.$element.addClass("rating-input");return n.options=t,e.each(t,(function(e,t){n[e]=t})),(n.rtl||"rtl"===i.attr("dir"))&&(n.rtl=!0,i.attr("dir","rtl")),n.starClicked=!1,n.clearClicked=!1,n._initSlider(t),n._checkDisabled(),n.displayOnly&&(n.inactive=!0,n.showClear=!1,n.showCaption=!1),n._generateRating(),n._initEvents(),n._listen(),a=n._parseValue(i.val()),i.val(a),i.removeClass("rating-loading")},_initEvents:function(){var e=this;e.events={_getTouchPosition:function(a){return(t.isEmpty(a.pageX)?a.originalEvent.touches[0].pageX:a.pageX)-e.$rating.offset().left},_listenClick:function(e,t){return e.stopPropagation(),e.preventDefault(),!0!==e.handled&&(t(e),void(e.handled=!0))},_noMouseAction:function(t){return!e.hoverEnabled||e.inactive||t&&t.isDefaultPrevented()},initTouch:function(a){var n,i,r,l,s,o,c,u,d=e.clearValue||0;("ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch)&&!e.inactive&&(n=a.originalEvent,i=t.isEmpty(n.touches)?n.changedTouches:n.touches,r=e.events._getTouchPosition(i[0]),"touchend"===a.type?(e._setStars(r),u=[e.$element.val(),e._getCaption()],e.$element.trigger("change").trigger("rating.change",u),e.starClicked=!0):(s=(l=e.calculate(r)).val<=d?e.fetchCaption(d):l.caption,o=e.getWidthFromValue(d),c=l.val<=d?o+"%":l.width,e._setCaption(s),e.$filledStars.css("width",c)))},starClick:function(t){var a,n;e.events._listenClick(t,(function(t){return!e.inactive&&(a=e.events._getTouchPosition(t),e._setStars(a),n=[e.$element.val(),e._getCaption()],e.$element.trigger("change").trigger("rating.change",n),void(e.starClicked=!0))}))},clearClick:function(t){e.events._listenClick(t,(function(){e.inactive||(e.clear(),e.clearClicked=!0)}))},starMouseMove:function(t){var a,n;e.events._noMouseAction(t)||(e.starClicked=!1,a=e.events._getTouchPosition(t),n=e.calculate(a),e._toggleHover(n),e.$element.trigger("rating.hover",[n.val,n.caption,"stars"]))},starMouseLeave:function(t){var a;e.events._noMouseAction(t)||e.starClicked||(a=e.cache,e._toggleHover(a),e.$element.trigger("rating.hoverleave",["stars"]))},clearMouseMove:function(t){var a,n,i;!e.events._noMouseAction(t)&&e.hoverOnClear&&(e.clearClicked=!1,a='<span class="'+e.clearCaptionClass+'">'+e.clearCaption+"</span>",n=e.clearValue,i={caption:a,width:e.getWidthFromValue(n)||0,val:n},e._toggleHover(i),e.$element.trigger("rating.hover",[n,a,"clear"]))},clearMouseLeave:function(t){var a;e.events._noMouseAction(t)||e.clearClicked||!e.hoverOnClear||(a=e.cache,e._toggleHover(a),e.$element.trigger("rating.hoverleave",["clear"]))},resetForm:function(t){t&&t.isDefaultPrevented()||e.inactive||e.reset()}}},_listen:function(){var a=this,n=a.$element,i=n.closest("form"),r=a.$rating,l=a.$clear,s=a.events;return t.handler(r,"touchstart touchmove touchend",e.proxy(s.initTouch,a)),t.handler(r,"click touchstart",e.proxy(s.starClick,a)),t.handler(r,"mousemove",e.proxy(s.starMouseMove,a)),t.handler(r,"mouseleave",e.proxy(s.starMouseLeave,a)),a.showClear&&l.length&&(t.handler(l,"click touchstart",e.proxy(s.clearClick,a)),t.handler(l,"mousemove",e.proxy(s.clearMouseMove,a)),t.handler(l,"mouseleave",e.proxy(s.clearMouseLeave,a))),i.length&&t.handler(i,"reset",e.proxy(s.resetForm,a),!0),n},_getStars:function(e){var t,a='<span class="'+e+'-stars">';for(t=1;t<=this.stars;t++)a+='<span class="star">'+this[e+"Star"]+"</span>";return a+"</span>"},_setStars:function(e){var t=this,a=arguments.length?t.calculate(e):t.calculate(),n=t.$element,i=t._parseValue(a.val);return n.val(i),t.$filledStars.css("width",a.width),t._setCaption(a.caption),t.cache=a,n},showStars:function(e){var t=this,a=t._parseValue(e);return t.$element.val(a),t._setStars()},calculate:function(e){var a=this,n=t.isEmpty(a.$element.val())?0:a.$element.val(),i=arguments.length?a.getValueFromPosition(e):n,r=a.fetchCaption(i),l=a.getWidthFromValue(i);return{caption:r,width:l+="%",val:i}},getValueFromPosition:function(e){var a,n,i=this,r=t.getDecimalPlaces(i.step),l=i.$rating.width();return n=i.diff*e/(l*i.step),n=i.rtl?Math.floor(n):Math.ceil(n),a=t.applyPrecision(parseFloat(i.min+n*i.step),r),a=Math.max(Math.min(a,i.max),i.min),i.rtl?i.max-a:a},getWidthFromValue:function(e){var t,a,n=this,i=n.min,r=n.max,l=n.$emptyStars;return!e||i>=e||i===r?0:(t=(a=l.outerWidth())?l.width()/a:1,e>=r?100:(e-i)*t*100/(r-i))},fetchCaption:function(e){var a,n,i,r=this,l=parseFloat(e)||r.clearValue,s=r.starCaptions,o=r.starCaptionClasses;return l&&l!==r.clearValue&&(l=t.applyPrecision(l,t.getDecimalPlaces(r.step))),i="function"==typeof o?o(l):o[l],n="function"==typeof s?s(l):s[l],a=t.isEmpty(n)?r.defaultCaption.replace(/\{rating}/g,l):n,'<span class="'+(t.isEmpty(i)?r.clearCaptionClass:i)+'">'+(l===r.clearValue?r.clearCaption:a)+"</span>"},destroy:function(){var a=this,n=a.$element;return t.isEmpty(a.$container)||a.$container.before(n).remove(),e.removeData(n.get(0)),n.off("rating").removeClass("rating rating-input")},create:function(e){var t=e||this.options||{};return this.destroy().rating(t)},clear:function(){var e=this,t='<span class="'+e.clearCaptionClass+'">'+e.clearCaption+"</span>";return e.inactive||e._setCaption(t),e.showStars(e.clearValue).trigger("change").trigger("rating.clear")},reset:function(){return this.showStars(this.initialValue).trigger("rating.reset")},update:function(e){return arguments.length?this.showStars(e):this.$element},refresh:function(t){var a=this,n=a.$element;return t?a.destroy().rating(e.extend(!0,a.options,t)).trigger("rating.refresh"):n}},e.fn.rating=function(n){var i=Array.apply(null,arguments),r=[];switch(i.shift(),this.each((function(){var l,s=e(this),o=s.data("rating"),c="object"==typeof n&&n,u=c.theme||s.data("theme"),d=c.language||s.data("language")||"en",h={},p={};o||(u&&(h=e.fn.ratingThemes[u]||{}),"en"===d||t.isEmpty(e.fn.ratingLocales[d])||(p=e.fn.ratingLocales[d]),l=e.extend(!0,{},e.fn.rating.defaults,h,e.fn.ratingLocales.en,p,c,s.data()),o=new a(this,l),s.data("rating",o)),"string"==typeof n&&r.push(o[n].apply(o,i))})),r.length){case 0:return this;case 1:return void 0===r[0]?this:r[0];default:return r}},e.fn.rating.defaults={theme:"",language:"en",stars:5,filledStar:'<i class="glyphicon glyphicon-star"></i>',emptyStar:'<i class="glyphicon glyphicon-star-empty"></i>',containerClass:"",size:"md",animate:!0,displayOnly:!1,rtl:!1,showClear:!0,showCaption:!0,starCaptionClasses:{.5:"label label-danger",1:"label label-danger",1.5:"label label-warning",2:"label label-warning",2.5:"label label-info",3:"label label-info",3.5:"label label-primary",4:"label label-primary",4.5:"label label-success",5:"label label-success"},clearButton:'<i class="glyphicon glyphicon-minus-sign"></i>',clearButtonBaseClass:"clear-rating",clearButtonActiveClass:"clear-rating-active",clearCaptionClass:"label label-default",clearValue:null,captionElement:null,clearElement:null,hoverEnabled:!0,hoverChangeCaption:!0,hoverChangeStars:!0,hoverOnClear:!0,zeroAsNull:!0},e.fn.ratingLocales.en={defaultCaption:"{rating} Stars",starCaptions:{.5:"Half Star",1:"One Star",1.5:"One & Half Star",2:"Two Stars",2.5:"Two & Half Stars",3:"Three Stars",3.5:"Three & Half Stars",4:"Four Stars",4.5:"Four & Half Stars",5:"Five Stars"},clearButtonTitle:"Clear",clearCaption:"Not Rated"},e.fn.rating.Constructor=a,e(document).ready((function(){var t=e("input.rating");t.length&&t.removeClass("rating-loading").addClass("rating-loading").rating()}))})),function(e){"use strict";window.jQuery.fn.ratingThemes["formidable-fa"]={filledStar:'<i class="fa fa-star"></i>',emptyStar:'<i class="fa fa-star-o"></i>',clearButton:'<i class="fa fa-lg fa-minus-circle"></i>'}}();