

    var xmlHttp, title;
    var serch;
    var results, resultsTable, resultsBody;
    var num;

    document.onclick = pageClick;
    function pageClick() {
        //È­¸é Å¬¸¯ ½Ã, ÀÚµ¿¿Ï¼º Ã¢ÀÌ ¶° ÀÖ´Ù¸é ´Ý´Â´Ù.
        
        if (results && results.style.display != "none")
            results.style.display = "none";

    }

    /* CreateXMLHttpRequest()
    ajax°³³äÀÇ °´Ã¼¸¦ »ý¼ºÇÑ´Ù.
    ºê¶ó¿ìÀúÀÇ È£È¯¼ºÀ» À§ÇØ¼­ microsoftÀÇ Internet Explorer¿Í
    ±× ¿ÜÀÇ ºê¶ó¿ìÀú(¸ðÁú¶ó, ...)·Î ³ª´©¾îÁø´Ù.*/
    function createXMLHttpRequest() {
        if (window.ActiveXObject) {	/* Internet Explorer ºê¶ó¿ìÀúÀÏ ¶§ ajax °´Ã¼ »ý¼º */
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        else if (window.XMLHttpRequest) {	/* ±× ¿ÜÀÇ ºê¶ó¿ìÀú ÀÏ ¶§ ajax °´Ã¼ »ý¼º */
            xmlHttp = new XMLHttpRequest();
        }
    }

    /* init()
    htmlÀÇ ¿¤¸®¸ÕÆ®µéÀ» domScript ¹®¹ýÀ¸·Î °´Ã¼È­. */
    function init() {
        serch = document.getElementById("str_search_word"); /* text ¿¤¸®¸ÕÆ® */
        results = document.getElementById("results"); /* div ¿¤¸®¸ÕÆ® */
    }

    /* handleStateChange()
    ajax °´Ã¼¸¦ ´ãÀº xmlHttp°¡ Àß Á¢¼ÓµÇ¾ú´ÂÁö È®ÀÎÇÑ´Ù.
    Á¢¼Ó ÈÄ °á°ú´Â xmlHttp¿¡ ´ã±ä´Ù. */
    function handleStateChange() {
        if (xmlHttp.readyState == 4) {	/* Á¢¼ÓÀÌ ¾çÈ£ÇÑÁö È®ÀÎ. */
            if (xmlHttp.status == 200) {	/* °á°ú°¡ ¾çÈ£ÇÑÁö È®ÀÎ. */
                var str = xmlHttp.responseText; /* ¼­¹öÃø ÆäÀÌÁö¿¡¼­ Ãâ·ÂÇÑ ¹®¼­µéÀ» text Çü½ÄÀ¸·Î ¹Þ¾Æ¿Í str¿¡ ´ã´Â´Ù. */

                title = str.split("/"); /* str¿¡ ´ã±ä ¹®ÀÚ¿­À» '/'¸¦ ±âÁØÀ¸·Î ¹è¿­È­ ÇÏ¿© title¿¡ ´ã´Â´Ù. */
                title.pop(); /* ¸¶Áö¸·¿¡ ´ã±ä ¹è¿­À» »èÁ¦ÇÑ´Ù. */

                clear(); /* ÀÌÀü¿¡ °Ë»öµÈ °á°úµé »èÁ¦ÇÑ´Ù. */
                setSerch(); /* °Ë»öµÈ °á°ú¹°À» Ãâ·ÂÇÑ´Ù. */
            }
        }
    }

    /* startRequest()
    ¼­¹öÃø¿¡ ¿¬°áÇÑ´Ù. */
    function startRequest() {
        init(); /* ¿¤¸®¸ÕÆ®µéÀ» ÃÊ±âÈ­ ÇÑ´Ù. */

        if (serch.value.length > 0) {	/* serch(text)°´Ã¼ÀÇ °ªÀÌ ÀÖÀ¸¸é */
            if (event.keyCode == 40) {	/* Å°º¸µåÀÇ ´­¸° °ªÀÌ ¡é ÀÌ¸é */
                results.childNodes[0].focus(); /* resultsÀÇ ÀÚ½Äµé Áß¿¡ Ã¹¹øÂ°(¹è¿­0)¿¡ focus¸¦ ¸ÂÃá´Ù. */
                return;
            }

            createXMLHttpRequest(); /* ajax °´Ã¼¸¦ »ý¼ºÇÏ¿© xmlHttp¿¡ ´ã´Â´Ù. */
            xmlHttp.onreadystatechange = handleStateChange; /* Áõ¿äÇÑ ºÎºÐÀÎµ¥ ¹®¹ýÀÌ Á» Æ¯ÀÌÇØ¼­ ÀÌÇØ¸¦ ¸ø ÇÏ°Ú´Ù.
								handleStateChange´Â ÇÔ¼öÀÌÁö¸¸ ()¸¦ »ç¿ëÇÏÁö ¾Ê°í »ç¿ëÇÑ´Ù´Â Á¡°ú
								onreadystatechange°¡ ¾î¶² °á°ú¸¦ ´ã´Â °ÍÀÎÁö ¸ð¸£°Ú´Ù.*/

            url = "/KO/Common/serch.asp?serch=" + serch.value; /* ¼­¹öÃø ÆäÀÌÁö¸¦ È£ÃâÇÏ±â À§ÇØ ¹®ÀÚ¿­À» »ý¼ºÇÑ´Ù.(QueryString) */

            xmlHttp.open("GET", url, true); /* ¿¬°á¹æ½Ä, ÁÖ¼Ò, µ¿±âÈ­/ºñµ¿±âÈ­¸¦ ¶æÇÑ´Ù. false´Â µ¿±âÈ­ true´Â ºñµ¿±âÈ­ÀÌ´Ù.
						µ¿±âÈ­´Â È­¸éÀ» °»½Å(f5 ºñ½ÁÇÑ°Å)ÇØÁÖ´Â °ÍÀÌ±â ¶§¹®¿¡
						ajaxÀÇ º»·¡ ÀÇ¹Ì¿Í´Â ¸ÂÁö ¾Ê´Ù°í »ý°¢ÇÑ´Ù. 
						¼­¹öÃø ÆäÀÌÁö¿Í ¿¬°áÇÑ´Ù. */
            xmlHttp.send(null); /* QueryStringÀÏ ¶§´Â °ªÀ» ´ãÁö ¾Ê´Â´Ù. post¹æ½Ä ÀÏ °æ¿ì¿¡´Â °ªÀ» ´ãÀ¸³ª
										Á¤È®È÷ ¾î¶² °ªÀÎÁö ¾ÆÁ÷ ¸ð¸£°Ú´Ù. */
        }
        else {
            clear(); /* serch(text) °´Ã¼ÀÇ °ªÀÌ ¾øÀ¸¸ç °Ë»ö°á°ú¸¦ ÃÊ±âÈ­ÇÑ´Ù. */
        }
    }

    /* setSertch()
    °Ë»öµÈ °á°ú¸¦ Ãâ·ÂÇÑ´Ù. */
    function setSerch() {
        for (i = 0; i < title.length; i++) {	/* ¹è¿­·Î ¸¸µé¾ú´ø titleÀÇ ¹è¿­°¹¼ö¸¸Å­ ¹Ýº¹ÇÑ´Ù. */
            var div = document.createElement("div"); /* div¿¤¸®¸ÕÆ®¸¦ °´Ã¼·Î »ý¼ºÇÏ¿© div¿¡ ´ã´Â´Ù. */

            div.id = i; /* divÀÇ id°ª ¼³Á¤. */
            //div.style.height = '10px'; /* divÀÇ style Áß height °ªÀ» ¼³Á¤ÇÑ´Ù. */
            div.style.width = '202px'; /* style height */
            div.style.border = 'solid 0px gray'; 1	/* border */
            div.onfocus = function() { focusDiv(this); } /* div¿¡ focus°¡ ¸ÂÃçÁø´Ù¸é focusDiv() ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. */
            div.onblur = function() { blurDiv(this); } /* div¿¡ blur°¡ ¸ÂÃçÁø´Ù¸é blurDiv() ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. */
            div.onkeyup = function() { keyUpDiv(results.childNodes); } /* div¿¡ key°¡ ´­¸°´Ù¸é keyUpDivÇÔ¼ö¸¦ È£ÃâÇÏ¸ç
									  ÀÎÀÚ°ªÀ¸·Î resultsÀÇ ÀÚ½ÄµéÀ» ¹è¿­·Î ³Ñ±ä´Ù. */
            div.appendChild(document.createTextNode(title[i])); /* div¿¡ ÀÚ½Äµé·Î title[i]¸¦ ³Ö´Â´Ù. */
            results.appendChild(div); /* resultsÀÇ ÀÚ½ÄÀ¸·Î div¸¦ ³Ö´Â´Ù. */
        }

        results.style.display = "block";
        results.style.backgroundColor = "white";
        results.style.height = "210px";
        results.style.overflow = "scroll";  //overflow
        results.style.width = "140px";
        results.style.overflow = "auto";  //overflow
        results.style.textAlign = "left";
        
    }

    /* focusDiv( div )
    div¿¡ focus°¡ ¸ÂÃçÁú °æ¿ì
    serchÀÇ °ªÀ» ÀÚ½ÅÀÇ °ªÀ¸·Î Ã¤¿ì°í
    backgroundÀÇ °ª°ú ±ÛÀÚ »öÀ» º¯°æÇÏ¸ç ÀÚ½ÄÀÇ id°ªÀ» num¿¡°Ô ³Ñ±ä´Ù. */
    function focusDiv(div) {
        serch.value = div.firstChild.nodeValue; /* serchÀÇ °ªÀ» ÀÚ½ÅÀÇ °ªÀ¸·Î Ã¤¿î´Ù. */
        div.style.background = 'gray'; /* backgroundÀÇ °ªÀ» gray·Î º¯°æÇÑ´Ù. */
        div.style.color = 'white'; /* colorÀÇ °ªÀ» white·Î º¯°æÇÑ´Ù. */
        num = parseInt(div.id); /* div.idÀÇ °ªÀ» ¼ýÀÚÇüÀ¸·Î º¯°æÈÄ num¿¡ ³Ö´Â´Ù. */
    }

    /* blurDiv( div ) */
    function blurDiv(div) {
        div.style.background = 'white';
        div.style.color = 'black';
    }

    /* keyUpDiv( div )
    Å°°¡ ´­¸± °æ¿ì focus¸¦ º¯°æÇÑ´Ù. */
    function keyUpDiv(div) {
        if (event.keyCode == 38 && num != 0) {	/* numÀÌ 0ÀÌ ¾Æ´Ï°í À§ ¹æÇâÅ°¸¦ ´©¸£¸é */
            div[num - 1].focus(); /* focus°¡ À§·Î ¿Ã¶ó°£´Ù. */
        }
        else if (event.keyCode == 40 && num != title.length - 1) {	/* numÀÌ titleÀÇ ¹è¿­¼ö -1 °ú °°Áö ¾ÊÀ¸¸é */
            div[num + 1].focus(); /* focus°¡ ¾Æ·¡·Î ³»·Á°£´Ù. */
        }
        else if (event.keyCode == 13) { /* ¿£ÅÍÀÌ¸é ·¹ÀÌ¾î¸¦ ´Ý´Â´Ù */
            clear();
        }

    }

    /* clear()
    resultsÀÇ ÀÚ½ÄµéÀ» »èÁ¦ÇÑ´Ù. */
    function clear() {
        for (i = results.childNodes.length - 1; i >= 0; i--)	/* resultsÀÇ ÀÚ½Ä¼ö-1ÀÇ °ªÀ» i¿¡ ³Ö¾î i°¡ 0ÀÌ µÉ¶§±îÁö ¹Ýº¹ */
            results.removeChild(results.childNodes[i]); /* resultsÀÇ ÀÚ½ÄÀ» »èÁ¦ÇÑ´Ù. */
    }
