/*
 *      SEARCH
 */
$(document).ready(function() {

    $("#searchInput").autocomplete({
                source: '/autocompleteSearch.dhtml',
                minLength: 2,
                select: function(event, ui) {
//                    location.href = '/items.dhtml?itemId=' + ui.item.id + "&search=true";
//                    if (ui.item.type == 'item') $("#mainSearchForm input[name=itemId]").val(ui.item.id);
//                    if (ui.item.type == 'author') $("#mainSearchForm input[name=authorId]").val(ui.item.id);
//                    $("#mainSearchForm").submit();
                    if (ui.item.type == 'category') location.href = '/' + ui.item.seoName;
                    if (ui.item.type == 'author') location.href = '/' + ui.item.seoName + '/a' + ui.item.id;
                    if (ui.item.type == 'item') location.href = '/' + ui.item.seoName + '/d' + ui.item.id;
                }
            });

    $.ui.autocomplete.prototype._renderItem = function (ul, item) {
        item.label = item.label.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + $.ui.autocomplete.escapeRegex(this.term) + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong style='color:red;'>$1</strong>");

        var li;
        if (item.type == 'label') li = $("<li class='ui-autocomplete-category'></li>");
        else li = $("<li></li>");

        li.data("item.autocomplete", item)
        if (item.type == 'label') li.append(item.label)
        else  li.append("<a>" + item.label + "</a>")
        li.appendTo(ul);

        return li;
    };

    $("#searchInput").click(function() {
        $("#searchInput").val('');
        $("#itemId").val('');
        $("#authorId").val('');
    });

    /*$("#searchInput").click(function() {
     $("#searchInput").val("");
     });*/

    $("#searchInput").bind('focusout', function() {
        if ($("#searchInput").val() == '') {
            $("#searchInput").val("Napište název zboží");
        }
    });

});

/*
 *      OTHER CODE
 */

$(document).ready(function() {

    $("a[href*=(zavinac)]").each(function(index) {
        $(this).attr("href", $(this).attr("href").replace("(zavinac)", "@"));
        $(this).text($(this).text().replace("(zavinac)", "@"));
    });

    $(function() {
        //Thickbox
        $('#newsletterSubscribeForm').submit(function() {
            var email = $("#newsletterSubscribeForm input[name=email]").val();
            tb_show('', '/newsletterCustomerSubscribe.dhtml?height=80&width=400&subscribe=true&email=' + email);
            /*if ($(".errorMsg").length == 0) */
            $('#newsletterSubscribeForm').clearForm();
            return false;
        });
    });

    // search input
    $('#searchInput').bind('focus', function() {
        $("#searchInput").addClass("focused")
    });
    $('#searchInput').bind('blur', function() {
        $("#searchInput").removeClass("focused")
    });
    // inputs
     $('.highlightTextInput input[type=password]').bind('focus', function() {
         $(this).addClass("focused")
    });
     $('.highlightTextInput input[type=text]').bind('focus', function() {
        $(this).addClass("focused")
    });
     $('.highlightTextInput textarea').bind('focus', function() {
        $(this).addClass("focused")
    });
    $('.highlightTextInput input[type=password]').bind('blur', function() {
        $(this).removeClass("focused")
    });
    $('.highlightTextInput input[type=text]').bind('blur', function() {
        $(this).removeClass("focused")
    });
    $('.highlightTextInput textarea').bind('blur', function() {
        $(this).removeClass("focused")
    });

    // buttons
    $('.changeOnMouseover').bind('mouseover', function() {
        $(this).addClass("mouseon")
    });
    $('.changeOnMouseover').bind('mouseout', function() {
        $(this).removeClass("mouseon")
    });
    $('.changeClick').bind('click', function() {
        $(this).addClass("click");
        var t = setTimeout(function() {
            $('.changeClick').removeClass("click");
        }, 1000);
    });

    handleBasket();
    addToCartInit();
});

function handleBasket() {
    var headerCart = $("#headerBasketAmount");
    var headerCartBtn = $("#headerBasketRef");

    headerCart.hide();

    headerCartBtn.bind("mouseover", function() {
        headerCart.show();
    });

    headerCart.bind("mouseover", function() {
        headerCart.show();
    });

    headerCartBtn.bind("mouseout", function() {
        headerCart.hide();
    });

    headerCart.bind("mouseout", function() {
        headerCart.hide();
    });
}

function updateBasket() {
    $("#basket").load("/cartPreviewController.dhtml?uid=" + (new Date()).getTime() ,"", handleBasket);
}

function addToCartInit() {
    $('form.addToCart').unbind('submit');
    $('form.addToCart').bind('submit', function() {
        var params = $(this).serialize();
        tb_show('', '/addToCart.dhtml?height=120&width=480&' + params);
        updateBasket();
        return false;
    });
}

/*__SLIDER__*/
function initSlider(min, max, range, step) {
    $( "#slider-range" ).slider({
        step: step,
        range: true,
        min: min,
        max: max,
        values: range,
        slide: function( event, ui ) {
            updateLabels(ui.values[0], ui.values[1]);
        },
        change: function( event, ui ) {
            updateInputs(ui.values[0], ui.values[1]);
            $("#searchForm").submit();
        }
    });
}

function updateLabels(from, to) {
    $("#rangeFromLabel").text(from);
    $("#rangeToLabel").text(to);
}

function updateInputs(from, to) {
    $("input[name=priceWithVatFrom]").val(from);
    $("input[name=priceWithVatTo]").val(to);
}
