var $break={};var Control={};Control.Rating=function(A,J){var F=this;Control.Rating.instances.push(this);this.value=false;this.links=[];this.container=document.getElementById(A);this.container.innerHTML="";this.methodToCall=new Function();this.options={min:1,max:5,rated:false,input:false,reverse:false,capture:true,multiple:false,classNames:{off:"rating_off",half:"rating_half",on:"rating_on",selected:"rating_selected"},updateUrl:false,updateParameterName:"value",afterChange:new Function()};for(var H in J){this.options[H]=J[H]}if(this.options.value){this.value=this.options.value;delete this.options.value}this.render=function(N,L){var K,O;K=(F.options.reverse?I.reverseArray(F.links):F.links);for(var M=0;O=K[M];M++){if(O.value<=Math.ceil(N)){O.className=F.options.classNames[O.value<=N?"on":"half"];if(F.options.rated||L){YAHOO.util.Dom.addClass(O,F.options.classNames.selected)}}else{O.className=F.options.classNames.off}}};this.setValue=function(O,K,N){var M;F.value=O;if(F.options.input){if(F.options.input.options){for(var L=0;M=F.options.input.options[L];L++){if(M.value==F.value){F.options.input.options.selectedIndex=L;throw $break}}}else{F.options.input.value=F.value}}F.render(F.value,K);if(!N){if(F.options.updateUrl){var P={};P[F.options.updateParamterName]=F.value;YAHOO.util.Connect.asyncRequest("POST",F.options.updateUrl,null,P)}F.notify("afterChange",F.value)}};this.setValueFromInput=function(K,L){F.setValue((K.options?K.options[K.options.selectedIndex].value:K.value),true,L)};if(this.options.input){this.options.input=document.getElementById(this.options.input);YAHOO.util.Event.addListener(this.options.input,"change",function(K){this.setValueFromInput(K)});this.setValueFromInput(this.options.input,true)}this.mouseOver=function(K){F.render(K.value,true)};this.mouseOut=function(K){F.render(F.value)};this.click=function(L,K){if(!F.options.rated){F.options.rated=true;F.setValue((K.value?K.value:K),true);if(!F.options.multiple){F.disable()}}if(F.options.capture){return false}};this.buildLink=function(K){var L=document.createElement("a");L.value=K;if(F.options.multiple||(!F.options.rated&&!F.options.multiple)){L.href="javascript:void(0)";F.container.appendChild(L);L.onmouseover=function(M){F.mouseOver(L)};L.onmouseout=function(M){F.mouseOut(L)};L.onclick=function(M){F.click(M,L)}}else{L.style.cursor="default";YAHOO.util.Event.addListener(L,"click",function(M){if(F.options.capture){YAHOO.util.Event.stopEvent(M);return false}})}YAHOO.util.Dom.addClass(F.options.classNames.off);return L};function I(L,K){var M=this;this.toArray=function(){var N;N=[];while(N.length<K-L+1){N.push(N.length+L)}return N};this.toReversedArray=function(){var N;N=[];while(N.length<K-L+1){N.push(K-N.length)}return N}}I.reverseArray=function(K){var N,M;N=[];for(var L=K.length-1;M=K[L];L++){N.push(M)}return N};var E=new I(this.options.min,this.options.max);var C=this.options.reverse?E.toReversedArray():E.toArray();var D;for(var B=0;D=C[B];B++){var G=this.buildLink(D);this.links.push(G);this.container.appendChild(G)}this.setValue(this.value||this.options.min,false,true);this.disable=function(){var L;for(var K=0;L=F.links[K];K++){YAHOO.util.Event.addListener(L,"mouseover",function(){});YAHOO.util.Event.addListener(L,"mouseout",function(){});YAHOO.util.Event.addListener(L,"click",function(){});YAHOO.util.Event.addListener(L,"click",function(M){if(F.options.capture){YAHOO.util.Event.stopEvent(M);return false}});L.style.cursor="default"}};this.getValue=function(){return F.value};this.notify=function(L){try{if(F.options[L]){return[F.options[L].apply(F.options[L],[arguments[1]])]}}catch(K){if(K!=$break){throw K}else{return false}}}};Control.Rating.instances=[];Control.Rating.findByElementId=function(C){var A;for(var B=0;A=Control.Rating.instances[B];B++){if(A.container.id&&A.container.id==C){return A}}return null};