/*
 * jfwRate
 * by jatt www.w3page.eu
 * 2011_04_23
 *
 */
(function($) 
{
    $.fn.jfwRate = function() {
        return this.each(
            function(i) {
                var t;  //timer for reread rated values
                var _parent = $(this);
                var _stars = $("<div/>").addClass("stars");
                _stars.prependTo(_parent);
                var id = _parent.attr("id")
                for(h=1;h<6;h++){
                    $("<a/>", {
                        "class": "star",
                        "id":"rate_"+h,
                        click: function(){
                            $.ajax({
                                type: 'GET',
                                url: baseUrl + 'ajax/rate.php',
                                async: true,
                                cache: false,
                                dataType : "json",
                                data: 'module=rate&id=' + id + '&rate=' + $(this).attr("id"),
                                success: function(jsonData)
                                {
                                    $.each(jsonData, function(i, item){
                                        $("#" + id).children(".msg").children(".avg_rate").text(item.avg_rate);
                                        $("#" + id).children(".msg").children(".total_votes").text(item.votes);
                                        $("#" + id).children(".msg").children(".ratemsg").text(item.msg);
                                        setTimeout(function(){$("#" + id).children(".msg").children(".ratemsg").text('');},2000);
                                        //infoDiag(language.notice,item.msg,language.close);
                                        setRate($("#"+id),item.avg_rate);
                                    });
                                    
                                },
                                error: function(request, error, errThrown) {
                                    //alert("Error: " + request + "\n" + "Desc.: " + error + "Thrown: " + errThrown);
                                }
                            });   
                        }
                    }).hover(  
                        // mouseover  
                        function() {  
                            clearTimeout(t); //clear timeout for readRate
                            _stars.children(".star").removeClass('rate');
                            $(this).prevAll().andSelf().addClass('over');  // add over class
                        },  
                        // mouseout  
                        function() {  
                            _stars.children(".star").removeClass('over');
                            t = setTimeout(function(){readRate(_parent.attr("id"));}, 100);
                        }  
                    ).appendTo(_stars);
                }
                readRate(_parent.attr("id")); 
            }
        );
    };
    //read rate
    function readRate(id){
        var avg_rate = $("#" + id).children(".msg").children(".avg_rate").text();
        setRate($("#" + id),avg_rate);
    }
    // set rate
    function setRate(elet,rt){
        rt = Math.round(rt);
        elet.children(".stars").children(".star").removeClass('over');
        elet.children(".stars").children(".star").removeClass('rate');
        rt = rt-1;
        for(i=0;i<=rt;i++){
            elet.children(".stars").children(".star").eq(i).addClass('rate');    
        }
    }
})(jQuery);

        
