$(document).ready(function(){
    checkRating = function(){
        $.each($('#results .rating ul'), function(i,item){
            var rating = $(item).parent().attr('class').split(' ')[1].split('_')[1];
            $.each($(item).children('li'), function(j,star){  
                var position = $(star).attr('id').split('_')[1];
                if(rating != 0){
                    if(position <= rating){
                        $(star).addClass('on');
                    }else{
                        $(star).addClass('off');
                    }                         
                }
            });
        });
    }

    checkRating();
    
    $('#results fieldset>label').live('click', function(){
        if($(this).hasClass('active')){
            $(this).next('ul').slideUp();
            $('#results fieldset>label.active').removeClass('active');
        }else{
            $('#results fieldset>label.active').next('ul').slideUp();
            $('#results fieldset>label.active').removeClass('active');
            $(this).addClass('active');
            $(this).next('ul').slideDown();
        }   
    });
    
    if($.browser.msie){
        $('#results ul li label').live('click', function(){
           if($(this).children().is(":checked")){
               $(this).addClass('checked');
           }else{
               $(this).removeClass('checked');    
           }
       });
       
       $('#results form input[type="submit"]').live('click', function(){
           $(this).submit();
           return false;
       })
       
    }
    
    $('#results ul li label input[type="checkbox"]').live('change', function(){
        if($(this).is(":checked")){
            $(this).parent().addClass('checked');
        }else{
            $(this).parent().removeClass('checked');    
        }
    });
    
    $('#results form').live('submit', function(e){
        e.preventDefault();
        $('#results fieldset>label.active').next('ul').slideUp();
        $('#results fieldset>label.active').removeClass('active');
        $.get($(this).attr('action'), $(this).serialize(), function(data){
            $('#results div.scroll').html(data);
            checkRating();
            reinitialiseScrollPane();
        });
        return false;
    });
    
    $('#results .rating ul li').live('mouseenter', function(){
       var id = $(this).attr('id');
       $.each($(this).parent().children(), function(i, item){
           if($(item).attr('id') <= id){
               $(item).addClass('full');
           }else{
               $(item).addClass('empty');
           }
       });
    });
    $('#results .rating ul li').live('mouseleave', function(){
       $('#results .rating ul li').removeClass('full').removeClass('empty');
    });
    
    $('#results .rating ul li').live('click', function(){
        var id = $(this).attr('id').split('_')[1];
        var indication = $(this).parent().attr('id').split('_')[1];
        var url = $('#results .scroll form').attr('action')+indication+'/';        
        $('#results .scroll form #id_value').val(id);
        $.post(url,$('#results .scroll form').serialize(), function(data){
            if (data == 'erro'){
                $('#results #re_'+indication+' div.rating .message').hide();

                $('#results #re_'+indication+' div.rating .error').fadeIn(1000);
                
            }else if(data != 'falha'){
                $('#results #re_'+indication+' div.rating')[0].className = $('#results #re_'+indication+' div.rating')[0].className.replace(/\bid_.\d*?\b/g, '');
                $('#results #re_'+indication+' div.rating').addClass('id_'+parseInt(data,10));
                $('#results #re_'+indication+' div.rating .message').fadeIn(1000);
                $('#results #re_'+indication+' div.rating ul li').removeClass();
                $.each($('#results #re_'+indication+' div.rating ul').children('li'), function(i,star){                      
                    if($(star).attr('id').split('_')[1] <= data){
                        $(star).addClass('on');
                    }else{
                        $(star).addClass('off');
                    } 
                });
            }
        }); 
    });
});
