
(function($){var buildRating=function($obj){var $obj=buildInterface($obj),averageIndex=$obj.averageRating[0],averagePercent=$obj.averageRating[1],$stars=$($obj.children('.estrella')),$cancel=$($obj.end().children('.cancelar'));$obj.end();$stars.mouseover(function(){event.drain();event.fill(this);}).mouseout(function(){event.drain();event.reset();}).focus(function(){event.drain();event.fill(this)}).blur(function(){event.drain();event.reset();});$cancel.mouseover(function(){event.drain();$(this).addClass('on')}).mouseout(function(){event.reset();$(this).removeClass('on')}).focus(function(){event.drain();$(this).addClass('on')}).blur(function(){event.reset();$(this).removeClass('on')});$cancel.click(function(){event.drain();averageIndex=0;averagePercent=0;$.post($obj.url,{"rating":$(this).children('a')[0].href.split('#')[1]});return false;});$stars.click(function(){averageIndex=$stars.index(this)+1;averagePercent=0;$.post($obj.url,{"rating":$(this).children('a')[0].href.split('#')[1]});return false;});var event={fill:function(el){var index=$stars.index(el)+1;$stars.children('a').css('width','100%').end().lt(index).addClass('hover').end();},drain:function(){$stars.filter('.on').removeClass('on').end().filter('.hover').removeClass('hover').end();},reset:function(){$stars.lt(averageIndex).addClass('on').end();var percent=(averagePercent)?averagePercent*10:0;if(percent>0){$stars.eq(averageIndex).addClass('on').children('a').css('width',percent+"%").end().end()}}}
event.reset();return $obj;}
var buildInterface=function($form){var $container=$(document.createElement('div')).attr({"title":$form.title(),"class":$form.attr('class'),"id":'votoUser'});$.extend($container,{averageRating:$.trim($container.title().split(':')[1]).split('.'),url:$form.attr('action')});var $optionGroup=$form.children('select').children('option');for(var i=0,option;option=$optionGroup[i];i++){var size=$optionGroup.size()-1;if(option.value=="0"){$div=$('<strong>Votar </strong><!--<div class="cancelar"><a href="#0" title="Cancelar Votación"><span>X</span></a></div>-->');}else{$div=$('<span class="estrella"><a title="Vota '+option.value+'/'+size+'" onClick=\'votarTestimonio("'+option.value+'");\'></span><span>'+option.value+'</span></a> </span>');}
$container.append($div[0]);}
$form.end().end().after($container).remove();return $container;}
$.fn.rating=function(){var stack=[];this.each(function(){var ret=buildRating($(this));stack=$.merge(ret,stack);});return $(stack);}})(jQuery)