function Search_Focus(sender, searchDiv)
{
    document.getElementById(searchDiv).className = "search search_active";
    if (sender.value == 'Hledat...') sender.value = ''; 
}
function Search_Blur(sender, searchDiv)
{
    document.getElementById(searchDiv).className = "search";
    if (sender.value == '') sender.value = 'Hledat...'; 
}

function SearchItem_Populated(sender, e) {
    var searchItems = sender.get_completionList().childNodes;
    for (var i = 0; i < searchItems.length; i++) {
        var valueParsed = searchItems[i]._value.split("@@@");
        if (valueParsed[0] == "")
        {
            searchItems[i].innerHTML = 
                    "<img class='leftimg' src='/images/ac_folder.gif'/>" + 
                    "<div class='left'>"  + searchItems[i].innerHTML + "</div>" +  
                    "<div class='right'><img src='/images/ac_point.gif'/></div>";
            searchItems[i].className = "autocomplete_listCateg";
        }
        else
        {
            searchItems[i].innerHTML = 
                    "<img class='leftimg' src = '/obrazek/" + valueParsed[0] + "?index=&amp;size=M'/>" + 
                    "<div class='left''>"  + searchItems[i].innerHTML + "</div>" +  
                    "<div class='right'>" + valueParsed[2] + "</div>";
        }
    }
}
function SearchItem_Selected(source, eventArgs) {
    var idx = source._selectIndex;
    var searchItems = source.get_completionList().childNodes;
    var value = searchItems[idx]._value;
    var valueParsed = value.split("@@@");
    source.get_element().value = 'Hledat...';
    location.href = valueParsed[1] + "?q=" + escape(SearchItem_OldSearchValue) + "&cat=instant";
    
}
function SearchItem_ItemOver(source, eventArgs) {
    var valueParsed = eventArgs._item._value.split("@@@");
    if (valueParsed[0] == "") eventArgs._item.className = "autocomplete_highlightedCateg";
}
function SearchItem_ItemOut(source, eventArgs) {
    var valueParsed = eventArgs._item._value.split("@@@");
    if (valueParsed[0] == "") eventArgs._item.className = "autocomplete_listCateg";
}

var SearchItem_MouseOverDelegate;
var SearchItem_MouseDownDelegate;
var SearchItem_KeyDownDelegate;
var SearchItem_OldSearchValue;
var SearchItem_IsMouseOverTracker = false;

function SearchItem_Shown(source, eventArgs) 
{
    if (SearchItem_MouseOverDelegate == null)
    {
        SearchItem_MouseOverDelegate = Function.createDelegate(source, SearchItem_MouseOver);
        SearchItem_MouseDownDelegate = Function.createDelegate(source, SearchItem_MouseDown);
        SearchItem_KeyDownDelegate   = Function.createDelegate(source, SearchItem_KeyDown);
    }

    $removeHandler(source._completionListElement, "mouseover",  source._mouseOverHandler);
    $removeHandler(source._completionListElement, "mouseover",  SearchItem_MouseOverDelegate);
    $addHandler(source._completionListElement,    "mouseover",  SearchItem_MouseOverDelegate);

    $removeHandler(source._completionListElement, "mousedown",  source._mouseDownHandler);
    $removeHandler(source._completionListElement, "mousedown",  SearchItem_MouseDownDelegate);
    $addHandler(source._completionListElement,    "mousedown",  SearchItem_MouseDownDelegate);

    $removeHandler(source.get_element(),          "keydown",    source._keyDownHandler);
    $removeHandler(source.get_element(),          "keydown",    SearchItem_KeyDownDelegate);
    $addHandler(source.get_element(),             "keydown",    SearchItem_KeyDownDelegate);
    
    SearchItem_OldSearchValue = source.get_element().value;
}

function SearchItem_Hidden(source, eventArgs) 
{
    $removeHandler(source._completionListElement, "mouseover", SearchItem_MouseOverDelegate);
    $removeHandler(source._completionListElement, "mousedown", SearchItem_MouseDownDelegate);
}

SearchItem_MouseOver = function(ev) { 
    if (!SearchItem_IsMouseOverTracker)
    {
        SearchItem_IsMouseOverTracker = true;
        bothTrackEvent('vyhledavani', 'vyhledavani_onmouseover');
    }
    if (ev.target.tagName != "LI") ev.target = ev.target.parentNode;
    this._mouseOverHandler(ev);
}

SearchItem_MouseDown = function(ev) { 
    if (ev.target.tagName != "LI") ev.target = ev.target.parentNode;
    ev.target = ev.target.childNodes[1];
    this._mouseDownHandler(ev);
}

SearchItem_KeyDown = function(ev) {
    var k = ev.keyCode ? ev.keyCode : ev.rawEvent.keyCode;
    if (k === Sys.UI.Key.enter) 
    {
        if (this._selectIndex !== -1) {
            this._setText(this._completionListElement.childNodes[this._selectIndex].childNodes[1]);
            ev.preventDefault();
        } else {
            // close the popup
            this.hidePopup();
        }
    }   
    else
    {
        this._keyDownHandler(ev);
    }
}

