$(document).ready(function() {

    $('.review').each(function(){
    
        var review = $(this).attr('review');
        var votes = $(this).attr('votes');
        
        if(review == "") review = 0;   
        if(votes == "") votes = 0;
        
        for(var i = 0; i < 5; i ++){
            if(i < review){
                $(this).append("<img nr='"+i+"' class='ster full' src='/gfx/review-ster-full.png'>");
            } else {
                $(this).append("<img nr='"+i+"' class='ster empty' src='/gfx/review-ster-empty.png'>");
            }
        }
        
        
        
        $(this).append("<div class='result'></div>");
        $(this).css("color","black");
    });
    
    $('.review .ster').click(function(){
        
        var result = parseInt($(this).attr('nr')) + 1;
        var DOMresult = $(this).parent().parent().find('.result');
        
        $(this).closest('.review').addClass('locked');
        
            $(this).closest('.review').find('.ster').each(function(){

                if($(this).attr('nr') > result - 1){
                $(this).attr('src','/gfx/review-ster-empty.png');
                } else {
                $(this).attr('src','/gfx/review-ster-full.png');
                }                    
           
            });  
        
        if(result == DOMresult.attr("sterren")){
        DOMresult.html("");
        DOMresult.attr("sterren","");
        $(this).closest('.review').removeClass('locked');
        } else {
        DOMresult.attr("sterren",result);
        DOMresult.html("Je hebt dit restaurant <b>" + result + "</b> ster(ren) gegeven");
        DOMresult.append('<p><div class="bericht">Voer je <b>reserveringscode</b> in om je stem te bevestigen</div><input type="text" style="width:85px;border-width:1px;border-color:#919191;color:black;" class="input-reserveringscode" naam="reserveringscode" title="Reserveringscode"><img class="review-submit" style="margin-left:3px;cursor:pointer;" src="/gfx/form-versturen"></p>');
        
            $('.review-submit').click(function(){
                
                var restaurant = $(this).closest('.review').attr('restaurant');
                var reserveringscode = $(this).siblings('.input-reserveringscode').val();
                var sterren = result;
                
                
                var DOM_result = $(this).closest('.result');
                
                jQuery.ajax({
                   type: "GET",
                   url: "/jquery.ajax.php",
                   data: {
                   action: "checkReviewCode",
                   restaurant: restaurant,
                   reserveringscode: reserveringscode,
                   sterren: sterren
                   },
                   success: function(msg){
                        DOM_result.find('.bericht').html(msg);
                   }
                 });
            
            });        
        }
    });

    $('.review .ster').hover(
        function(){    
            $(this).css("cursor","pointer");
            
            var current = $(this).attr('nr');
            
            $(this).parent().find('.ster').each(function(){
            
                if(!$(this).parent().hasClass('locked')){
                
                    if($(this).attr('nr') > current){
                    $(this).attr('src','/gfx/review-ster-empty.png');
                    } else {
                    $(this).attr('src','/gfx/review-ster-full.png');
                    }                    
                }                
            });        
        },
        function(){
            
            $(this).parent().find('.ster').each(function(){
            
                if(!$(this).parent().hasClass('locked')){
            
                    if($(this).hasClass('full')){
                    $(this).attr('src','/gfx/review-ster-full.png');
                    } else {
                    $(this).attr('src','/gfx/review-ster-empty.png');
                    }    
                }        
            });    
        }
    );
});
