(function($){var buildRating=function($obj){var $widget=buildInterface($obj),$stars=$('.star',$widget),$cancel=$('.cancel',$widget),$summary=$('.fivestar-summary',$obj),feedbackTimerId=0,summaryText=$summary.html(),summaryHover=$obj.is('.fivestar-labels-hover'),currentValue=$("select",$obj).val(),cancelTitle=$('label',$obj).html(),voteTitle=cancelTitle!=Drupal.settings.fivestar.titleAverage?cancelTitle:Drupal.settings.fivestar.titleUser,voteChanged=false;if($obj.is('.fivestar-user-stars')){var starDisplay='user';}
else if($obj.is('.fivestar-average-stars')){var starDisplay='average';currentValue=$("input[name=vote_average]",$obj).val();}
else if($obj.is('.fivestar-combo-stars')){var starDisplay='combo';}
else{var starDisplay='none';}
if($obj.is('.fivestar-smart-stars')){var starDisplay='smart';}
if($summary.size()){var textDisplay=$summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/,'$1').replace(/-/g,'_');}
else{var textDisplay='none';}
$stars
.mouseover(function(){event.drain();event.fill(this);})
.mouseout(function(){event.drain();event.reset();});$stars.children()
.focus(function(){event.drain();event.fill(this.parentNode)})
.blur(function(){event.drain();event.reset();}).end();$cancel
.mouseover(function(){event.drain();$(this).addClass('on')})
.mouseout(function(){event.reset();$(this).removeClass('on')});$cancel.children()
.focus(function(){event.drain();$(this.parentNode).addClass('on')})
.blur(function(){event.reset();$(this.parentNode).removeClass('on')}).end();$cancel.click(function(){currentValue=0;event.reset();voteChanged=false;if($("input.fivestar-path",$obj).size()&&$summary.is('.fivestar-feedback-enabled')){setFeedbackText(Drupal.settings.fivestar.feedbackDeletingVote);}
$("select",$obj).val(0);cancelTitle=starDisplay!='smart'?cancelTitle:Drupal.settings.fivestar.titleAverage;$('label',$obj).html(cancelTitle);if($obj.is('.fivestar-smart-text')){$obj.removeClass('fivestar-user-text').addClass('fivestar-average-text');$summary[0].className=$summary[0].className.replace(/-user/,'-average');textDisplay=$summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/,'$1').replace(/-/g,'_');}
if($obj.is('.fivestar-smart-stars')){$obj.removeClass('fivestar-user-stars').addClass('fivestar-average-stars');}
$("input.fivestar-path",$obj).each(function(){var token=$("input.fivestar-token",$obj).val();$.ajax({type:'GET',data:{token:token},dataType:'xml',url:this.value+'/'+0,success:voteHook});});return false;});$stars.click(function(){currentValue=$('select option',$obj).get($stars.index(this)+$cancel.size()+1).value;$("select",$obj).val(currentValue);voteChanged=true;event.reset();if($("input.fivestar-path",$obj).size()&&$summary.is('.fivestar-feedback-enabled')){setFeedbackText(Drupal.settings.fivestar.feedbackSavingVote);}
if($obj.is('.fivestar-smart-text')){$obj.removeClass('fivestar-average-text').addClass('fivestar-user-text');$summary[0].className=$summary[0].className.replace(/-average/,'-user');textDisplay=$summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/,'$1').replace(/-/g,'_');}
if($obj.is('.fivestar-smart-stars')){$obj.removeClass('fivestar-average-stars').addClass('fivestar-user-stars');}
$("input.fivestar-path",$obj).each(function(){var token=$("input.fivestar-token",$obj).val();$.ajax({type:'GET',data:{token:token},dataType:'xml',url:this.value+'/'+currentValue,success:voteHook});});return false;});var event={fill:function(el){var index=$stars.index(el)+1;$stars
.children('a').css('width','100%').end()
.filter(':lt('+index+')').addClass('hover').end();if(summaryHover&&!feedbackTimerId){var summary=$("select option",$obj)[index+$cancel.size()].text;var value=$("select option",$obj)[index+$cancel.size()].value;$summary.html(summary!=index+1?summary:'&nbsp;');$('label',$obj).html(voteTitle);}},drain:function(){$stars
.filter('.on').removeClass('on').end()
.filter('.hover').removeClass('hover').end();if(summaryHover&&!feedbackTimerId){var cancelText=$("select option",$obj)[1].text;$summary.html(($cancel.size()&&cancelText!=0)?cancelText:'&nbsp');if(!voteChanged){$('label',$obj).html(cancelTitle);}}},reset:function(){var starValue=currentValue/100*$stars.size();var percent=(starValue-Math.floor(starValue))*100;$stars.filter(':lt('+Math.floor(starValue)+')').addClass('on').end();if(percent>0){$stars.eq(Math.floor(starValue)).addClass('on').children('a').css('width',percent+"%").end().end();}
if(summaryHover&&!feedbackTimerId){$summary.html(summaryText?summaryText:'&nbsp;');}
if(voteChanged){$('label',$obj).html(voteTitle);}
else{$('label',$obj).html(cancelTitle);}}};var setFeedbackText=function(text){feedbackTimerId=1;$summary.html(text);};var voteHook=function(data){var returnObj={result:{count:$("result > count",data).text(),average:$("result > average",data).text(),summary:{average:$("summary average",data).text(),average_count:$("summary average_count",data).text(),user:$("summary user",data).text(),user_count:$("summary user_count",data).text(),combo:$("summary combo",data).text(),count:$("summary count",data).text()}},vote:{id:$("vote id",data).text(),tag:$("vote tag",data).text(),type:$("vote type",data).text(),value:$("vote value",data).text()},display:{stars:starDisplay,text:textDisplay}};if(window.fivestarResult){fivestarResult(returnObj);}
else{fivestarDefaultResult(returnObj);}
summaryText=returnObj.result.summary[returnObj.display.text];if($(returnObj.result.summary.average).is('.fivestar-feedback-enabled')){if(returnObj.vote.value!=0){setFeedbackText(Drupal.settings.fivestar.feedbackVoteSaved);}
else{setFeedbackText(Drupal.settings.fivestar.feedbackVoteDeleted);}
feedbackTimerId=setTimeout(function(){clearTimeout(feedbackTimerId);feedbackTimerId=0;$summary.html(returnObj.result.summary[returnObj.display.text]);},2000);}
if(returnObj.vote.value==0&&(starDisplay=='average'||starDisplay=='smart')){currentValue=returnObj.result.average;event.reset();}};event.reset();return $widget;};var buildInterface=function($widget){var $container=$('<div class="fivestar-widget clear-block"></div>');var $options=$("select option",$widget);var size=$('option',$widget).size()-1;var cancel=1;for(var i=1,option;option=$options[i];i++){if(option.value=="0"){cancel=0;$div=$('<div class="cancel"><a href="#0" title="'+option.text+'">'+option.text+'</a></div>');}
else{var zebra=(i+cancel-1)%2==0?'even':'odd';var count=i+cancel-1;var first=count==1?' star-first':'';var last=count==size+cancel-1?' star-last':'';$div=$('<div class="star star-'+count+' star-'+zebra+first+last+'"><a href="#'+option.value+'" title="'+option.text+'">'+option.text+'</a></div>');}
$container.append($div[0]);}
$container.addClass('fivestar-widget-'+(size+cancel-1));$('select',$widget).after($container).css('display','none');return $container;};function fivestarDefaultResult(voteResult){$('div.fivestar-summary-'+voteResult.vote.tag+'-'+voteResult.vote.id).html(voteResult.result.summary[voteResult.display.text]);if(voteResult.display.stars=='combo'){$('div.fivestar-form-'+voteResult.vote.id).each(function(){var $stars=$('.fivestar-widget-static .star span',this);var average=voteResult.result.average/100*$stars.size();var index=Math.floor(average);$stars.removeClass('on').addClass('off').css('width','auto');$stars.filter(':lt('+(index+1)+')').removeClass('off').addClass('on');$stars.eq(index).css('width',((average-index)*100)+"%");var $summary=$('.fivestar-static-form-item .fivestar-summary',this);if($summary.size()){var textDisplay=$summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/,'$1').replace(/-/g,'_');$summary.html(voteResult.result.summary[textDisplay]);}});}};$.fn.fivestar=function(){var stack=[];this.each(function(){var ret=buildRating($(this));stack.push(ret);});return stack;};if($.browser.msie==true){try{document.execCommand('BackgroundImageCache',false,true);}catch(err){}}
Drupal.behaviors.fivestar=function(context){$('div.fivestar-form-item:not(.fivestar-processed)',context).addClass('fivestar-processed').fivestar();$('input.fivestar-submit',context).css('display','none');}})(jQuery);
