var SEARCH = "Поиск по сайту...";

var PRODUCT_DESCRIPTIONS = {};
var LAST_REQUEST = null;

items = $("#main-menu a");
items.mouseover(function () { $(this).parent().addClass("hover"); });
items.mouseout(function () { $(this).parent().removeClass("hover"); });

search_entry = $("#search-entry");
search_entry.val(SEARCH);

$("a.external").attr("target", "_blank");

search_entry.focus(function ()
{
    $(this).addClass("focused");
    if ($(this).val() == SEARCH)
        $(this).val("");
});

search_entry.blur(function ()
{
    $(this).removeClass("focused");
    if ($(this).val().replace(/^\s+|\s+$/, "") == "")
        $(this).val(SEARCH);
});

sm_items = $("#sitemap > li");
sm_items.mouseover(function() { $(this).addClass("hover"); });
sm_items.mouseout(function() { $(this).removeClass("hover"); });

rate_links = $(".rating a");
rate_links.click(function ()
{
    href = $(this).attr("href") + "&json=1&time=" + (new Date());
    $(this).attr("href", "javascript:void(0)");

    $(".rating a").addClass("hidden");

    $("#rater").addClass("star-waiting");
    $.getJSON(href, function(data) {
        $("#rater").removeClass("star-waiting");
        current = $(".current-rating");
        current.css("width", data.rate + "%");
        current.text(data.rate + " из 100");
        $("#voters_count").text(data.voters);
    });
});

feedback_btn = $("#feedback-form .button");
if (feedback_btn)
{
    $("#feedback-form").submit(function (){ return false; });

    feedback_btn.click(function (){
        form = $("#feedback-form");
        form.find(".status").remove();

        has_errors = false;
        form.find("#feedback-subject, #feedback-body").each(function (){
            if (jQuery.trim($(this).attr("value")) == "")
            {
                $(this).after('<div class="status inline-error">Пожалуйста, заполните это поле.</p>');
                has_errors = true;
            }
        });

        sender = form.find("#feedback-sender");
        v = jQuery.trim(sender.val());
        r = new RegExp("^[a-z0-9_\\+-]+(\\.[a-z0-9_\\+-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*\\.([a-z]{2,4})$");
        if (v == "")
        {
            sender.after('<div class="status inline-error">Пожалуйста, заполните это поле.</p>');
            has_errors = true;
        }
        else if (!r.test(v))
        {
            sender.after('<div class="status inline-error">Пожалуйста, введите корректный e-mail.</p>');
            has_errors = true;
        }

        if (has_errors)
            return;

        form.find(".textbox, select, textarea").attr('disabled', true);
        form.find(".buttons").addClass("hidden");
        form.append('<div class="waiting">Ваше сообщение отправляется...</p>');

        jQuery.getJSON("/feedback/",
            {
                'json': '1', 'time': new Date(),
                'feedback-sender': form.find("#feedback-sender").val(),
                'feedback-subject': form.find("#feedback-subject").val(),
                'feedback-body': form.find("#feedback-body").val(),
                'feedback-reciever': form.find("#feedback-reciever").val()
            }, function (data) {
            form = $("#feedback-form");
            form.find(".waiting").remove();
            form.find(".textbox, textarea, select").attr('disabled', false);
            buttons = form.find(".buttons");
            buttons.before('<div class="status ' + data.status + '">' + data.msg + '</p>');
            buttons.removeClass("hidden");
            if (data.status != "error")
            {
                sender = form.find("#feedback-sender")
                v = sender.val()
                form[0].reset();
                sender.val(v)
            }
        });
    });
}

$(".ajax-action").each(function (){
    href = $(this).attr("href");
    $(this).attr("href", "javascript:ajax_action('" + $(this).attr("id") +
                 "', '" + href + "&json=1')");
});

$(".tradein-ajax-action").each(function (){
    href = $(this).attr("href");
    $(this).attr("href", "javascript:tradein_ajax_action('" + $(this).attr("id") +
                 "', '" + href + "&ajax_call=1')");
});

function ajax_action(sender, href)
{
    target = jQuery("#"+sender);
    target.removeAttr("class");
    target.addClass("star-waiting");

    $.getJSON(href + '&sender=' + sender, function (data) {
        target = $("#" + data.sender);
        target.removeClass("star-waiting");
        target.addClass(data.result);
        target.addClass("iePNG");
    });
}

function tradein_ajax_action(sender, action)
{
    target = jQuery("#"+sender);
    target.removeAttr("class");
    target.addClass("star-waiting");

    $.getJSON(action, function (data) {
        id = "action-" + data.id;
        target = $('#' + id);
        target.removeAttr("class");
        target.addClass("iePNG");
        target.addClass(data.state);
        target.html(data.title)
        target.attr("title", data.title)
        target.attr("href", "javascript:tradein_ajax_action('" + id +
                     "', '" + data.action + "&ajax_call=1')");
    });
}
