AUI.add("aui-rating",function(X){var S=X.Lang,n=S.isBoolean,AI=S.isNumber,T=S.isString,e=function(A){return(A instanceof X.NodeList);},R=function(A){return(A instanceof X.Node);},p="a",Y="",AE="boundingBox",q="canReset",F="clearfix",i="contentBox",m="defaultSelected",l="disabled",f=".",u="element",J="elements",s="",w="helper",a="hover",x="href",H="javascript:;",g="id",N="input",z="inputName",AG="label",AK="labelNode",o="name",y="nodeName",V="off",b="on",Z="rating",P="ratingElement",C="selectedIndex",G="showTitle",h="size",r="title",AC="value",B="itemClick",AJ="itemSelect",D="itemOut",v="itemOver",M=X.ClassNameManager.getClassName,k=M(w,F),AH=M(Z,AG,u),E=M(Z,u),t=M(Z,u,a),I=M(Z,u,V),d=M(Z,u,b),O='<div class="'+AH+'"></div>',W='<a href="'+H+'"></a>',Q="<span></span>";var U=X.Component.create({NAME:"rating",ATTRS:{disabled:{value:false,validator:n},canReset:{value:true,validator:n},defaultSelected:{value:0,writeOnce:true,validator:AI},elements:{validator:e},hiddenInput:{validator:R},inputName:{value:Y,validator:T},label:{value:Y,validator:T},labelNode:{valueFn:function(){return X.Node.create(O);},validator:R},ratingElement:{valueFn:function(){var A=this;var L=X.Node.create(A.get(l)?Q:W);return L.addClass(E);}},selectedIndex:{value:-1,validator:AI},showTitle:{value:true,validator:n},size:{value:5,validator:function(A){return AI(A)&&(A>0);}},title:null,value:null},HTML_PARSER:{elements:function(A){return A.all(f+E);},label:function(L){var A=L.one(f+AH);if(A){return A.html();}},labelNode:f+AH},prototype:{initializer:function(){var A=this;A.inputElementsData={};A.after("labelChange",this._afterSetLabel);},renderUI:function(){var A=this;var L=A.get(i);L.addClass(k);A._parseInputElements();A._renderLabel();A._renderElements();},bindUI:function(){var A=this;A._createEvents();A.on("click",A._handleClickEvent);A.on("mouseover",A._handleMouseOverEvent);A.on("mouseout",A._handleMouseOutEvent);},syncUI:function(){var A=this;A._syncElements();A._syncLabelUI();},clearSelection:function(){var A=this;A.get(J).each(function(L){L.removeClass(d);L.removeClass(t);});},select:function(AM){var AR=this;var AN=AR.get(C);var AP=AR.get(q);if(AP&&(AN==AM)){AM=-1;}AR.set(C,AM);var L=AR.get(C);var AL=AR._getInputData(L);var AO=(r in AL)?AL.title:Y;var AQ=(AC in AL)?AL.value:L;AR.fillTo(L);AR.set(r,AO);AR.set(AC,AQ);var A=AR.get("hiddenInput");A.setAttribute(r,AO);A.setAttribute(AC,AQ);},fillTo:function(L,AL){var A=this;A.clearSelection();if(L>=0){A.get(J).some(function(AN,AM){AN.addClass(AL||d);return(AM==Math.floor(L));});}},indexOf:function(L){var A=this;return A.get(J).indexOf(L);},_canFireCustomEvent:function(L){var A=this;var AL=L.domEvent.target;return !A.get(l)&&AL.hasClass(E);},_createElements:function(){var A=this;var AN=[];var AM=A.get(P);for(var AL=0,L=this.get(h);AL<L;AL++){AN.push(AM.clone());}return new X.NodeList(AN);},_createEvents:function(){var A=this;var L=function(AL,AM){A.publish(AL,{defaultFn:AM,queuable:false,emitFacade:true,bubbles:true});};L(B,this._defRatingItemClickFn);L(AJ,this._defRatingItemSelectFn);L(v,this._defRatingItemOverFn);L(D,this._defRatingItemOutFn);},_defRatingItemClickFn:function(AL){var A=this;var L=AL.domEvent;A.fire(AJ,{delegateEvent:AL,domEvent:L,ratingItem:L.target});},_defRatingItemSelectFn:function(L){var A=this;var AL=L.domEvent.target;A.select(A.indexOf(AL));},_defRatingItemOutFn:function(L){var A=this;A.fillTo(A.get(C));},_defRatingItemOverFn:function(AL){var A=this;var L=A.indexOf(AL.domEvent.target);A.fillTo(L,t);},_parseInputElements:function(){var A=this;var AM=A.get(AE);var L=AM.all(N);var AN=L.size();var AL=A.get(z);var AO=X.Node.create('<input type="hidden" />');if(AN>0){AL=AL||L.item(0).getAttribute(o);A.set(h,AN);var AP=AM.all("label");L.each(function(AT,AS){var AU=AT.get(g);var AR=s;if(AU){var AQ=AP.filter('[for="'+AU+'"]');if(AQ.size()){AR=AQ.item(0).html();}}A.inputElementsData[AS]={content:AR,value:AT.getAttribute(AC)||AS,title:AT.getAttribute(r)};});AP.remove(true);L.remove(true);}if(AL){AO.setAttribute(o,AL);AM.appendChild(AO);}A.set("hiddenInput",AO);},_renderLabel:function(){var A=this;A.get(i).append(A.get(AK));},_renderElements:function(AL){var A=this;var L=A.get(i);if(!A.get(J).size()){A.set(J,A._createElements());}A.get(J).each(function(AN,AM){var AP=A._getInputData(AM);var AO=AP.content;var AQ=AP.title||A.get(r)||AO;if(AO||AQ){AN.html(AO||AQ);}if(AQ&&A.get(G)){AN.setAttribute(r,AQ);}if(!AN.attr(x)&&(AN.get(y).toLowerCase()==p)){AN.setAttribute(x,H);}L.appendChild(AN);});},_syncElements:function(){var L=this;var A=L.get(m)-1;L.set(C,A);L.select();},_syncLabelUI:function(){var A=this;var L=A.get(AG);A.get(AK).html(L);},_getInputData:function(L){var A=this;return A.inputElementsData[L]||{};},_handleClickEvent:function(L){var A=this;if(A._canFireCustomEvent(L)){A.fire(B,{delegateEvent:L,domEvent:L.domEvent});}},_handleMouseOutEvent:function(L){var A=this;if(A._canFireCustomEvent(L)){A.fire(D,{delegateEvent:L,domEvent:L.domEvent});}},_handleMouseOverEvent:function(L){var A=this;if(A._canFireCustomEvent(L)){A.fire(v,{delegateEvent:L,domEvent:L.domEvent});}},_afterSetLabel:function(A){this._syncLabelUI();}}});var j="down",AD="thumb",AF="ThumbRating",c="up",AB=M(Z,AD,j),AA=M(Z,AD,c);var K=X.Component.create({NAME:AF,ATTRS:{size:{value:2,readOnly:true}},EXTENDS:U,prototype:{renderUI:function(){var A=this;K.superclass.renderUI.apply(this,arguments);var L=A.get(J);L.addClass(I);L.item(0).addClass(AA);L.item(1).addClass(AB);},fillTo:function(A,L){this.clearSelection();if(A>=0){this.get(J).item(A).addClass(L||d);}},_syncElements:function(){}}});X.Rating=U;X.StarRating=U;X.ThumbRating=K;},"@VERSION@",{skinnable:true,requires:["aui-base"]});