var __RESULT_KEYWORD_LIST = null;
var __RESULT_POS_IDX = -1;

var __EVENT_EXCEPT_CODE = new Array(9, 17, 18, 19, 20, 27, 33, 34, 35, 36, 37, 39, 45, 144, 145,
															 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123);

var __KEYWORD = "";
var __TIMER_HANDLER = null;


/******************************************************
	Mozilla °è¿­ ºê¶ó¿ìÀú¿¡¼­´Â ÇÑ±ÛÀÇ °æ¿ì,
	keydown ÀÌº¥Æ®°¡ ÇÑ¹ø¸¸ ½ÇÇàµÊ
******************************************************/
function chkSearchKeyword(id) {

	var obj = $("#" + id);
	var val = obj[0].value.replace(/^\s+|\s+$/g, "");	// °Ë»ö¾î ¾çÂÊ ºó°ø¹é Á¦°Å

	if ( val == "" ) {
		initResult();
	} else {
		val = val.replace(/ /g, "&#32;");
		val = val.replace(/\'/g, "&#39;");
		val = val.replace(/\\/g, "&#92;");

		if ( __KEYWORD != val ) {
			__KEYWORD = val;

			autoCompleteSearchKeyword(__KEYWORD);
		}

		if ( __TIMER_HANDLER != null ) {
			clearTimeout(__TIMER_HANDLER);
		}
	}

	__TIMER_HANDLER = setTimeout("chkSearchKeyword('" + id + "')", 10);
}

/********************************************************
	ÀÚµ¿¿Ï¼º °Ë»ö¾î °á°ú ¸®½ºÆ® ÃÊ±âÈ­
********************************************************/
function initResult() {
	__RESULT_KEYWORD_LIST = null;
	__RESULT_POS_IDX = -1;

	searchResultListDisplay('none');
}

/********************************************************
	Á¦¿Ü ÀÌº¥Æ® keyCode Ã¼Å©
********************************************************/
function isCheckKeyCode(evt) {

	for ( var i = 0; i < __EVENT_EXCEPT_CODE.length; i++ ) {
		if ( evt.keyCode == __EVENT_EXCEPT_CODE[i] ) {
			return false;
		}
	}

	return true;
}

/********************************************************
	ÀÚµ¿¿Ï¼º °Ë»ö¾î ¸®½ºÆ® Show/Hidden
********************************************************/
function searchResultListDisplay(disp) {
	$("#autoSearchArea").css('display', disp);
}

/********************************************************
	¼±ÅÃÇÑ °Ë»ö¾î¸¦ °Ë»ö¾î ÀÔ·Â Æû¿¡ Àü´Þ
********************************************************/
function setSearchDispValue(evt_gb, val) {
	document.frmSearch.srch_disp_value.value = val;

	if ( evt_gb == "click" ) {
		searchResultListDisplay('none');
		searchItem();
	}
}

/********************************************************
	»óÇÏ ¹æÇâÅ°¸¦ ´­·¶À» ¶§, °Ë»ö¾î ¼±ÅÃ
********************************************************/
function updownKeyHandler(selectList, idx) {

	if ( idx < 0 ) {
		__RESULT_POS_IDX = -1;
		searchResultListDisplay('none');
	} else {
		searchResultListDisplay('block');

		if ( selectList[idx] ) {
			var searchList = $("#autoSearchList li");

			for ( var i = 0; i < searchList.length; i++ ) {
				if ( i == idx ) {
					searchList[i].style.fontWeight = "bold";
				} else {
					searchList[i].style.fontWeight = "normal";
				}
			}

			setSearchDispValue('keydown', selectList[idx].innerHTML);
		}
	}
}

function autoCompleteSearchKeyword(value) {

	if ( value == "" ) {
		initResult();
	} else {
		requestSearchKeyword(value);
	}
}

/********************************************************
	ÀÚµ¿¿Ï¼º °Ë»ö¾î ¸®½ºÆ® Ajax È£Ãâ
********************************************************/
function requestSearchKeyword(keyword) {
	var srchURL = "/prd/front/search/get_ac.jsp?p=1&q=" + encodeURIComponent(keyword);

	initResult();

	$.ajax({
		url: srchURL,
		type: 'GET',
		dataType: 'script',
		contentType: "application/x-www-form-urlencoded",
		success: function(script) {
			eval(script);
			incPrintKeyword(qs_q, qs_m, qs_ac_list);

			__RESULT_KEYWORD_LIST = $("#autoSearchList li a .sch_word");
		}
	});
}

/********************************************************
	ÀÚµ¿¿Ï¼º °Ë»ö °á°ú ¸®½ºÆ®¸¦ º¸¿©ÁØ´Ù
********************************************************/
function incPrintKeyword(query, pos, arrList) {
	var htmlText = "";
	var listSize = 0;

	searchResultListDisplay('block');

	if ( arrList[0] == "" ) {
		htmlText = "<li>ÇØ´ç ´Ü¾î·Î ½ÃÀÛÇÏ´Â ÃßÃµ¾î°¡ ¾ø½À´Ï´Ù</li>";
		listSize = 1;
	} else {
		for ( var i = 0; i < arrList.length; i++ ) {
			var result = arrList[i];

			if ( result != "" ) {
				var arr = result.split("_");

				var keyword = arr[0].replace(/^\s+|\s+$/g, "");	// Å°¿öµå ¹®ÀÚ¿­ ¾çÂÊ °ø¹éÁ¦°Å
				var cnt = arr[1].replace(/^\s+|\s+$/g, "");			// °Ë»öÈ½¼ö ¹®ÀÚ¿­ ¾çÂÊ °ø¹éÁ¦°Å

				if ( keyword != "" && cnt != "" ) {
					htmlText += "<li><a href=\"javascript:setSearchDispValue('click', '" + keyword + "');\"><span class='sch_word'>" + keyword + "</" + "span></" + "a> <span class=\"sch_cnt\">" + cnt + "È¸</" + "span></" + "li>";
					listSize++;
				}
			}
		}

		if ( htmlText == "" ) {
			htmlText = "<li>ÇØ´ç ´Ü¾î·Î ½ÃÀÛÇÏ´Â ÃßÃµ¾î°¡ ¾ø½À´Ï´Ù</li>";
			listSize = 1;
		}
	}

	var height = listSize * 15;

	$("#autoSearchList").css('height', height + "px");
	$("#autoSearchList")[0].innerHTML = htmlText;
}
