function hledaniAutocompleteFormatItem(item, position, length)
{
    return '<div class="item item_'+(position%2+1)+'_of_2"><span class="pocet">' + item[1] + ' &times;</span> ' + item[0] + '<div class="clearing"></div></div>';
}

function hledaniMetaPridat(hodnota)
{
    var e_qx = document.getElementById('qx');
    e_qx.value = e_qx.value.replace(hodnota, '');
    e_qx.value += ' ' + hodnota;
    normalizovatHledani();
}

function hledaniMetaOdebrat(hodnota)
{
    var e_qx = document.getElementById('qx');
    e_qx.value = e_qx.value.replace(hodnota, '');
    normalizovatHledani();
}

function hledaniMetaCheckbox(element)
{
    if (element.checked)
        hledaniMetaPridat(element.value);
    else
        hledaniMetaOdebrat(element.value);
}

function normalizovatHledanyText(text)
{
    return text.replace(/^\s+/, "").replace(/\s+$/, "").replace(/\s+/, " ");
}

function normalizovatHledani()
{
    document.getElementById('q').value = normalizovatHledanyText(document.getElementById('q').value);
    document.getElementById('qx').value = normalizovatHledanyText(document.getElementById('qx').value);
}

function produktDetailKlicovaSlovaHledaniSubmit(form)
{
    var dotaz = '';
    $(form).find('input[type=checkbox]').each(function(){
        
        if (this.checked)
        {
            //console.log(this);
            var v = this.value;
            if (v.indexOf(' ') >= 0)
                v = '"' + v + '"';
            dotaz += ' ' + v;
        }
    });
    dotaz = dotaz.substr(1);
    $(form).find('input[name=q]').val(dotaz);
}

function hledaniZmenitStranku(event)
{
    if (event.which != 13)
        return;
    var e = event.target;
    if ((e.value) && (e.value != e.defaultValue))
    {
        i = parseInt(e.value);
        if (i > 0)
            window.location = window.location.href.replace(/&qoffset=\d+/, '') + '&qoffset=' + hledani.limit * (i - 1);
    }
}

function refreshRozsirenehoHledani()
{
    var filter = $("#qx");
    var vybranePolozkyVeFilteru = filter.val().split(" ");
    var lang = $("#langValueRozsireneHledani").val();
    var vyslednyText = '';
    var id, nazev;

    vyslednyText += '<div class="vybrane">';
    odstranovaciOdkazy = '';
    for(var data in hledaniData)
    {
        for(var vybrane in vybranePolozkyVeFilteru)
        {
            if(hledaniData[data]['hodnoty'][vybranePolozkyVeFilteru[vybrane]] == undefined) continue;
            nazev = hledaniData[data]['hodnoty'][vybranePolozkyVeFilteru[vybrane]]['nazev'][lang];
            id = vybranePolozkyVeFilteru[vybrane];
            odstranovaciOdkazy += '<span class="rozsireneHledaniLink" onclick="zmenaVyberuFiltru(this);" name="' + id + '">' + nazev + '</span>';
        }    
    }
    vyslednyText += odstranovaciOdkazy;
    
    $('#rozsireneHledaniNastaveneFiltry').html(odstranovaciOdkazy);
    if (odstranovaciOdkazy == '')
        $('#rozsireneHledaniNastaveneBlok').hide();
    else
        $('#rozsireneHledaniNastaveneBlok').show();
    vyslednyText += '<div class="clearing"></div></div>';

    vyslednyText += '<div class="itemsBlok">';
    for(data in hledaniData)
    {
        vyslednyText += '<div class="items">';
        vyslednyText += '<h3>' + hledaniData[data]['nazev'][lang] + '</h3>';

        for(var hodnota in hledaniData[data]['hodnoty'])
        {
            id = hledaniData[data]['hodnoty'][hodnota]['id'];
            nazev = hledaniData[data]['hodnoty'][hodnota]['nazev'][lang];
            vyslednyText += '';
            if($.inArray(id, vybranePolozkyVeFilteru) != -1)
                vyslednyText += '<span class="rozsireneHledaniLink" onclick="zmenaVyberuFiltru(this);" name="' + id + '">' + nazev + '</span>';
            else
                vyslednyText += '<a href="#" class="rozsireneHledaniLink" onclick="zmenaVyberuFiltru(this); return false;" name="' + id + '">' + nazev + '</a>';
            vyslednyText += '';
        }
        
        vyslednyText += '<div class="clearing"></div></div>';
    }
    vyslednyText += '</div>';
    $('#rozsireneHledani').html(vyslednyText);
    //$('#logo').html($.browser.version);
    $('#rozsireneHledani .itemsBlok').height(360 - $('#rozsireneHledani .vybrane').height() + (($.browser.msie && $.browser.version == '7.0') ? 519 : 0)); // HACK
}

