﻿var textTimerId = 0;

function SearchKeyPress(Event, btnId, txtId, divId, clientId, contentCSS) {
    var unicode = Event.keyCode ? Event.keyCode : Event.charCode;

    if (unicode == 13) {
        __doPostBack(btnId, 'tp=1');
    }
    else if (unicode == 38) {
        UpDownSelection(1, txtId, divId, clientId, contentCSS);
    }
    else if (unicode == 40) {
        UpDownSelection(2, txtId, divId, clientId, contentCSS);
    }
    else if (unicode != 91 && unicode != 27 && unicode != 45 && unicode != 93 && unicode != 144) {
        if (unicode < 16 || unicode > 20) {
            if (unicode < 113 || unicode > 123) {
                if (unicode < 33 || unicode > 40) {
                    clearTimeout(textTimerId);
                    var txt = document.getElementById(txtId);
                    if (txt.value != '') {
                        textTimerId = setTimeout('ExecuteAutoFill(\'' + txtId + '\', \'' + clientId + '\')', 350);
                    }
                    HideAutoFill(divId);
                }
            }
        }
    }
}

function ExecuteAutoFill(txtId, clientId) {
    var txt = document.getElementById(txtId);
    Populate.AutoFill(txt.value, clientId, displayAutoFill);
}

function displayAutoFill(retVal) {
    if (retVal != '') {
        var pnl = document.getElementById('ctl00_Menu1_s1_divSearchResult');
        pnl.innerHTML = retVal;
        pnl.style.display = 'block';
        pnl.style.width = '350px';
    }
    else {
        HideAutoFill('ctl00_Menu1_s1_divSearchResult');
    }
}

function UpDownSelection(Direction, txtId, divId, clientId, contentCSS) {
    var i = 0;
    var Selected = 0;
    var Option;
    var txt = document.getElementById(txtId);
    var pnl = document.getElementById(divId);
    if (txt.value != '' && pnl.style.display == 'block') {
        var NewValue;
        if (Direction == 1) {
            var MaxRow = 0;
            for (i = 0; i < 10; i++) {
                Option = document.getElementById(clientId + '_' + i);
                if (Option) {
                    if (i > MaxRow) MaxRow = i;
                    var Below = document.getElementById(clientId + '_' + (i + 1));
                    if (Below) {
                        if (Below.className == contentCSS + '_Selected') {
                            Option.className = contentCSS + '_Selected';
                            Selected += 1;
                            NewValue = document.getElementById(clientId + '_' + i + '_0').innerHTML;
                            var SecondParam = document.getElementById(clientId + '_' + i + '_1');
                            if (SecondParam) {
                                NewValue = NewValue + '.' + SecondParam.innerHTML;
                            }
                            txt.value = ClearTags(NewValue);
                        }
                        else {
                            Option.className = contentCSS + '_UnSelected';
                        }
                    }
                    else {
                        Option.className = contentCSS + '_UnSelected';
                    }
                }
            }
            if (Selected == 0) {
                var SelectOption = document.getElementById(clientId + '_' + MaxRow);
                if (SelectOption) {
                    SelectOption.className = contentCSS + '_Selected';
                    NewValue = document.getElementById(clientId + '_' + MaxRow + '_0').innerHTML;
                    var SecondParam = document.getElementById(clientId + '_' + MaxRow + '_1');
                    if (SecondParam) {
                        NewValue = NewValue + '.' + SecondParam.innerHTML;
                    }
                    txt.value = ClearTags(NewValue);
                }
            }

        }
        else {
            for (i = 9; i >= 0; i--) {
                Option = document.getElementById(clientId + '_' + i);
                if (Option) {
                    var Above = document.getElementById(clientId + '_' + (i - 1));
                    if (Above) {

                        if (Above.className == contentCSS + '_Selected') {
                            Option.className = contentCSS + '_Selected';
                            Selected += 1;
                            NewValue = document.getElementById(clientId + '_' + i + '_0').innerHTML;
                            var SecondParam = document.getElementById(clientId + '_' + i + '_1');
                            if (SecondParam) {
                                NewValue = NewValue + '.' + SecondParam.innerHTML;
                            }
                            txt.value = ClearTags(NewValue);
                        }
                        else {
                            Option.className = contentCSS + '_UnSelected';
                        }
                    }
                    else {
                        Option.className = contentCSS + '_UnSelected';
                    }
                }
            }
            if (Selected == 0) {
                var SelectOption = document.getElementById(clientId + '_0');
                if (SelectOption) {
                    SelectOption.className = contentCSS + '_Selected';
                    var Element = document.getElementById(txtId);
                    NewValue = document.getElementById(clientId + '_0_0').innerHTML;
                    var SecondParam = document.getElementById(clientId + '_0_1');
                    if (SecondParam) {
                        NewValue = NewValue + '.' + SecondParam.innerHTML;
                    }
                    txt.value = ClearTags(NewValue);
                }
            }
        }
    }
}

function HideAutoFill(divId) {
    var pnl = document.getElementById(divId);
    pnl.style.display = 'none';
    pnl.innerhtml = '';
}

function MoveToEnd(txtId) {
    var Element = document.getElementById(txtId);
    if (Element.createTextRange)
        Element.createTextRange().text += "";
    else if (Element.insertionPoint)
        Element.insertionPoint = Element.text.length;
}

document.onclick = CheckClick;
function CheckClick(e) {
    var target = (e && e.target) || (event && event.srcElement);
    var obj = document.getElementById('ctl00_Menu1_s1_divSearchResult');
    if (target != obj) { HideAutoFill('ctl00_Menu1_s1_divSearchResult') }
}

function ClearTags(Input) {
    var NewValue = Input;
    NewValue = RegexReplace('(<b>)', NewValue, '');
    NewValue = RegexReplace('(</b>)', NewValue, '');
    NewValue = RegexReplace('(<a[^/]*>)', NewValue, '');
    NewValue = RegexReplace('(</a[^/]*>)', NewValue, '');
    return NewValue;
}

function RegexReplace(Pattern, Input, Replace) {
    var re = new RegExp(Pattern, "gi");
    var NewValue = Input.replace(re, Replace);
    return NewValue;
}