﻿var SuggestionDIVName = "search_suggest";
var suggestNumber=0;
var oSearchValue ="";
var InputBoxObj;
var selectedDiv;
var isIEBrowser;

function getSuggestion(obj,evt) {
    if(navigator.appName.indexOf("Explorer") > -1){ 
　　    isIEBrowser = true;
    } else{ 
　　    isIEBrowser = false;
    } 

    if(evt == null) {
　　    evt = window.event; // For IE 
　　}

    var inputStr=obj.value;
    InputBoxObj = obj;
    if(evt.keyCode != 37 && evt.keyCode != 38 && evt.keyCode != 39 && evt.keyCode != 40 ){
        if(inputStr==null || inputStr=="") {
            document.getElementById(SuggestionDIVName).innerHTML = ''; 
            document.getElementById(SuggestionDIVName).style.display = "none";
            selectedDiv = null;
            return;
        }
        selectedDiv = null;
        inputStr = escape(inputStr);
        doBackgroundAccess(1, inputStr, setDataToSuggestion);
    }
}

function setDataToSuggestion(data) {
        var str = data.split("\t"); 
        var ss = document.getElementById(SuggestionDIVName); 
        ss.innerHTML = ''; 
        if(str.length <= 1) {
            ss.style.display = "none";
        } else {
            ss.style.display = "";
            if (navigator.userAgent.indexOf("Mac") > -1) {
                ss.style.top = "30px";
            } else {
                ss.style.top = "auto";
            }
        }
        ss.innerHTML += "<iframe id=\"content01\" name=\"content01\" style=\"position:absolute;z-index:-1;width:262px;top:0;left:0;scrolling:no;\" frameborder=\"0\" src=\"about:blank\"></iframe>";
        var divHeight=0;
        for(i=0; i < str.length - 1; i++) { 
            var suggest = '<div id="divSuggestMessage'+ i +'" onmouseover="javascript:suggestOver(this);" '; 
            suggest += 'onmouseout="javascript:suggestOut(this);" '; 
            suggest += 'onclick="javascript:setSearch(this.innerHTML);" '; 
            suggest += 'class="suggest_link">' + str[i] + '</div>'; 
            ss.innerHTML += suggest; 
        }
        suggestNumber = i;
        var frm = document.getElementById("content01");
        for(i=0; i<suggestNumber; i++) {
                var divId="divSuggestMessage"+i;
                var divObj = document.getElementById(divId);
                var hh = divObj.offsetHeight;
                divHeight += hh;
        }
        frm.height = divHeight;

        if (suggestNumber > 0) {
            selectedDiv = document.getElementById('divSuggestMessage0');
            selectedDiv.className = 'suggest_link_over';
        }
}

//Mouse over function 
function suggestOver(div_value) { 
    if(selectedDiv != null) {
        selectedDiv.className = 'suggest_link'; 
    }
    selectedDiv = div_value;
    selectedDiv.className = 'suggest_link_over'; 
} 
//Mouse out function 
function suggestOut(div_value) { 
    div_value.className = 'suggest_link'; 
    if(selectedDiv != null) {
        selectedDiv.className = 'suggest_link'; 
        selectedDiv = null;
    }
} 
//Click function 
function setSearch(invalue) { 
    var colorStart1 = "<FONT color=red>";
    var colorEnd1 = "</FONT>";
    var colorStart2 = "<font color=\"red\">";
    var colorEnd2 = "</font>";
    
    invalue = invalue.replace(new RegExp(colorStart1,"g"),"");
    invalue = invalue.replace(new RegExp(colorEnd1,"g"),"");
    invalue = invalue.replace(new RegExp(colorStart2,"g"),"");
    invalue = invalue.replace(new RegExp(colorEnd2,"g"),"");
    InputBoxObj.value = invalue;
    document.getElementById(SuggestionDIVName).innerHTML = ''; 
    document.getElementById(SuggestionDIVName).style.display = "none";
    selectedDiv = null;
    var btn;
    var flg = document.getElementById("ctl00_ContentPlaceHolder1_Hid_ClickFlg").value;
    if (flg == "1") {
        btn = document.getElementById("ctl00_ContentPlaceHolder1_Btn_Search");
    } else if (flg == "2") {
        btn = document.getElementById("Imb_Search");
        Search();
    }
    if (document.addEventListener) {
        window.setTimeout(function() { btn.focus(); }, 0);
    } else {
        btn.focus();
    }
} 
//Lost focus
function hideSuggest() {
    document.getElementById(SuggestionDIVName).style.display = "none";
    selectedDiv = null;
}