function otevritRozsireneHledani()
{
    refreshRozsirenehoHledani();
    $.fn.colorbox({
        href: '#rozsireneHledaniBlok',
        scrolling: false,
        inline: true,
        width: 946,
        height: 543,
        onComplete: refreshRozsirenehoHledani
    });
}

function zmenaVyberuFiltru(e){
    var val = $(e).attr("name");
    if($(e).attr("href") != undefined){
        hledaniMetaPridat(val);
    }else{
        hledaniMetaOdebrat(val);
    }
    refreshRozsirenehoHledani();
    return false;
}

$(document).ready(function(){
    document.velikost_okno_sirka = $(document).width();
    document.velikost_okno_vyska = $(window).height();
    document.vetsiNahledTimeout = false;
});

function vetsiNahledZobrazit(ev)
{
    if (document.vetsiNahledTimeout)
        clearTimeout(document.vetsiNahledTimeout);
        
    $('.photo_list_item').css('z-index', 0);
    $('.photoThumbnailHover').hide();
    var container = $(ev.target).parents('.photo_list_item').children('.photoThumbnailHover');
    var img = $('img.nahledStredni', container);
    var reposition = function(){
        var horniOkraj = container.offset().top;
        //console.log('top: ' + horniOkraj);
        var pravyOkraj = container.width() + container.offset().left;
        var dolniOkraj = container.height() + container.offset().top;

        var p;

        p = pravyOkraj+20 - document.velikost_okno_sirka;
        if(p > 0)
            container.css("left", "-" + p + "px");

        p = dolniOkraj+20 - $(document).scrollTop() - document.velikost_okno_vyska;
        if (p > 0)
            container.css("top", "-" + p + "px");

        p = $(document).scrollTop() - horniOkraj+20;
        //console.log(p);
        if (p > 0)
            container.css("top", "" + p + "px");
    };
    if (img.attr('alt') != '')
    {
        img.bind('load.thumbHover', reposition);
        img.attr('src', img.attr('alt'));
        img.attr('alt', '');
    }

    document.vetsiNahledTimeout = setTimeout(function() {
        document.vetsiNahledTimeout = false;
        container.parents('.photo_list_item').css('position', 'relative').css('z-index', 1000);
        container.show();
        reposition();
        $(document).bind('scroll.thumbHover', reposition);
    }, 1000);
}

function vetsiNahledSkryt(ev)
{
    if (ev.target.className.match(/photoThumbnailHover/))
    {
        if (document.vetsiNahledTimeout)
            clearTimeout(document.vetsiNahledTimeout);
        else
        {
            $(document).unbind('scroll.thumbHover');
            $(ev.target).hide();
            $(ev.target).parents('.photo_list_item').css('position', '');
            $('.photo_list_item').css('z-index', 0);
        }
    }
}

function nastavitKvalituProduktu(produktId, kvalita)
{
    $.get('/ajax/nastavitKvalituProduktu', { 'id': produktId, 'kvalita': kvalita });
}

function nastavitNevyhledatelnyProdukt(produktId, nevyhledatelny)
{
    $.get('/ajax/nastavitNevyhledatelnyProdukt', { 'id': produktId, 'nevyhledatelny': nevyhledatelny ? '1' : '0'});
}

