var page_data = {};

if (!page_data.rating) {
    page_data.rating = [];
}

function initRating()
{
    rating_obj = $("#rating");

    $("p.stars").pngFix();

    if (!rating_obj) {
        return;
    }

    if (!page_data.rating) {
        page_data.rating = {};
    }

    page_data.rating.current = $("#vote").val();

    rating_obj.bind("mousemove.rating", rating_mousemove);
    rating_obj.bind("mouseover.rating", rating_mouseover);
    rating_obj.bind("mouseout.rating", rating_mouseout);
    rating_obj.bind("click.rating", rating_click);

    rating_obj.trigger("mouseout.rating");
}

function rating_mousemove(e)
{
    var cur_rating = get_rating(e);

    $(this).css("background-position", ((cur_rating * 20) - 100) + "px 0");
    $(".helper", $(this).parent()).text(rating_helper[cur_rating]);
}

function rating_mouseover(e)
{
    $(".caption", $(this).parent()).hide();
}

function rating_mouseout(e) {
    var rating = page_data.rating.current ? page_data.rating.current : 0;
    $(this).css("background-position", ((rating * 20) - 100) + "px 0");
    $(".caption", $(this).parent()).show();
    $(".helper", $(this).parent()).text(rating_helper[rating]);
}

function rating_click(e)
{
    page_data.rating.current = get_rating(e);
    $("#vote").val(page_data.rating.current);
    $("#rate_form").submit();
}

function get_rating(e) {
    return Math.min(Math.ceil((e.clientX - $(e.target).offset().left) / 20), 5);
}
