function setup_gift_images()
{
    var buffer;
    
    ///
    $("#TB_ajaxContent, #TB_window").css({"overflow" : "visible", "padding" : 0});
    $("#TB_ajaxContent.TB_modal").css({"overflow" : "visible", "padding" : 0});
    ///

    $('div.rating_gift').each(function() {
        var elm = this;

        if (elm.lang) elm.rate = $.parseJson(elm.lang);
            
        elm.rate.top = 0;
        elm.rate.replaced = 0;
        
        if(elm.rate.num == null)
        {
            $(this).addClass('clickable');
        }
        
        $(elm).mouseover(function() {
            if ($(elm).is('.hidden_gift')) $(elm).css({ "background-position": "top right" });
            if(elm.rate.num>=0 && !tb_active)
            {
                $(elm).parent('.rating_gift_cell_thin').addClass('over_index');
                $("#gt"+elm.rate.num).show();
            }
        }).mouseout(function() {
            if ($(elm).is('.hidden_gift')) $(elm).css({ "background-position": "top left" });
            if(elm.rate.num>=0 && !tb_active)
            {
                $(elm).parent('.rating_gift_cell_thin').removeClass('over_index');
                $("#gt"+elm.rate.num).hide();
            }
        }).click(function() {
            if (!elm.rate) {return false;}
            
            var is_hidden = $(elm).is('.hidden_gift');
            var vote;
           
            if(tb_active)
            {
                var data = elm.rate;
                selected_gift=data;

                $("#gifts_gift_image").html("<img src='/static/_def/i/gifts/big/" + data.image + ".jpg'>");
                $("#gifts_gift_title").text(data.title);

                gifts_step(2);
            }
        });
    });

    $("#gifts_gift_message").bind("keyup", function(){
        var limit = 60;
        var text;
        
        text = $(this).val();

        if(text.length > limit)
        {
           text = text.substr(0,limit)
           $(this).attr('value',text);
        }
        $("#gifts_words_counter").text(limit - text.length);
        $("#gifts_words_counter").removeClass("pencil_active");
        $("#gifts_words_counter").addClass("pencil");
    }).bind("keydown", function(){
        $("#gifts_words_counter").removeClass("pencil");
        $("#gifts_words_counter").addClass("pencil_active");
    });
}

function send_gift(free_allowed)
{
    var mobile_number = $('#mobile_number').val();
    var message = $('#gifts_gift_message').val();
    var phonesms = /^[\d+]{10,12}$/;

    $("#gifts_error").html('').removeClass("gift_error");
    $("#gifts_send_btn").hide();

    if (!phonesms.test(mobile_number))
    {
        $("#gifts_error").html(gift_errors.invalid_mobile_number).addClass("gift_error");
        $("#gifts_send_btn").show();
    }
    else
    {
        $.post("/_ratings/vote_gifts.php",
            {
                "gift" : selected_gift.id,
                "oid"  : selected_gift.oid,
                "fid"  : selected_gift.fid,
                "message" : message,
                "free_allowed" : free_allowed,
                "mobile_number" : mobile_number
            },
            function(data){

                data = $.parseJson(data);

                if(data.status && data.status == "error")
                {
                    $("#gifts_error").text(data.description).addClass("gift_error");
                    $("#gifts_send_btn").show();
                }
                else
                {
                    if (data.free.allowed)
                    {
                        $("span.last_free_notice_counter").text(data.free.counter);
                    }
                    else
                    {
                        $("a.last_free_button").removeClass("memlist_gift_btn_free").addClass("memlist_gift_btn");
                        $("b.last_free_stamp").removeClass("free_stamp").addClass("new_stamp");
                        $("div.last_free_notice").html("You have no free gifts any more");
                    }

                    gifts_step(3);
                }
            });
    }

    return false;
}

function gifts_step(step)
{
    $("#gifts_step1").hide();
    $("#gifts_step2").hide();
    $("#gifts_step3").hide();

    $("#gifts_step" + step).show();
    $("#gifts_title").html(gift_titles["title" + step]);
}