﻿function acePopulatedInner(sender, e, i) {
    var behavior;
    if (i == 1) {
        behavior = $find('AutoCompleteEx');
    }
    else {
        behavior = $find('AutoCompleteEx2');
    }
    
    var target = behavior.get_completionList();

    if (behavior._currentPrefix != null) {
        var prefix = behavior._currentPrefix.toLowerCase();
        var i;

        for (i = 0; i < target.childNodes.length; i++) {
            var sValue = target.childNodes[i].innerHTML.toLowerCase();
            if (sValue.indexOf(prefix) != -1) {
                var fstr = target.childNodes[i].innerHTML.substring(0, sValue.indexOf(prefix));
                var pstr = target.childNodes[i].innerHTML.substring(fstr.length, fstr.length + prefix.length);
                var estr = target.childNodes[i].innerHTML.substring(fstr.length + prefix.length, target.childNodes[i].innerHTML.length);
                target.childNodes[i].innerHTML = fstr + "<b>" + pstr + '</b>' + estr;
            }
        }
    }
}

function acePopulated(sender, e) {
    acePopulatedInner(sender, e, 1);
}

function acePopulated2(sender, e) {
    acePopulatedInner(sender, e, 2);
}

function aceSelected(sender, e) {
    var value = e.get_value();
    if (!value) {
        if (e._item.parentElement && e._item.parentElement.tagName == "LI")
            value = e._item.parentElement.innerText;
        else if (e._item.parentElement && e._item.parentElement.parentElement.tagName == "LI")
            value = e._item.parentElement.parentElement.attributes["textContent"].value;
        else if (e._item.parentNode && e._item.parentNode.tagName == "LI")
            value = e._item.parentNode.textContent;
        else if (e._item.parentNode && e._item.parentNode.parentNode.tagName == "LI")
            value = e._item.parentNode.parentNode.textContent;
        else value = "";
    }
    else {
        if (e._item.textContent == null) {
            value = e._item.innerText;
        }
        else {
            value = e._item.textContent;
        }
    }
    //var searchText = $get('<%=SearchBox.ClientID %>').value;
    //searchText = searchText.replace('null', '');
    sender.get_element().value = value
    saveAutoCompleteValue(sender, e);
}

function clearAutoCompValue(e, id) {
    var keynum;

    if (window.event) // IE
    {
        keynum = e.keyCode;
    }
    else if (e.which) // Netscape/Firefox/Opera
    {
        keynum = e.which;
    }
    if (keynum != 13) {
        var hf = document.getElementById(id);
        hf.value = '';
    }
}  