function keyDown(textBoxObj,evt){
    if(evt == null) {
　　    evt = window.event; // For IE 
　　}

    var change = 0;

    if (suggestNumber == 0) {
        if (evt.keyCode == 13) {
            var btn;
            var flg = document.getElementById("ctl00_ContentPlaceHolder1_Hid_ClickFlg").value;
            if (flg == "1") {
                btn = document.getElementById("ctl00_ContentPlaceHolder1_Btn_Search");
                if (document.addEventListener) {
                    evt.preventDefault(); //for firefox
                    window.setTimeout(function() { btn.focus(); }, 0);
                    btn.click();
                } else {
                    evt.returnValue = false;
                    btn.focus();
                    btn.click();
                }
                return;
            } else if (flg == "2") {
                btn = document.getElementById("Imb_Search");
                if (document.addEventListener) {
                    evt.preventDefault(); //for firefox
                    window.setTimeout(function() { btn.focus(); }, 0);

                } else {
                    evt.returnValue = false;
                    btn.focus();
                }
                document.getElementById("ctl00_ContentPlaceHolder1_Hid_NextPage").value = "S";
                document.forms["aspnetForm"].submit();
                return;
            }
        }
        return;
    }

    if(evt.keyCode == 38){   // UP
        change = -1;
    }
    if(evt.keyCode == 40){   // DOWN
        change = 1;
    }

    if(change != 0) {
        if(selectedDiv==null) {
            selectedDiv = document.getElementById('divSuggestMessage0');
        } else {
            selectedDiv.className = 'suggest_link';
            id = selectedDiv.id.substring(17);
            var newid = (Number(id) + suggestNumber + change) % suggestNumber;
            selectedDiv = document.getElementById('divSuggestMessage' + newid);
           
        }
        selectedDiv.className = 'suggest_link_over';
    }

    if (evt.keyCode == 13) {   // RETURN
        if (selectedDiv == null) {
            var btn;
            var flg = document.getElementById("ctl00_ContentPlaceHolder1_Hid_ClickFlg").value;
            if (flg == "1") {
                btn = document.getElementById("ctl00_ContentPlaceHolder1_Btn_Search");
                if (document.addEventListener) {
                    evt.preventDefault(); //for firefox
                    window.setTimeout(function() { btn.focus(); }, 0);
                    btn.click();
                } else {
                    evt.returnValue = false;
                    btn.focus();
                    btn.click();
                }
                return;
            } else if (flg == "2") {
                btn = document.getElementById("Imb_Search");
                if (document.addEventListener) {
                    evt.preventDefault(); //for firefox
                    window.setTimeout(function() { btn.focus(); }, 0);

                } else {
                    evt.returnValue = false;
                    btn.focus();
                }
                document.getElementById("ctl00_ContentPlaceHolder1_Hid_NextPage").value = "S";
                document.forms["aspnetForm"].submit();
                return;
            }
        }
        setSearch(selectedDiv.innerHTML);
        if (window.event) {
            evt.returnValue = false;
        } else {
            evt.preventDefault(); //for firefox
        }
        document.getElementById(SuggestionDIVName).style.display = "none";
        var btn;
        var flg = document.getElementById("ctl00_ContentPlaceHolder1_Hid_ClickFlg").value;
        if (flg == "1") {
            btn = document.getElementById("ctl00_ContentPlaceHolder1_Btn_Search");
            if (document.addEventListener) {
                evt.preventDefault(); //for firefox
                window.setTimeout(function() { btn.focus(); }, 0);
                btn.click();
            } else {
                evt.returnValue = false;
                btn.focus();
                btn.click();
            }
            return;
        } else if (flg == "2") {
            btn = document.getElementById("Imb_Search");
            if (document.addEventListener) {
                evt.preventDefault(); //for firefox
                window.setTimeout(function() { btn.focus(); }, 0);

            } else {
                evt.returnValue = false;
                btn.focus();
            }
            document.getElementById("ctl00_ContentPlaceHolder1_Hid_NextPage").value = "S";
            document.forms["aspnetForm"].submit();
            return;
        }
    }
    
    if(evt.keyCode ==27 ){   // ESC
        if(window.event) {
            evt.returnValue = false;
        } else {
            evt.preventDefault();//for firefox
        }
        textBoxObj.value =oSearchValue ;
        document.getElementById('search_suggest').innerHTML = '';
        document.getElementById('search_suggest').className = '';
    }
}


