﻿
function ratingMouseOver(obj)
{
    if (!$(obj.parentNode).attr('is_no_edit'))
    {
        var size = $(obj.parentNode).attr('size');
        
        $(obj).addClass('rating_red_'+size);
        $(obj).prevAll().addClass("rating_red_"+size);
    }
}

function ratingMouseOut(obj)
{
    if (!$(obj.parentNode).attr('is_no_edit'))
    {
        var size = $(obj.parentNode).attr('size');
        
        $(obj).removeClass('rating_red_'+size);
        $(obj).prevAll().removeClass('rating_red_'+size);
    }
}

function setVote(obj)
{
    //if (!$(obj.parentNode).attr('is_no_edit'))
    {
        var params = {
            ro: $(obj.parentNode).attr('id_ro'),
            rv: $(obj).prevAll().length+1,
            ri: $(obj.parentNode).attr('id_item'),
            rl: _GlobalRatingLanguage
        };
        
        var url = "/_modules/rating/rating.ashx";
        
    $.ajax({
        type: "POST",
        url: url,
        data: params,
        dataType: "json",
        success:  function(data) {
            if (data.error_message)
            {
                alert(data.error_message);
            }
            else
            {
                afterSetVote(obj, data, params.rv);
            }
        },
        error:  function() {
            alert("Произошла ошибка на вызываемой странице.\nВаш голос не был засчитан.");
        }
    });        
        
    }
}

function afterSetVote(obj, data, rv)
{
    var size = $(obj.parentNode).attr('size');
    
    $(obj.parentNode).attr('is_no_edit', 'true');    
    $(obj).addClass('rating_red_'+size);
    $(obj).prevAll().addClass("rating_red_"+size);
    
    var id = $(obj.parentNode).attr('id_ro')+'_'+$(obj.parentNode).attr('id_item');
    
    var size = $('#vote_star_'+id+'_').attr('size');
    
    $('#vote_star_'+id+'_ > div').css('width', (data.ra * _GlobalRatingStarWidth[size]) + 'px');
    
    //устанавливаем титл
    setRatingTitle($("a#vote_title_" + data.ro + "_" + data.ri + "_info").get(0), data.ra, data.rt);
    setRatingTitle($("a#vote_title_" + data.ro + "_" + data.ri).get(0), data.rv, data.rt);
}


//меняем титлы у рейтингов
function setRatingTitle(aObj, value, ratingCount) {
    var title = aObj.title;
    var idx = title.indexOf(":");
    var idx_last = title.lastIndexOf(":");
    var result = title.substring(0, idx + 2) + value;
    if ((idx != idx_last) && (idx_last > -1)) {
        var idx_part = title.indexOf(";");
        result += title.substring(idx_part, idx_last + 2) + ratingCount;
    }
    aObj.title = result;
}

